publish/subscribe
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了publish/subscribe相关的知识,希望对你有一定的参考价值。
Pub/Sub功能
Pub/Sub功能(means Publish, Subscribe)即发布及订阅功能。基于事件的系统中,Pub/Sub是目前广泛使用的通信模型,它采用事件作为基本的通信机制,提供大规模系统所要求的松散耦合的交互模式:订阅者(如客户端)以事件订阅的方式表达出它有兴趣接收的一个事件或一类事件;发布者(如服务器)可将订阅者感兴趣的事件随时通知相关订阅者。
Pub/Sub机制
1. 时间非耦合:发布者和订阅者不必同时在线,它们不必同时参与交互。
2. 空间非耦合:发布者和订阅者不必相互知道对方所在的位置。发布者通过事件服务发布事件,订阅者通过事件服务间接获得事件。发布者和订阅者不需要拥有直接到对方的引用,也不必知道有多少个订阅者或者是发布者参与交互。
3. 同步非耦合:发布者/订阅者是异步模式。发布者可不断地生产事件,而订阅者(通过一个回调)则可异步地得到产生事件的通知。
分类:
按照订阅方式分为基于主题(topic-based)、基于内容(content-based)、基于类型(type-based)的pub/sub方式。
Pub/Sub是可适用于可扩展要求高、松散耦合系统的分布式交互模型。
在抽象层中,它的时间非耦合、空间非耦合和同步非耦合性可允许参与者不依赖另一个而独立操作,具有一定的可扩展性;然而在实现层,可扩展性仍受其他原因的牵制。
例如:1、灵活的订阅要求复杂的过滤和路由算法;
2、高可用性开销(事件侦听、日志重传);
3、消息认可带来的网络流量消耗;
4、庞大的订阅者数据带来的系统开销;
基于事件的Pub/Sub中间件的开发与利用在一定程度上可以提高系统的效率。
以上是关于publish/subscribe的主要内容,如果未能解决你的问题,请参考以下文章