RabbitMQ学习笔记-第一章、介绍

主流消息中间件介绍

一、ActiveMQ

简介

  • ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线,并且他一个完全支持JMS规范的消息中间件
  • 其丰富的API、多种集群构建模式使得他成为业界老牌消息中间件,在中小型企业应用广泛
  • MQ衡量指标:服务性能、数据存储、集群架构
  • 现在已经不常使用因为性能不是很好,比如阻塞消息堆积过多

架构

在这里插入图片描述
说明:
1.Master-Slave模式:使用Zookeeper进行多个节点间的协调,只有一个主节点对外提供服务,其他从节点不对外提供服务,若是主节点宕机使用从节点保持高可用。
2.NetWork模式:两组主备模式的集成,中间用network进行相关的连接和配置从而实现分布式集群

二、Kafka

  • Kafka是LinkedIn开源的分布式发布-订阅消息系统,目前属于Apache顶级项目。Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的目的就是用于日志收集和传输。0.8版本开始支持复制,不支持事务,对消息的重复、丢失、错误没有严格的要求,适合产生大量数据的互联网服务的数据收集业务。

架构

在这里插入图片描述说明:

  • 基于Zookeeper进行协调和管理,每个kafka节点间可以进行副本复制,类似数据同步

三、RocketMQ

  • RocketMQ是阿里开源的消息中间件,目前已经孵化为Apache顶级项目,纯java编写,具有高性能、高可用、适合大规模分布式系统应用的特点。RocketMQ思路起源于Kafka,它对消息的可靠传输以及事务性做了优化,目前在阿里集团被广泛应用于交易、充值、流计算。消息推送、日志流式处理。binglog分发等场景。

架构
在这里插入图片描述说明:
1.NameServer集群代替了以前的Zookeeper
2.Broker就是对应的服务集群、可以实现主从实现高可用
3.痛点在于收费

四、RabbittMQ

  • RabbitMQ是使用Erlang语言开发的开源消息队列系统,基于AMQP协议来实现。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。AMQP协议更多用在企业系统内,对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。

架构
在这里插入图片描述说明:
1.我们可以采用RabbitMQ的三个节点作为RabbitMQ的一组集群,我们也可以有很多组
2.节点与节点间采用镜像队列的方式,基于这种方式可以保障数据不会丢失
3.前端可以进行负载均衡(如HA-proxy进行TCP级别的负载)、借助KeepAlived实现高可用
4.前面加一个虚拟的VIP通过访问VIP路由到指定的负载均衡组件,这个组件再去路由某一个RabbitMQ节点
5.这样RabbitMQ可以提供性能好,稳定性强,具有多种集群恢复手段

奥利给!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值