首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同时在不同队列上创建消息

同时在不同队列上创建消息
EN

Stack Overflow用户
提问于 2012-08-03 06:01:12
回答 1查看 74关注 0票数 0

我有一个从队列中拾取消息的脚本,它执行其他进程工作所需的预处理。

现在,这些消息必须被传递,所以我需要确认这些消息,如果侦听消息的服务之一宕机,那么当它重新联机时,它应该会收到错过的消息。

以下是几个问题:

1/为每次运行预处理时添加到每个后处理服务的队列有意义吗?(因此,我可能会在每个过程之后同时添加8个不同的队列-这将是大量的消息(数十万p/天)。

2/向队列添加消息的速度有多快?添加到8-10个队列会减慢我的软件吗?

3/我可以使用主题交换通过扇出来完成此操作吗?我唯一担心的是,如果我的一个服务宕机了,他们会错过消息。

4/有经验的人有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-03 06:50:57

以下是一些想法:

如果您的后处理器每个都在做不同的“工作”,那么让它们使用队列是有意义的。如果你只有一堆后处理器都在做相同的任务,那么你只需要有一个队列,它们都可以从这个队列中消费消息。

将消息添加到队列的速度很快,将队列添加到RabbitMQ的速度很快,将队列绑定到交换的速度也很快。会使您的系统变慢的是消息的大小和您可能接收的数量,以及实际需要完成多少处理。

另一个考虑因素是消息的持久性,您的消息是否应该在RabbitMQ重启后幸存下来,也就是说,它们有多重要?如果关键是它们不会丢失(根据您的问题的发音,它是丢失的),那么您需要确保它们是持久的。如果您查看RabbitMQ文档,您会发现这样做的成本很高。

这取决于你的系统实际是什么,doing...Topcis是好的,扇出是好的,但你的系统做什么取决于哪一个是适用的。

我强烈推荐阅读RabbitMQ in Action,这是一个很好的资源,非常值得。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11786458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档