如何构建一个确保消息队列在复杂环境下依然高可用的系统架构?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2170个文字,预计阅读时间需要9分钟。
消息队列在高并发场景下是必备的技术,根据我们的使用,生产环境中的问题也很多。比如:消息队列如何做到高可用?不同场景的中间件类型众多,这里准备了一些常用方案。
消息队列在高并发的场景是必备技能,随着我们的使用,在生产环境中的问题也是非常的多,比如:消息队列如何做到高可用呢?场景的中间件有很多种类型,在这里就准备常用的一些就用于分析处理。
1. RabbitMQ 的高可用性
RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。
RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。
单机模式
单机模式,就是 Demo 级别的,一般就是你本地启动了玩玩儿的,没人生产用单机模式。
普通集群模式(无高可用性)
普通集群模式,意思就是在多台机器上启动多个 RabbitMQ 实例,每个机器启动一个。你创建的 queue,只会放在一个 RabbitMQ 实例上,但是每个实例都同步 queue 的元数据(元数据可以认为是 queue 的一些配置信息,通过元数据,可以找到 queue 所在实例)。
本文共计2170个文字,预计阅读时间需要9分钟。
消息队列在高并发场景下是必备的技术,根据我们的使用,生产环境中的问题也很多。比如:消息队列如何做到高可用?不同场景的中间件类型众多,这里准备了一些常用方案。
消息队列在高并发的场景是必备技能,随着我们的使用,在生产环境中的问题也是非常的多,比如:消息队列如何做到高可用呢?场景的中间件有很多种类型,在这里就准备常用的一些就用于分析处理。
1. RabbitMQ 的高可用性
RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。
RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。
单机模式
单机模式,就是 Demo 级别的,一般就是你本地启动了玩玩儿的,没人生产用单机模式。
普通集群模式(无高可用性)
普通集群模式,意思就是在多台机器上启动多个 RabbitMQ 实例,每个机器启动一个。你创建的 queue,只会放在一个 RabbitMQ 实例上,但是每个实例都同步 queue 的元数据(元数据可以认为是 queue 的一些配置信息,通过元数据,可以找到 queue 所在实例)。

