基于zmq的框架,用于构建简单的发布子系统,用python 3编写。

hermes-zmq的Python项目详细描述


BranchBuild StatusCoverageDocumentation
^{}master_buildmaster_coveragemaster_docs
^{}dev_builddev_coveragedev_docs

爱马仕

基于zmq的框架,用于构建简单的发布子系统,用python 3编写。

它为zmq的sub和pub套接字提供基于线程的包装器,这是一个预配置的代理设备 以及一个节点类来把所有的东西组合在一起。

Hermes允许您快速构建一个可以支持任意数字的发布者集群 通过单一地址的订户。

由于该项目诞生时考虑到了一个财务用例,它提供了一些基本的数据结构(称为Message)来通过hermes传输数据。这些是可选的,但是我们系统的其他部分使用它们来有效地处理传入的数据流。

设计

在基于hermes的系统中,有几个基本组件相互作用: 在处理层,我们有:

  • Node对象,它可以由任意数量的ReceiverPublisher对象组成。
  • Proxy对象,它聚合来自多个Node对象的数据流,并允许订阅者从单个地址订阅它们。

在传输层,我们有:

  • Envelope对象,它只是一个包装器数据结构,用于发送附加了一些元数据的消息(创建时间戳、来源、主题等)
  • Message对象,通常通过将其分配给Envelope来发送(尽管Message对象的用法是可选的-Envelope接受任何类型的可序列化数据)。

动机

Hermes是我们加密交易系统的基础,允许我们在 方便且可维护的方式,而无需我们的贡献者过于担心内部 ZMQ的工作原理。

用法

通过pip install hermes-zmq安装并使用import hermes导入。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Play Framework 2.1中的简单搜索?   java:Springbeans的真正工作原理   java不能从字符串中提取数字   不同管道中的java共享ExecutionHandler   在Java中,如何为扩展comparator的类实现多个comparator方法?   通用混沌Java   java问题:从自定义类获取要添加到驱动程序类的形状   java如何利用HikariCP和Hibernate?   eclipse如何执行Java应用程序?   用户界面Java Swing:如何将JLabel的文本绑定到JTable选定行中的列?   java替换JPanel元素而不添加到面板的末尾?   java Sets根据action命令在按钮组中选择了特定的jradiobutton   在java中如何将从控制台添加的字符串中的元素添加到列表中   处理未在浏览器上运行的Java签名小程序   java如何在我的安卓应用程序中单击任意按钮时禁用音频音调?   编码如何在Java中将十六进制转换为utf8编码的字符串   java JSF Spring安全集成问题   java如何更正Oracle for Windows中的字符?   java Spark结构化流媒体:当前批次落后   java Hibernate根据最匹配的条件排序结果