我最近观看了关于RabbitMQ如何工作的精彩演示,并且它对整个AMQP实施的工作方式很感兴趣。
我正在考虑将它用于一个项目,但我想对以下问题给出一些答案:
1)是否可以在同一个地方拥有经纪人和消息的制作人?我明白RabbitMQ允许使用虚拟主机,所以这样的事情可能是正确的吗?
2)RabbitMQ可以通过两个不同的子网传输它的消息吗?我知道它可以通过lan或wan进行传输,但是在两个子网上执行此操作有多容易? (这里的一个答案实际上是将它们连接起来)。
3)关于问题1,如果原始经纪人倒闭,将经纪人功能故障转移到另一个地方有多难?
4)我明白RabbitMQ实际上提供了不同类型的消息传输。其中之一是扇出类型,它或多或少类似于广播动作。是否有可能拥有反转类型的东西。这意味着您有多个生成器具有多个队列,这些队列都传输给单个消费者?
答案 0 :(得分:2)
1)消费者/生产者在哪里,只要他们能够到达(访问IP:端口)经纪人,这并不重要。虚拟主机与此无关。
2)或多或少与第一个答案相同,RabbitMQ我们使用网络并且不知道它是什么类型的网络;也不需要知道或关心。
3)故障转移很容易,请查找rabbitmq cluster和high availability。对于客户,您必须自己照顾(所以如何重新连接等)。
4)是的,广播是可能的,你应该有一个look at tutorials,那里有什么样的交流。 编辑正如zapl在评论中指出的那样,你也可以做广播的反面。