手记

【九月打卡】第8天 订阅与发布模式

一、课程介绍

    【课程名称】SpringBoot 2.x 实战仿B站高性能后端项目。

    【章节】第三章3.24、3.25、3.26  

    【讲师】HELLOSTAR


二、课程内容

    目的:实现动态提醒功能

    数据库表:用户动态表

    相关实现接口:用户发布动态、用户查询订阅内容的动态

    设计模式:订阅发布模式

    实现技术:RocketMQ消息队列、Redis数据库


 订阅发布模式介绍

    使用场景:

    当我们在浏览视频时,遇到感兴趣的up主, 我们通常会选择去订阅他们的频道或者内容。 这样一来,每当他们发布一个新的内容, 平台就会通知我们, 我们便可以在第一时间了解到这一讯息, 至于是否选择第一时间阅读, 则却决于我们自己。

    主要角色:

        发布者、代理、订阅者

    模式解释:

        称为发布者的消息发送者不会将消息直接发送给订阅者,这意味着发布者和订阅者不知道彼此的存在。在发布者和订阅者之间存在第三个组件,称为代理或调度中心,它维持着发布者和订阅者之间的联系,过滤所有发布者传入的消息并相应地分发它们给订阅者。

    订阅发布模式与观察者模式之间的区别


三、课程收获

    23种开发设计模式中只有观察者模式。订阅发布模式是观察者模式变化而来的模式。两者相似但不完全一致。

    订阅发布模式优点

        灵活,订阅发布模式的发布者和订阅者是解耦的,只要引入订阅发布模式的事件中心,无论在何处都可以发布订阅。同时订阅发布者相互之间不影响。支持多系统的消息推送

    订阅发布模式缺点

        结构更加复杂,代码不好维护。

    观察者模式优点

        结构简单,消息发布之后就能通知到订阅者

    观察者模式缺点

        观察者和主题之间是耦合的,相比订阅发布模式来说不够灵活。观察者模式需要同时引入观察者和主题才能实现通知。


四、学习过程

    




    




    

0人推荐
随时随地看视频
慕课网APP