2 个版本
0.1.4 | 2019 年 10 月 4 日 |
---|---|
0.1.3 | 2019 年 9 月 24 日 |
#13 in #message-bus
23KB
414 行
Rust 消息总线 - 一个通用的发布/订阅库 - 正在开发中 - 尚未完成
msgbus
msgbus
提供了在频道(或总线)上发布消息和在频道上订阅以接收该频道上发布的所有消息的能力。为了支持可扩展性,当您首次注册以在该频道上发布时,您会指示所需的带宽类型。整个消息总线由消息管理器(msgmgr)管理,msgmgr 将配置各种传输功能。
工作原理
消息总线是一种通用通信机制,它具有发布者(许多客户端可以在给定的总线上发布)和订阅者(许多客户端可以订阅给定的总线)之间的多对多关系。在一个可以有多个总线的实现中,我们可以根据需要为一对一、一对多和多对一关系设置专用总线。
在这个特定的实现中,我们可以有许多总线,称为 Channels
,并且已经添加了进一步的功能来支持可扩展性。在最简单的实现中,发布者和订阅者是共享应用程序中的线程。它们之间的通信被认为是高带宽的,因为它可以实施为共享/复制消息。在稍微扩展的实现中,发布者和订阅者可能存在于同一处理器上的单独应用程序中。这种中等带宽的实现可以实施为这些应用程序之间的共享内存或其他本地机制。低带宽实现可能使那些发布者和订阅者存在于不同的连接处理器上。
支持这种功能的增强称为 Transport
,它表示为一个我们提供几个不同示例的特剧行。客户端(发布者或订阅者)不选择传输,而是选择所需的带宽。如果在后续开发中,应用程序必须分割到多个进程或多个处理器中,客户端几乎不需要重构,因为它们与传输独立。
依赖关系
~110–355KB