需要Message Broker来在少数(3个或更多)应用程序之间进行数据同步

时间:2012-04-23 16:35:09

标签: message broadcast messagebroker

我需要在少数(3个或更多)应用之间发送(同步)数据。 Message Broker必须解决一些问题:

  1. 向未知数量的接收者广播一条消息。
  2. 成功控制红色。应用程序只能成功/读取一次消息,或者仅在分配给此应用程序(连接)的一段时间后才能读取。或者以某种方式解决它在客户端没有高负载的服务器/ MB
  3. 在所有接收者成功读取消息后删除消息。它可以在中央应用程序的客户端解决,但本机可能性将是有用的。
  4. 只有一个应用程序必须知道整个系统中存在多少应用程序,或者它可以转移到Message Broker职责。

    我已经尝试过了: Amazone SQS - 它是纯粹的队列,没有任何高级仪器。 RabbitMQ - 没有删除它就无法读取消息。 (可能存在其他方式)

1 个答案:

答案 0 :(得分:0)

RabbitMQ非常适合。

  1. 消息发布到主题,此消息重复到所有已连接/绑定的队列。必须首先创建并连接/绑定队列
  2. 每个应用程序都使用自己的消息副本
  3. 只有在删除成功过程后才能读取消息而不删除。必须在没有AMQP_AUTOACK参数的情况下创建队列,并且指令amqp.auto_ack在php.ini中必须为0