Tag: 消息队列

RabbitMQ – RabbitMQ可以在一台服务器上处理多less个队列?

我想知道RabbitMQ可以在单个服务器上处理多less个最大队列? 它依赖于RAM吗? 它依赖于erlang过程吗?

在zeroMq中pub-sub和push-pull模式之间的差异

这两个图像来自http://zguide.zeromq.org/page:all 。 这两种模式之间的区别是什么,如果我们忽略推挽模式中的汇点? 消息如何传递有什么不同,如果是的话有什么不同?

从客户端检查RabbitMQ队列大小

有谁知道是否有办法从客户端应用程序检查RabbitMQ队列中的消息数量? 我正在使用.NET客户端库。

Ruby on Rails中的消息队列

人们使用哪些消息队列来处理他们的Rails应用程序,决定select它的原因是什么? Twitter上的最新宣传是否会影响任何现有的devise决策? 我正在研究一个应用程序,它需要一个消息队列来处理一些后台任务,我没有做太多的工作,而且我以前见过的大部分东西都是关于Starling和Workling的,说实话,应用程序不是很大,这个解决scheme可能就足够了,但我很乐意获得整合最佳解决scheme的经验,因为我相信我会在某个时候将其整合到一个更大的应用程序中。 什么消息队列,你会build议一个Rails应用程序? 编辑:谢谢你的build议,我将在本周末看看他们中的几个。 再次编辑:我有一个环顾四周,有点不知所措的select。 然而,我将会把RabbitMQ与Workling整合到我正在构build的应用程序中,然后如果我需要关于快速队列的一些知识,那么我会知道它是否符合我的需求。 编辑:寻找越来越多的DJ适合我就好了,如果我曾经“超出”它在一个网站上我会说Resque是我会头的地方。 编辑:(十二月2014)所以这是很长的时间,因为我问这个,但我看到它仍然得到一些意见或一些投票,所以我想我会更新我的方法现在当涉及到我select的背景工作。 在我看来,目前在Ruby中运行后台作业的最好方法是使用Sidekiq。 很多人真的称赞Sidekiq是因为它是线程化的工作者,而不是每个工作者的进程,比使用Sidekiq之前使用的Resque更less的内存。 这是好事,但对我来说,这不是杀手的function。 通过与Sidekiq一起使用Sidetiq,调度工作是如此的微不足道,以至于我转而从未回过头来看,这是迄今为止我所使用的最简单的工作计划,使得Sidekiq可以轻松使用。

低延迟,大规模的消息队列

在Facebook应用和云计算时代,我正在重新思考大型多人游戏。 假设我要在现有的开放协议的基础上构build一些东西,我想为100万个同时在线的玩家提供服务,只是为了解决这个问题。 假设每个玩家有一个传入的消息队列(对于聊天和什么),平均多一个传入消息队列(公会,区域,实例,拍卖等),所以我们有200万个队列。 一个玩家一次听1-10个队列。 每个队列平均每秒钟可能有1条消息,但某些队列的速率会更高,并且听众数量也会更高(比如说,一个实例的“实体位置”队列)。 我们假设不超过100毫秒的系统排队等待时间,这适用于轻度动作型游戏(但不包括Quake或Unreal Tournament等游戏)。 从其他系统,我知道在单个1U或刀片服务器上为10,000个用户提供服务是一个合理的预期(假设没有任何其他昂贵的事情发生,如物理仿真或其他)。 因此,在客户端连接到连接网关(又连接到消息队列服务器)的交叉开关集群系统中,每个网关有100个网关机器,每个网关有100个队列机器,每个队列服务器有20000个消息队列。 再次,只是为了一般的范围。 每台MQ机器上的连接数量很less:大约100个,可以与每个网关通信。 网关上的连接数量会更多:客户端的连接数量为10,100,连接到所有的队列服务器。 (最重要的是,为游戏世界模拟服务器添加一些连接,或者不pipe怎样,但是我现在试图保持这种分离) 如果我不想从头开始构build,我不得不使用一些存在的消息传递和/或排队基础结构。 我能find的两个开放协议是AMQP和XMPP。 XMPP的预期用途更像是这个游戏系统所需要的,但是开销非常明显(XML,再加上详细的存在数据,以及其他必须build立在其上的其他频道)。 AMQP的实际数据模型更接近于我上面所描述的,但是所有的用户似乎都是大型的企业types的公司,而工作负载似乎是工作stream相关的,而不是实时的游戏更新相关的。 有没有人有任何白天的经验与这些技术,或其实施,你可以分享?

关于Python / Django和消息队列的build议

我在Django有一个应用程序,需要在各种用例中向用户发送大量的电子邮件。 我不想在应用程序内同步处理这个问题,原因很明显。 有任何人build议消息队列服务器与Python很好地集成,或者他们已经在Django项目上使用? 我的堆栈的其余部分是Apache,mod_python,MySQL。

消息队列与消息总线 – 有什么区别?

还有吗? 对我而言,MB知道用户和发布者,并作为中介,通知用户新消息(实际上是“推”模式)。 另一方面,MQ更像是一种“拉”式模式,消费者将消息从队列中拉出。 我完全偏离这里吗?

rabbitmq中的连接池或通道之间是否存在性能差异?

如果这是明显的,我是一个Rabbitmq(和编程)的新手,所以提前抱歉。 我正在创build一个池,以便在队列上工作的线程之间共享,但我不确定是否应该在池中使用连接或通道。 我知道我需要通道去做实际的工作,但是每个连接有一个通道(从队列中获得更多的吞吐量)有什么性能好处? 还是我最好只使用一个连接,每个应用程序和池许多渠道? 注意:因为我正在汇集资源,所以初始成本并不是一个因素,因为我知道连接比渠道更昂贵。 我对吞吐量更感兴趣。

消息队列在linux中是否过时?

我最近在Linux上一直在玩消息队列(System V,但是POSIX应该也可以),而且对于我的应用程序来说它们看起来非常完美,但是在阅读了Unix编程的艺术之后,我不确定它们是否真的是一个好select。 http://www.faqs.org/docs/artu/ch07s02.html#id2922148 System V IPC的高层消息传递层已经基本没有使用。 由共享内存和信号量组成的较低层在需要在同一机器上运行的进程之间进行互斥locking和一些全局数据共享的情况下仍然具有重要的应用。 这些System V共享内存设备演变成POSIX共享内存API,在Linux,BSD,MacOS X和Windows下支持,但不是经典的MacOS。 http://www.faqs.org/docs/artu/ch07s03.html#id2923376 System V IPC设施存在于Linux和其他现代Unix中。 但是,由于它们是遗留function,所以不经常使用。 到2003年中,Linux版本仍然存在漏洞。 似乎没有人愿意解决这些问题。 在更新的Linux版本中,System V消息队列仍然是错误的? 我不确定作者是否意味着POSIX消息队列应该正常? 似乎socket是几乎所有东西(?)的首选IPC,但我不明白用socket或其他方法实现消息队列将会如何简单。 还是我想太复杂? 我不知道是否与embedded式Linux相关?

RabbitMQ和MSMQ的比较

我能比较RabbitMQ和MSMQ吗? 这将有助于获得有关不同因素的性能信息。