首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

博客中,关注博主事件的发布与通知

需求描述

在博客项目中,有个功能叫关注博主,用户关注博主后,博主收到用户关注的通知,而用户可以在博主发布文章的第一时间订阅文章。

需求分析

从上面的描述中可以知道,这个功能设计到两个主体,用户和博主。

用户关注博主之后会干两件事:

1、关联用户与博主

2、发送关注通知给博主

而博主发布文章之后也会有两件事:

1、发布文章到自己的栏目

2、通知所有的订阅用户

设计难点

这个功能的实现难点其实不多,就是一个发布订阅事件,注意一下用户与博主的关联。因为如果关注的用户太多,同步处理发布文章与通知用户的逻辑的话,会比较耗时,因此可以使用消息队列来处理。

技术选型

1、发布订阅可以使用消息队列来做到,比如各种mq;(分布式建议使用)

2、redis也有发布订阅的功能。(分布式建议使用)

3、如果只是简单的单机运用,没有涉及到很高的并发的话可以使用spring的事件模型ApplicationEvent。

4、Guava的EventBus事件总线

逻辑整理

这里使用一种简单的单机实现Spring的事件模型ApplicationEvent。

第一步、分别自定义订阅和通知事件,继承ApplicationEvent

第二步、分别定义事件监听器,实现ApplicationListener

第三步、使用容器发布事件(订阅事件、通知事件)

代码实现

比如说有人喜欢博主的文章的通知事件

第一、定义通知事件

第二步、实现ApplicationListener,重写onApplicationEvent,对事件内容进行对对应的业务逻辑处理,并把事件的结果保存到数据库中。代码中的send(Event)方法就是做保存的方法。

第三步、使用ApplicationContext容器发布事件。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180827A0YUCY00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券