RocketMQ是阿里巴巴出品的一款基于java语言开发的消息队列,以高性能,高吞吐量著称,同时也支持分布式事务。因此目前是比较火的一种MQ,在很多公司的生产环境上都有使用下,这篇文章记录下RocketMQ的核心概念有哪些?
一、NameServer
可以理解为是一个注册中心,主要是用来保存topic路由信息,管理Broker。在NameServer的集群中,NameServer与NameServer之间是没有任何通信的。
二、Broker
核心的一个角色,主要是用来保存topic的信息,接受生产者产生的消息,持久化消息。在一个Broker集群中,相同的BrokerName可以称为一个Broker组,一个Broker组中,BrokerId为0的为主节点,其它的为从节点。BrokerName和BrokerId是可以在Broker启动时通过配置文件配置的。每个Broker组只存放一部分消息。
三、生产者
生产消息的一方就是生产者
四、生产者组
一个生产者组可以有很多生产者,只需要在创建生产者的时候指定生产者组,那么这个生产者就在那个生产者组
五、消费者
用来消费生产者消息的一方
六、消费者组
跟生产者一样,每个消费者都有所在的消费者组,一个消费者组可以有很多的消费者,不同的消费者组消费消息是互不影响的。
七、topic(主题)
可以理解为一个消息的集合的名字,生产者在发送消息的时候需要指定发到哪个topic下,消费者消费消息的时候也需要知道自己消费的是哪些topic底下的消息。
八、Tag(子主题)
比topic低一级,可以用来区分同一topic下的不同业务类型的消息,发送消息的时候也需要指定。
还没有评论,来说两句吧...