【问题标题】:RabbitMQ Best Practices for High Availability on Cloud云上高可用性的 RabbitMQ 最佳实践
【发布时间】:2020-08-26 04:07:45
【问题描述】:
我打算在 Kubernetes Engine 集群上部署 RabbitMQ。我看到有两种位置类型,即 1. 区域 2. 区域
有人可以帮助我了解每种位置类型我能想到的好处吗?我相信设置了多区域
可以帮助增强整个网络。即使在发生区域故障事件的情况下,多区域设置也可以确保无可争议的服务。这种理解正确吗?我正在寻找选择位置类型的相关理由。请帮忙。
【问题讨论】:
标签:
kubernetes
rabbitmq
google-kubernetes-engine
high-availability
message-bus
【解决方案1】:
我打算在 Kubernetes Engine 集群上部署 RabbitMQ。我看到有两种位置类型:
- 地区
- 区域
有人可以帮助我了解每种位置类型我能想到哪些好处吗?
zone(可用区)通常是数据中心。
一个区域是位于同一地理区域的多个区域。将“集群”部署到区域时,您通常拥有一个跨越 3 个数据中心的 VPC(虚拟私有云)网络,并且您将组件分布到这些区域/数据中心。这个想法是,您应该容错整个 _datacenter 的故障,同时在您的系统内仍然具有相对较低的延迟。
虽然多区域设置可以确保即使在发生区域故障事件的情况下也能提供无可争议的服务。这种理解正确吗?我正在研究选择位置类型的相关理由。
当使用多个区域时,例如在世界不同地区,这通常是为了靠近客户,例如提供更低的延迟。出于同样的原因,CDN 服务分布到多个地理位置。将服务部署到多个区域时,区域之间的通信通常使用异步协议完成,例如消息队列,因为延迟可能对于同步通信来说太大了。