我在服务器上运行RabbitMQ,并且有一些脚本将数据插入其中。我知道插入数据的大致频率,但它不仅是近似值,而且还可以变化很大。
我怎么知道另一个脚本需要多久从RabbitMQ中取出数据?
如果第二个脚本从RabbitMQ中取出的数据比需要的慢,会发生什么?
如何衡量频率是否足够好?
答案 0 :(得分:0)
我怎么知道另一个脚本多久需要从RabbitMQ中取出数据?
您应该以大于或等于发布速率的速率使用队列中的消息。 RabbitMQ报告发布率;但是,您需要通过对应用程序进行负载测试来获得合理的估计值。
如果第二个脚本从RabbitMQ中取出的数据比需要的慢,会发生什么?
在短期内,队列中的消息数量将增加,处理时间也会增加(想想当更多人在迪士尼的太空山上排队时会发生什么)。从长远来看,系统将不稳定,因为队列将无限制地增加,最终导致队列失败,以及其他实际后果(想想空间山被破坏的情况,但人们是仍允许进入队列线。)
如何衡量频率是否足够好?
从仅供参考的角度来看,您可以使用RabbitMQ管理插件自行监控队列。如果您需要自动化流程来生成其他工作人员,则必须将这些流程集成到RabbitMQ管理API中。如何做到这一点是许多how-to文章的主题。