解释WIB 是什么之前,先回顾以下我们前面的各种服务工作方式。前面的各种服务的工作方式都是请求/应答方式。

客户端发送请求,服务器端根据客户端的请求,返回相应的结果。这种方式是一种顺序式访问,是一种紧耦合的方式。

服务器被动接受访问,服务器无法直接给客户端发消息。针对这种情况出现了发布/订阅方式。现在这种方式很热呀!

发布/订阅方式类似出版社发行杂志,出版社每年要求大家订阅杂志,当你订阅后,每月到时,不管你有没有问,

杂志都会准时送到你家门口。对于计算机系统类似,当你订阅了服务器上的某种消息后,不管你是否一直访问?当服

务器上的这个消息来时,客户端就会自动触发消息事件。客户端就可以针对该消息进行相应的处理。

每一个发布者与订阅者连接在一个虚拟的总线上,这个总线就叫WIB(Wide Information Bus).叫Information Bus,

是因为这是一个虚拟的信息传输通道。wide 是因为这个总线可以传输任何KbmMW 识别的数据类型。比如说数组、流、

数据集等等。

任何连接在WIB 上的服务器或者客户端都可能作为发布者或者是订阅者,因此在WIB 里面不再区分服务器与客户端,

统一将他们称为节点(nodes).任何节点都可以生产或者消费消息。

WIB 既可以在一个局域网内,也可以跨越到intranet,乃至这个internet 上。

下图是一个典型的多网段的发布/订阅方式的原理图

上图中所有的服务器与PC 都是节点。当然有的只发布信息,有的只接受信息,有的即发布信息也接受信息。既然是发布/订阅方式,作为双方通信,

肯定就要一个主题(subject). 发布者发布主题,订阅者订阅主题。当发布者发布一个主题时,根据订阅者的要求。发送到对应的订阅者。

在KBM中,主题是一个支持通配符的字符串组成的,类似上面图里面的MSG.A.B.C,每个. 表示不同的消息划分。主题的开始必须是这些

打头的:MSG, REQ, RES, SUB, USB, CAC,THR, SRV。

先简单的说一下消息匹配的方式,比如说发布的主题为: MSG.F.G, 那么订阅者可以订阅MSG.F.G, 也可以订阅MSG.*.G

也可以订阅MSG.F.>   . 上面三种方式都可以收到订阅的消息。

最新文章

  1. 【工具】清理Windows Installer冗余文件(支持64位NT6.x系统)
  2. Eclipse Plug-in Hello world
  3. HDU3870 Catch the Theves(平面图最小割转最短路)
  4. HTML5与移动端web学习笔记
  5. .Net并行编程
  6. css3 切换贞动画的效果,仿gif效果
  7. log4Net使用的四个步骤
  8. Swift - UIView的常用属性和常用方法总结
  9. 百度地图SDK for Android v2.1.2全新发布
  10. Adapter接口及实现类
  11. VMWare下ubuntu无法全屏的问题解决
  12. Lucence
  13. JavaScript中的this基本问题
  14. 数据恢复培训资料:BMP文件详解
  15. [Swift]LeetCode973. 最接近原点的 K 个点 | K Closest Points to Origin
  16. C++实验:时间和日期类
  17. python—查找以XXX结尾的文件
  18. 为什么react的组件要super(props)
  19. Javascript中的undefined、null、""、0值和false的区别总结
  20. RESTful Web Service 架构

热门文章

  1. J2SE 8的输入输出--缓冲
  2. 可视化库-seaborn-多变量分析绘图(第五天)
  3. H5 缓存机制解析
  4. ubuntu下安装jdk,tomcat,mysql,ftp,telnet,svn
  5. Swagger+ springfox +Spring mvc
  6. java内存模型:简单理解
  7. 西南交通大学结构服役安全及力学基础创新团队在Wiley出版英文专著(转载)
  8. 230. Kth Smallest Element in a BST 找到bst中的第k小的元素
  9. swift VFL - 父视图是scrollview 注意点
  10. 查找ipa包,删除接的ipa包