分布式消息中间件 RocketMQ:概述与源码编译篇

  • 时间:2018-07-23 22:51 作者:Java技术进阶 来源:Java技术进阶 阅读:473
  • 扫一扫,手机访问
摘要:一、前言Apache RocketMQ 是一个分布式消息中间件,其具备低推迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性;它是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。二、RocketMQ架构本图

一、前言

Apache RocketMQ 是一个分布式消息中间件,其具备低推迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性;它是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给 Apache 软件基金会,并于2017年9月25日成为 Apache 的顶级项目。

二、RocketMQ架构

分布式消息中间件 RocketMQ:概述与源码编译篇

本图来自rocketmq官网

RocketMQ 是一个分布式消息中间件,其具备低推迟、高性能和可靠性、万亿级容量、灵活的可扩展性特性。它主要有四部分组成,分别为name servers, brokers, producers and consumers.每部分都可以进行水平扩展,而不会出现单点问题。

  • NameServer Cluster:名称服务集群,提供轻量级的服务发现与路由服务,每个名称服务器记录了一律的broker的路由信息,并且提供相应的读写服务,支持快速存储扩展。
  • Broker Cluster:broker集群,broker通过提供轻量级的主题和队列机制来维护消息存储。它支持推和拉两种模型,包含容错机制(2个副本或者3个副本),并提供了强大的平滑峰值,提供积累数以亿计的消息并保证其在原始时间顺序的被消费能力。此外,broker也提供灾难恢复、丰富的度量统计和警报机制,所有这些能力在传统的消息传递系统里面都是没有的。
  • Producer Cluster:生产者集群,提供分布式部署,分布式的生产者发送消息到broker集群,具体选择哪一个broker机器是通过肯定的负载均衡策略来决定的,发送消息中支持故障快速恢复,并且具备较低的等待时间
  • Consumer Cluster:消费者集群,消费者在推和拉模型中支持分布式部署。它还支持集群消费和消息广播。它提供了实时消息订阅机制,可以满足大多数消费者的需求。

注:broker在启动时候会去链接nameserver, 而后注册topic信息到NameServer,NameServer维护了所有topic的信息和对应的broker路由信息,broker与NameServer之间是有心跳检查的,NameServer 发现broker挂了后,会从注册信息里面删除,这相似zookeeper实现的服务注册;producer则需要配置nameserver的地址,而后定时从NameServer获取对应topic的路由信息(这个topic的消息应该路由到那个broker),同时producer与NameServer,proudcer与broker有心跳检查;同理Consumer需要配置NameServer的地址,而后定时从NameServer获取对应topic的路由信息(应该从那个broker的消息队列获取消息),同时Consumer与NameServer,Consumer与broker有心跳检查。

三、Mac下RocketMq源码编译与环境调试

3.1 源码下载与编译

  • 首先需要到https://github.com/apache/rocketmq 下载源码,本文用了rocketmq-all-4.2.0 这个tag下的源码,源码目录:
分布式消息中间件 RocketMQ:概述与源码编译篇


  • 本文用maven与JDK版本
分布式消息中间件 RocketMQ:概述与源码编译篇


  • 下载后在源码根目录下执行 mvn -Prelease-all -DskipTests clean install -U,执行完毕后出出现下面结果:
分布式消息中间件 RocketMQ:概述与源码编译篇


出现上面结果说明源码以及编译OK了,而后在源码根目录的distribution/target目录会出现apache-rocketmq.tar.gz,如下图

分布式消息中间件 RocketMQ:概述与源码编译篇

解压apache-rocketmq.tar.gz文件夹,结果如下:

分布式消息中间件 RocketMQ:概述与源码编译篇

分布式消息中间件 RocketMQ:概述与源码编译篇

分布式消息中间件 RocketMQ:概述与源码编译篇

  • 全部评论(0)
最新发布的资讯信息
【系统环境|】2FA验证器 验证码如何登录(2024-04-01 20:18)
【系统环境|】怎么做才能建设好外贸网站?(2023-12-20 10:05)
【系统环境|软件环境】梦幻仙域游戏攻略(2023-12-19 10:02)
【系统环境|软件环境】梦幻仙域游戏攻略(2023-12-19 10:02)
【系统环境|】卡帕部落揭秘潮玩新宠,探究玩法(2023-12-14 09:45)
【系统环境|数据库】 潮玩宇宙游戏道具收集方法(2023-12-12 16:13)
【系统环境|】如何开发搭建卡帕部落模式源码(2023-12-12 10:44)
【系统环境|】遥遥领先!青否数字人直播系统5.0发布,支持真人接管实时驱动!(2023-10-12 17:31)
【系统环境|服务器应用】克隆自己的数字人形象需要几步?(2023-09-20 17:13)
【系统环境|】Tiktok登录教程(2023-02-13 14:17)
手机二维码手机访问领取大礼包
返回顶部