基于zmq的框架,用于构建简单的发布子系统,用python 3编写。
hermes-zmq的Python项目详细描述
Branch | Build Status | Coverage | Documentation |
---|---|---|---|
^{ | |||
^{ |
爱马仕
基于zmq的框架,用于构建简单的发布子系统,用python 3编写。
它为zmq的sub和pub套接字提供基于线程的包装器,这是一个预配置的代理设备 以及一个节点类来把所有的东西组合在一起。
Hermes允许您快速构建一个可以支持任意数字的发布者集群 通过单一地址的订户。
由于该项目诞生时考虑到了一个财务用例,它提供了一些基本的数据结构(称为Message
)来通过hermes
传输数据。这些是可选的,但是我们系统的其他部分使用它们来有效地处理传入的数据流。
设计
在基于hermes
的系统中,有几个基本组件相互作用:
在处理层,我们有:
- Node对象,它可以由任意数量的
Receiver
和Publisher
对象组成。 - Proxy对象,它聚合来自多个
Node
对象的数据流,并允许订阅者从单个地址订阅它们。
在传输层,我们有:
- Envelope对象,它只是一个包装器数据结构,用于发送附加了一些元数据的消息(创建时间戳、来源、主题等)
- Message对象,通常通过将其分配给Envelope来发送(尽管
Message
对象的用法是可选的-Envelope
接受任何类型的可序列化数据)。
动机
Hermes是我们加密交易系统的基础,允许我们在 方便且可维护的方式,而无需我们的贡献者过于担心内部 ZMQ的工作原理。
用法
通过pip install hermes-zmq安装并使用import hermes导入。