Thoth项目消息传递模块

thoth-messaging的Python项目详细描述


这提供了一个名为thoth-messaging的库,用于项目Thoth。它是一个基本模块,用于封装所有消息传递(这里是Kafka via Faust)原语。在

消息工厂

为了实现Thoth的目的,我们在消息传递模块中定义了一些自定义消息。但是,我们 希望个人能够使用我们的模块,而不必先添加他们自己的消息。用于测试 和开发目的您可以使用message_factory(…),它允许您使用 thoth messaging使用以下语法:

message_factory(t_name=<str>,message_contents=<Tuple[str,str]>,[num_partitions=<int>],[replication_factor=<int>])

括号内的参数是可选的。在

开发和测试

对于开发和测试来说,在您的机器上运行Kafka的本地实例是非常有用的

我们提供了一个docker-compose文件来帮助您快速启动和运行一个基本的Kafka服务器;这个文件基于 Single Zookeeper/Multiple Kafka。在

为了启动Zookeeper和Kafka服务器,只需运行$podman compose up$docker compose up, 根据所使用的系统选择适当的选项。在

一旦Kafka启动并运行,就应该准备好开始编写自己的消息传递生产者和消费者。这个 Kafka和Python之间的接口由一个名为Confluent Kafka的库处理。 当您开发自己的应用程序时,浮士德的文档将非常有帮助。如果你愿意 Thoth团队的生产者和消费者示例,请看以下两个存储库, investigator和{a6}。在

您可能会发现,在测试时使用控制台生产者和消费者来创建一个只需附加bashshell就可以了 通过运行:$podman exec-it messaging_kafka1_1bash将容器名称设置为 与这里给出的相同,如果没有,运行$podman ps并选择正确的容器。这些容器里有所有的卡夫卡 在适当的地方安装二进制文件,这样您就可以简单地运行$kafka控制台消费者$kafka控制台producer或其他任何程序 卡夫卡命令,你可能会觉得有用。在

示例: ` $ kafka-console-consumer--bootstrap-server localhost:9092 --topic test --from-beginning `

您可以使用文件作为-

示例: ` pipenv shell python cli.py --message-file messages_to_be_sent.json `

Note 数据不是持久的。一旦豆荚被删除,与之相关的数据也将被删除。在

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

推荐PyPI第三方库


热门话题
java中的else if语句返回语法错误   http如何解析从表单到REST Java/Webservice的post请求   java如何在SpringBoot中为RestTemplate编写JUnit测试   java动态检查实例是否实现接口   java在Android中使用ArrayAdaptor时,数据不会显示   根据前序遍历返回二进制树的java方法   Arquillian测试类中的java注入始终为空   用户界面Java Swing自定义控件   java使用CompletableFutures递归地从同一函数的多个调用构建列表   在Java中将“.00”添加到整数BigDecimal   卡夫卡java未知\u主题\u或\u部分错误间歇性   java为什么我的getString()方法总是返回null?   java renameTo无法重命名文件   java为什么我可以强制转换对象?可以用其他对象来完成吗?   带有回写条件的java多根记录器   关于stackoverflow错误的java帮助?   java Websphere消息队列多线程   Java图形窗口/画布未垂直显示完整的六边形网格   java Sakai未在Tomcat服务器中启动