一、课程介绍
【课程名称】SpringBoot 2.x 实战仿B站高性能后端项目。
【章节】第三章3.24、3.25、3.26
【讲师】HELLOSTAR
二、课程内容
目的:实现动态提醒功能
数据库表:用户动态表
相关实现接口:用户发布动态、用户查询订阅内容的动态
设计模式:订阅发布模式
实现技术:RocketMQ消息队列、Redis数据库
订阅发布模式介绍
使用场景:
当我们在浏览视频时,遇到感兴趣的up主, 我们通常会选择去订阅他们的频道或者内容。 这样一来,每当他们发布一个新的内容, 平台就会通知我们, 我们便可以在第一时间了解到这一讯息, 至于是否选择第一时间阅读, 则却决于我们自己。
主要角色:
发布者、代理、订阅者
模式解释:
称为发布者的消息发送者不会将消息直接发送给订阅者,这意味着发布者和订阅者不知道彼此的存在。在发布者和订阅者之间存在第三个组件,称为代理或调度中心,它维持着发布者和订阅者之间的联系,过滤所有发布者传入的消息并相应地分发它们给订阅者。
订阅发布模式与观察者模式之间的区别
三、课程收获
23种开发设计模式中只有观察者模式。订阅发布模式是观察者模式变化而来的模式。两者相似但不完全一致。
订阅发布模式优点
灵活,订阅发布模式的发布者和订阅者是解耦的,只要引入订阅发布模式的事件中心,无论在何处都可以发布订阅。同时订阅发布者相互之间不影响。支持多系统的消息推送
订阅发布模式缺点
结构更加复杂,代码不好维护。
观察者模式优点
结构简单,消息发布之后就能通知到订阅者
观察者模式缺点
观察者和主题之间是耦合的,相比订阅发布模式来说不够灵活。观察者模式需要同时引入观察者和主题才能实现通知。
四、学习过程
共同学习,写下你的评论
评论加载中...
作者其他优质文章