学习目标
【了解】消息通知系统的业务场景
【了解】消息通知和即时通讯区别
【实现】消息通知微服务的基本功能
文章目录
一 消息通知的业务场景
消息通知微服务的定位是“平台内”的“消息”功能,分为全员消息,订阅类消息,点对点消息。例如系统通知,私信,@类消息
- 全员消息
系统通知,活动通知,管理员公告等全部用户都会收到的消息
- 订阅类消息
关注某一类数据的用户,该类数据有更新时向用户发送的消息。例如关注某位大v的微博,公众号,订阅某位知名作家的专栏
- 点对点消息
某位用户对另外一位用户进行操作后,系统向被操作的用户发送的消息。例如点赞,发红包。
二 消息通知与即时通讯的区别
三 搭建消息通知微服务
3.1 业务分析
用户可以对文章作者进行订阅,当被订阅的用户发布新的文章时,可以通过消息通知系统发送消息给订阅者。
流程如下:
3.2 表结构分析
十次方消息通知微服务总共需要两张数据库表,tb_notice 和 tb_notice_fresh。
- 消息通知表 tb_notice
保存用户的消息通知
- 待推送消息表 tb_notice_fresh
保存准备推送给用户的消息通知
3.2 搭建消息通知微服务
- 在tensquare_parent父工程下创建tensquare_notice子模块
- 修改pom.xml文件,添加下面的配置
<dependencies>
<!-- mybatis-plus begin -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>${mybatisplus-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatisplus.version}</version>
</dependency>
<!-- mybatis-plus end -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.9</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.Tony</groupId