系统里使用到的发布订阅功能

简介: 列举系统里使用到的发布订阅功能以及使用发布订阅功能的好处

做后台系统开发,跨进程通信除了发请求实现以外,还有一种方式就是发布订阅模式,列举项目实战中的几个用到消息发布订阅模式的场景:一、做照片采集的时候,将照片信息存库,并且需要把照片信息提交给第三方服务做照片解析工作。二、从第三方接收到推送消息,将消息按照分类字段推送给系统的不同业务服务做分发处理。三、发送邮件通知或者短信通知。这是脑海里处理过的印象比较深刻的三个场景。有人会问,可以通过HTTP请求的方式去调用处理的程序处理上面的数据达到一样的目的呢?下面就要谈谈消息发布订阅模式的好处了。

消息发布订阅是一种软件架构模式,用于在分布式系统中处理事件驱动的通信。它的作用是将系统中的各个部分解耦,让它们可以独立地进行工作,而不必直接互相通信。这种解耦可以带来以下几个好处:

1、松耦合:通过发布订阅模式,各个组件之间的关系变得松散,降低了它们之间的耦合度,使得系统更容易维护和扩展。

2、可扩展性:由于各个组件之间的解耦,新的组件可以更容易地添加到系统中,而不必修改已有的代码。

3、异步通信:消息发布订阅模式使得异步通信成为可能,组件之间可以通过消息进行通信,而不必等待对方的响应。

4、可靠性:消息发布订阅模式可以提高系统的可靠性,因为它可以处理系统中各个部分之间的故障。

5、可测试性:发布订阅模式使得系统的不同部分可以独立测试,从而提高了系统的可测试性。

结合我们上面列举的几个应用场景,首先消息订阅模式起到了松散耦合的目的,保证了系统的可扩展性,不需要同步获取响应,达到了异步通信的效果,可靠性方面需要通过程序逻辑去保证,可测试性本身也不是发布订阅模式特有的,是靠程序设计保证的。

说完上述的场景和理论,就是具体实现了,可以实现消息发布订阅模式的中间件比较多,有kafka,activemq,rabbitmq,redis等,可以根据项目需要和团队喜好进行选择。

目录
相关文章
|
6月前
|
消息中间件 存储 Cloud Native
揭秘发布订阅模式:让消息传递更高效
揭秘发布订阅模式:让消息传递更高效
揭秘发布订阅模式:让消息传递更高效
|
5月前
|
消息中间件 存储 监控
中间件消息发布者功能特性
【6月更文挑战第11天】
46 5
|
5月前
|
消息中间件 存储 架构师
|
5月前
|
存储 负载均衡 安全
中间件消息发布-订阅模式
【6月更文挑战第9天】
114 5
|
传感器 负载均衡 物联网
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
MQTT v5共享订阅是怎么回事?如何使用共享订阅提高消息订阅的灵活性和可伸缩性?
473 1
|
消息中间件 Java Maven
消息中间件系列教程(07) -RabbitMQ -案例代码(点对点队列模式)
消息中间件系列教程(07) -RabbitMQ -案例代码(点对点队列模式)
69 1
|
消息中间件 存储 Java
消息中间件系列教程(09) -RabbitMQ -案例代码(发布订阅模式)
消息中间件系列教程(09) -RabbitMQ -案例代码(发布订阅模式)
63 0
|
消息中间件 Java Maven
消息中间件系列教程(03) -ActiveMQ -点对点&发布订阅模式
消息中间件系列教程(03) -ActiveMQ -点对点&发布订阅模式
95 0
|
消息中间件 缓存 NoSQL
探索Redis发布订阅与消息队列:构建实时消息通信系统
本篇深入探讨了Redis的发布订阅模式和消息队列功能,展示了如何使用这两个特性构建实时消息通信系统。我们首先介绍了Redis的发布订阅模式,演示了如何通过PUBLISH命令将消息发布到特定频道,并使用SUBSCRIBE和UNSUBSCRIBE命令进行订阅和取消订阅操作。
564 0
|
6月前
|
设计模式 Dart JavaScript
发布订阅模式原理及其应用(多种语言实现)
发布订阅模式原理及其应用(多种语言实现)
187 0