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我能知道文件的哪个条目正在被修改吗?   多线程Java并发线程   java抓取包含多个页面的多个字母标签的网站   为什么if语句不排除Java中的另一个if语句?   Java可序列化哈希映射到ByteArray以创建blob   JavaEclipseLombokBuilder添加新建议   java将文件路径数组转换为文件数组,并计算每个文件的大小   在Java8流中添加大小数   Bouncy Castle 1.46之前版本的java兼容性问题   无法在AWS设备场上运行安卓 Java Appium测试   java为什么不使用mavenwarplugin将键与“WEBINF/classes/METAINF/MANIFEST.MF”合并?   java如何在引用子类的成员时调用super()   找不到java TestFx无头MonoclePlatformFactory   java AbstractMethodError onClientSessionEvent和“缺少控制媒体的权限”   正则表达式如何使用JAVA在字符串的大写字母前插入空格?   我的Spring安全项目中的java BCrypt(Spring安全)   java在我的网站上查看小程序更新时遇到问题   java如何使用schedule方法