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

2018-07-21  本文已影响294人  阿里加多

一、前言

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

二、RocketMQ架构

image.png

本图来自rocketmq官网

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

注: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 源码下载与编译

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


image.png

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


image.png image.png image.png

最后

上一篇下一篇

猜你喜欢

热点阅读