Python 通过 stomp 发送消息到 ActiveMQ 的代码

news/发布时间2024/6/17 20:55:59

只需要下面简单的几行代码,我们就可以把我们本地数据发送到 ActiveMQ 上面去。

def send_mq(data):hosts = [(AMQHOST, AMQPORT)]conn = stomp.Connection(host_and_ports=hosts, auto_content_length=False)conn.connect(username=AMQUSER, passcode=AMQPASS, wait=True)conn.send(body=json.dumps(data), destination=TOPICNAME)conn.disconnect()

上面需要根据你自己的服务器配置情况配置参数。

为什么使用消息不使用 API 调用

在跨平台数据交换的时候,我们其实有很多可以实现的方法。

我们可以构建一个 API 服务器,让不同的客户端调用不同的端口来实现数据交换。

我们也可以使用消息服务器,让不同的工具获得自己的数据后发送约定好的数据格式到消息服务器上,然后让我们后台部署的数据服务器来从消息服务器上获得数据并且进行处理。

使用消息服务器的好处是显而易见的,当有多个客户端的时候,我们可以通过消息服务器来作为缓存。

非常重要的一个作用就是解耦。

用户的数据只负责获得数据,比如说我们常用的例子,我们会使用不同的工具来做爬虫程序。

当爬虫获得数据后,爬虫程序将会把已经获得数据组装成消息,然后发送到消息服务器上。

相比较我们让爬虫程序直接调用接口,这样的耦合度更低。

爬虫程序不需要了解接口是怎么定义的,只需要发送我们约定好的数据格式就行。

 

 

同时假设我们有多个爬虫程序的话,多个程序的 API 调用将会对后端的 API 程序造成负载,而且爬虫程序的启动时间是不一样的,有可能短期有大量的数据涌入,这样我们可以通过消息服务器让程序自动运行,当没有消息的时候,后端程序属于空闲,可以消费积压的消息。

当大量消息涌入的时候,因为消息服务器的消峰功能,不会让后端的数据处理程序出现问题,保持更好的吞吐量。

 

https://www.isharkfly.com/t/python-stomp-activemq/14990

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.jwkm.cn/p/64672868.html

如若内容造成侵权/违法违规/事实不符,请联系宁远站长网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

GAMES202作业1

@目录作业要求基于球面谐波函数预计算Light项和Transport项为什么需要预计算如何进行预计算编译问题预计算对Lo预计算对Transport预计算在WebGL使用预计算的数据实时计算光照信息 作业要求 物体在不同光照下的表现不同,PRT(Precomputed Radiance Transfer) 是一个计算物体在不…

第2次作业-SQL语句的基本使用

这个作业属于哪个课程 https://edu.cnblogs.com/campus/uzz/cs3这个作业要求在哪里 https://edu.cnblogs.com/campus/uzz/cs3/homework/这个作业的目标 <第2次作业-SQL语句的基本使用>1.使用SQL语句创建数据库studentsdb。 create database studentsdb;2.使用SQL语句选择…

SSRF-介绍

SSRF是一种由攻击者构造形成由服务端发起请求的一个安全漏洞。SSRF攻击的目标一般是从外网无法访问的内部系统。(正是因为它是由服务端发起的,所以它能够请求到与它相连而与外网隔离的内部系统)SSRF 形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对…

线程劫持-进程注入C++示例和检测思考

线程劫持:运行方法C:\Users\l00379637\source\repos\thread_hijack\x64\Release\thread_hijack.exe 18132 C:\Users\l00379637\source\repos\injected_dll\x64\Release\injected_dll.dll Process ID: 18132 Injected!劫持效果: 劫持代码如下:#include <iostream> #in…