rabbitmq-通过wan和lan的主动-主动解决方案

rabbitmq-通过wan和lan的主动-主动解决方案,rabbitmq,messagebroker,Rabbitmq,Messagebroker,从活动/活动文档- 此解决方案仍然需要RabbitMQ集群,这意味着它无法处理 与集群内的网络分区无缝连接,因此不需要 建议跨WAN使用(当然,客户端仍然可以从 尽可能靠近和尽可能远) “不建议跨WAN使用”是什么意思 我听不懂这句话- 如果我在ec2上购买三台机器,我是否需要建立域控制器/dns服务器? 这个限制意味着什么?为什么呢?这意味着如果集群中有3个EC2实例,它们应该位于同一个数据中心。例如,不是美国东部和美国西部*。RabbitMQ使用Erlang的节点通信,非常健谈。低延迟通信

从活动/活动文档-

此解决方案仍然需要RabbitMQ集群,这意味着它无法处理 与集群内的网络分区无缝连接,因此不需要 建议跨WAN使用(当然,客户端仍然可以从 尽可能靠近和尽可能远)

“不建议跨WAN使用”是什么意思 我听不懂这句话- 如果我在ec2上购买三台机器,我是否需要建立域控制器/dns服务器?

这个限制意味着什么?为什么呢?

这意味着如果集群中有3个EC2实例,它们应该位于同一个数据中心。例如,不是美国东部和美国西部*。RabbitMQ使用Erlang的节点通信,非常健谈。低延迟通信对于拥有高性能集群至关重要


*理想情况下,即使是相同的子网,但这并不总是可能的

复制是一个对时间敏感的应用程序,这意味着必须进行定时假设,以便在副本之间同步分布式状态

互联网是一个异步网络根据定义,网络是异步发展的,无法对交付时间进行假设,MPLS(多协议标签交换)路径也没有定义:BGP(边界网关协议)引入了很多不可预测性,路径可能非常不可预测,这意味着不可预测的延迟

根据上文所述,不可预测的延迟是主动-主动复制的致命因素(即在副本之间同步镜像状态以达到一致的分布式状态)

另一个需要考虑的问题是网络分区:在一组副本中,可以隔离一个或多个副本,创建“非一致副本孤岛”:假设副本集R={R1,R2,R3,…,RN},出于网络连接原因(例如BGP问题),副本的子集如下{R1,R2,R3}可能与其余部分隔离。网络分区意味着分布式状态不一致:副本子集将是一致的,但在全局范围内,它们独立地向损坏的分布式状态演化

处理WAN(广域网,即Internet)上的复制问题。它说明:

无法通过WAN或其他异步网络实现一致性、可用性和分区,需要为大规模分布式系统选择三分之二(例如,知名NoSQL数据库的可用性和网络分区)

回到原来的问题:根据上面的说法(来自RabbitMQ文档)试图以务实的方式总结我在上面强调的问题(即,无法通过WAN实现主动复制)。因此,如果您需要通过WAN复制代理实例,RabbitMQ部署中通常会使用and等技术