首页 > 解决方案 > 云上高可用性的 RabbitMQ 最佳实践

问题描述

我打算在 Kubernetes Engine 集群上部署 RabbitMQ。我看到有两种位置类型,即 1. 区域 2. 区域 有人可以帮助我了解每种位置类型我能想到什么样的好处吗?我相信多区域设置可以帮助增强整个网络。即使在发生区域故障事件的情况下,多区域设置也可以确保无可争议的服务。这种理解正确吗?我正在寻找选择位置类型的相关理由。请帮忙。

标签: kubernetesrabbitmqgoogle-kubernetes-enginehigh-availabilitymessage-bus

解决方案


我打算在 Kubernetes Engine 集群上部署 RabbitMQ。我看到有两种位置类型:

  1. 地区

有人可以帮助我了解每种位置类型我能想到的好处吗?

一个区域(可用区)通常是一个数据中心。

区域是位于同一地理区域的多个区域。将“集群”部署到区域时,您通常拥有一个跨越 3 个数据中心的 VPC(虚拟私有云)网络,并且您将组件分布到这些区域/数据中心。这个想法是您应该对整个 _datacenter 的故障具有容错能力,同时在您的系统中仍然具有相对较低的延迟。

即使在发生区域故障事件的情况下,多区域设置也可以确保无可争议的服务。这种理解正确吗?我正在寻找选择位置类型的相关理由。

当使用多个区域时,例如在世界的不同地区,通常这样做是为了靠近客户,例如提供较低的延迟。出于同样的原因,CDN 服务分布到多个地理位置。当将服务部署到多个区域时,区域之间的通信通常使用异步协议(例如消息队列)来完成,因为对于同步通信而言延迟可能太大。


推荐阅读