消息队列(二)如何保证消息队列的高可用?
一、什么是高可用性?对于高可用性,维基百科上是这么描述的:高可用性(英语:highavailability,缩写为HA),IT术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。也就是说,我们不可能做到100%的可用性,所以用可用性度来表示高可用性,通常我们会用多少个9来表示高可用的目标,比如99.99%表示系统的年停机时间为8.76个小时,也就是99.99%的时间都是可用的。要做到高可用
一、什么是高可用性?
对于高可用性,维基百科上是这么描述的:高可用性(英语:high availability,缩写为 HA),IT 术语,指系统无中断地执行其功能的能力,代表系统的可用性程度。
也就是说,我们不可能做到 100% 的可用性,所以用可用性度来表示高可用性,通常我们会用多少个 9 来表示高可用的目标,比如 99.99% 表示系统的年停机时间为 8.76 个小时,也就是 99.99% 的时间都是可用的。要做到高可用,我们至少要实现下面两点:
对软硬件的冗余备份,以消除单点故障。
对故障的检测和恢复。
二、如何保证消息队列的高可用
不同的消息队列,保证高可用的方式有一些区别,这里分别记录下各种消息队列的高可用实现方式。
1、RocketMQ 高可用
RocketMQ 进程我们一般称为 Broker,Broker 通常是集群部署的,每个 Broker 需要注册到 NameServer 中。从这里我们可以知道高可用有两个地方需要解决,一是 Broker 挂了怎么办,二是 NameServer 挂了怎么办。
对于 NameServer,它的高可用保障是集群化部署,各个 Na
原创不易,完成人机校验,阅读全文