用芹菜从AMQP使用json数据

2024-05-20 02:44:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我在网络分析方面有个技术问题。在

Netflow流由PMACCT收集并发送到rabbitMQ进行分析。 分析将由python脚本完成,添加一些字段(如dnsstr)和其他网络信息。在

我用pika编写了一个自定义的消费者脚本,但是我的性能很差。我尝试过使用python多处理来提高性能,但是celeri的性能会更好(我猜)。在

你知道我是否可以用芹菜来消费这些数据(由PMACCT发送和序列化)?数据格式是一个带有字段的简单JSON对象(格式与Celery任务格式不匹配)。其他图书馆可以帮我吗?在

最终目标是在多个服务器(许多GB的流)上进行负载平衡流分析。在


Tags: 网络脚本信息格式rabbitmq消费者性能网络分析
1条回答
网友
1楼 · 发布于 2024-05-20 02:44:11

我以评论的形式发表了这篇文章,但我想我会把它编译成一个答案。

Celery应该可以处理json数据。在

至于性能,我假设您使用的是Pika BlockingConnection模块。这是一个非常慢的实现,并且是crippled with bugs。如果您想将性能更改为AMQP库的C实现,例如librabbitmq应该可以大大加快速度,librabbitmq的一个优点是可以与Celery一起使用。在

librabbitmq的缺点是它不是线程安全的。有一些线程安全的替代方案可用;比如我自己的AMQP-Storm,或者来自pika维护者的Rabbitpy。在

相关问题 更多 >