Questions tagged «message-queue»

“消息队列”是一种设计模式或软件工程组件,用于定义用于两个或更多相互关联的过程或系统之间的通信的学科或API。消息队列强制执行异步处理和松散耦合。根据实现方式,它们还可以提供消息的传递和顺序保证。消息处理保证被明确排除在设计之外。

17
ActiveMQ或RabbitMQ或ZeroMQ或[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我们很想听听ActiveMQ,RabbitMQ和ZeroMQ的优缺点。也欢迎提供有关任何其他有趣消息队列的信息。


5
消息队列与Web服务?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引文回答。 6年前关闭。 改善这个问题 在什么条件下,人们会偏爱通过消息队列而不是通过Web服务进行交谈的应用程序(我只是说XML,JSON或YAML或此处通过HTTP进行的任何操作,而不是任何特定类型)? 我必须在局域网上的两个应用程序之间进行交谈。一个将是Web应用程序,并且必须在另一个应用程序(在不同的硬件上运行)上请求命令。这些请求包括创建用户,移动文件和创建目录之类的事情。在什么情况下,与使用消息队列相比,我更喜欢XML Web服务(或直接TCP或其他)? Web应用程序是Ruby on Rails,但我认为问题比这更广泛。

2
为什么我们需要在像PostgreSQL这样的数据库上需要像RabbitMQ这样的消息代理?
我是RabbitMQ之类的消息代理的新手,我们可以使用它们为Celery这样的调度系统创建任务/消息队列。 现在,这是一个问题: 我可以在PostgreSQL中创建一个表,该表可以附加新任务,并由用户程序(如Celery)使用。 为什么在地球上我想为此设置一种全新技术,例如RabbitMQ? 现在,我相信扩展无法解决问题,因为像PostgreSQL这样的数据库可以在分布式环境中工作。 我搜索了数据库针对特定问题带来的问题,然后发现: 轮询使数据库繁忙且性能低下 锁定表->再次表现不佳 数百万行的任务->再次,轮询性能低下 现在,RabbitMQ或类似的任何其他消息代理如何解决这些问题? 另外,我发现该AMQP协议是遵循的。那有什么好呢? 可以Redis的也可以用作消息代理?我发现它比RabbitMQ更类似于Memcached。 请对此有所说明!

11
现实世界中使用JMS /消息队列?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 6年前关闭。 改善这个问题 我只是对JMS和Apache ActiveMQ有所了解。并想知道这里的人们将JMS或类似的消息队列技术用于什么吗?
182 java  jms  message-queue 

10
什么是好的速率限制算法?
我可以使用一些伪代码,或者更好的Python。我正在尝试为Python IRC机器人实现一个限速队列,并且部分起作用,但是如果有人触发的消息少于限制(例如,限速为每8秒5条消息,而该人仅触发4条消息),并且下一个触发时间超过8秒(例如16秒后),机器人将发送消息,但队列已满,机器人将等待8秒,即使由于8秒钟的时间已过去也不需要它。

7
JMS和AMQP-RabbitMQ
我试图了解什么JMS以及如何将其与AMQP术语连接。我知道JMS是API,AMQP是协议。 这是我的假设(以及问题) RabbitMQ使用AMQP协议(而是实现AMQP协议) Java客户端需要使用AMQP协议客户端库来连接/使用RabbitMQ JMS API在这里起什么作用?JMS API应该使用AMQP客户端库连接到RabbitMQ吗? 通常,我们使用JMS连接诸如RabbitMQ,ActiveMQ等消息代理,然后在这里使用默认协议代替AMQP呢? 以上某些内容可能是愚蠢的。:-)但是,试图把我的头缠住。

12
nodejs有哪些好的消息队列选项?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 4年前关闭。 改善这个问题 希望在我正在使用node.js构建的小型Web应用程序中使用消息队列。我看了resque,但不确定是否合适。目标是基于套接字和后端的其他客户端操作将通知推送到客户端。我可以只用socketio来做到这一点,但我认为也许适当的消息队列可以使这个清理器更干净,而我不必重新发明轮子。 有哪些选择?

3
RabbitMQ消息的大小和类型
RabbitMQ队列中可以存储哪些消息?只有琴弦?还是可以选择要存储的类型:整数,二进制,字符串等? 一封邮件的最大大小是多少? 可以创建多少个队列或交换?还是取决于服务器的电源?

7
Message Queue vs Message Bus —有什么区别?
还有吗?对我来说,MB既了解订户又知道发布者,并充当中介者,将新消息通知订户(实际上是“推送”模型)。另一方面,MQ更像是一种“拉”模型,在此模型中,消费者将消息从队列中拉出。 我在这里完全偏离轨道吗?

3
Kafka基于键/值对的消息传递的目的是什么?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 11个月前关闭。 改善这个问题 所有的例子的卡夫卡| 生产者显示ProducerRecord的键/值对不仅具有相同的类型(所有示例均显示<String,String>),而且具有相同的值。例如: producer.send(new ProducerRecord<String, String>("someTopic", Integer.toString(i), Integer.toString(i))); 但是在Kafka文档中,我似乎找不到解释键/值概念(及其潜在目的/效用)的地方。在传统的消息传递中(ActiveMQ,RabbitMQ等),我总是在特定的主题/队列/交换中触发一条消息。但是,Kafka是第一个似乎要求键/值对而不只是常规字符串的消息的经纪人。 所以我问:要求生产者发送KV对的目的/用途是什么?


3
Node.js事件循环滴答到底是什么?
我已经对Node.js架构的内部有了更多的了解,并且我看到了很多术语,例如“事件循环的下一个滴答”或nextTick()函数中的“滴答” 。 我还没有看到确切的定义是“滴答声”的确切含义。根据各种文章(例如本篇文章),我已经能够将一个概念拼凑起来,但是我不确定它的准确性如何。 我能否获得有关Node.js事件循环刻度的准确而详细的描述?

7
ZeroMQ,RabbitMQ和Apache Qpid之间的性能比较
我需要一个高性能的消息总线为我的应用程序,所以我评估性能ZeroMQ,RabbitMQ和Apache Qpid。为了衡量性能,我正在运行一个测试程序,该程序使用消息队列实现之一发布10,000条消息,并在同一台计算机上运行另一个进程以消耗这10,000条消息。然后,我记录发布的第一条消息和收到的最后一条消息之间的时间差。 以下是我用于比较的设置。 RabbitMQ:我使用了“扇出”类型交换和默认配置的队列。我使用RabbitMQ C客户端库。 ZeroMQ:我的发布者tcp://localhost:port1使用ZMQ_PUSH套接字发布,我的代理侦听tcp://localhost:port1并将消息重新发送到tcp:// localhost:port2,而我的使用者tcp://localhost:port2使用ZMQ_PULL套接字侦听。我正在使用代理而不是对等通信,ZeroMQ以使性能比较与使用代理的其他消息队列实现公平。 QpidC ++消息代理:我使用“扇出”类型交换和默认配置的队列。我使用了Qpid C ++客户端库。 以下是性能结果: RabbitMQ:大约需要1秒才能收到10,000条消息。 ZeroMQ:大约需要15毫秒来接收10,000条消息。 Qpid:大约需要4秒钟才能收到10,000条消息。 问题: 是否有人在消息队列之间运行类似的性能比较?然后,我想将我的结果与您的结果进行比较。 有什么方法可以调整RabbitMQ或Qpid使其性能更好? 注意: 测试是在具有两个分配处理器的虚拟机上完成的。结果因不同的硬件而异,但是我主要对MQ产品的相对性能感兴趣。

2
为什么用芹菜代替RabbitMQ?
据我了解,Celery是一个分布式任务队列,这意味着它唯一要做的就是将任务/作业分派给其他服务器并返回结果。RabbitMQ是一个消息队列,仅此而已。但是,当收到消息时,工作人员可以只听MQ并执行任务。这恰好实现了Celery所提供的功能,那么为什么根本需要Celery?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.