需要消息代理在少数(3 个和更多)应用程序之间进行数据同步



我需要在少数(3 个和更多)应用程序之间发送(同步)数据。消息代理必须解决几个问题:

  1. 向未知数量的接收器广播一条消息。
  2. 控制成功红色。应用程序只能成功/读取一次消息,或者仅在分配给此应用程序(连接)的一段时间后成功/读取消息。或者以某种方式在客户端解决它,而不会在服务器/MB上产生高负载
  3. 在所有接收方成功读取消息后删除消息。它可以在中央应用程序的客户端解决,但本机可能性将很有用。

只有一个应用程序必须知道整个系统中存在多少应用程序,或者可以将其移动到消息代理负责。

我已经尝试过:Amazone SQS - 它是纯队列,没有任何高级工具。RabbitMQ - 无法在不删除消息的情况下读取消息。(可能以其他方式存在)

RabbitMQ 非常适合。

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

最新更新