rocketMQ(一) 概念讲解

一:消息中间件的常见概念和基础编程模型

常见概念

JMS提供者:连接面向消息中间件的,JMS接口的一个实现,RocketMQ,ActiveMQ,Kafka等等
JMS生产者(Message Producer):生产消息的服务
JMS消费者(Message Consumer):消费消息的服务
JMS消息:数据对象
JMS队列:存储待消费消息的区域
JMS主题:一种支持发送消息给多个订阅者的机制
JMS消息通常有两种类型:点对点(Point-to-Point)、发布/订阅(Publish/Subscribe)

基础编程模型

MQ中需要用的一些类
ConnectionFactory :连接工厂,JMS 用它创建连接
Connection :JMS 客户端到JMS Provider 的连接
Session: 一个发送或接收消息的线程
Destination :消息的目的地;消息发送给谁.
MessageConsumer / MessageProducer: 消息消费者,消息生产者

二:RocketMQ4.x介绍和新概念讲解

Apache RocketMQ作为阿里开源的一款高性能、高吞吐量的分布式消息中间件

特点

支持Broker和Consumer端消息过滤
支持发布订阅模型,和点对点,
支持拉pull和推push两种消息模式
单一队列百万消息、亿级消息堆积
支持单master节点,多master节点,多master多slave节点
任意一点都是高可用,水平拓展,Producer、Consumer、队列都可以分布式
消息失败重试机制、支持特定level的定时消息
新版本底层采用Netty
4.3.x支持分布式事务
适合金融类业务,高可用性跟踪和审计功能。

概念

Producer:消息生产者
Producer Group:消息生产者组,发送同类消息的一个消息生产组
Consumer:消费者
Consumer Group:消费同类消息的多个实例
Tag:标签,子主题(二级分类)对topic的进一步细化,用于区分同一个主题下的不同业务的消息
Topic:主题, 如订单类消息,queue是消息的物理管理单位,而topic是逻辑管理单位。一个topic下可以有多个queue,默认自动创建是4个,手动创建是8个
Message:消息,每个message必须指定一个topic
Broker:MQ程序,接收生产的消息,提供给消费者消费的程序
Name Server:给生产和消费者提供路由信息,提供轻量级的服务发现、路由、元数据信息,可以多个部署,互相独立(比zookeeper更轻量)
Offset: 偏移量,可以理解为消息进度
commit log: 消息存储会写在Commit log文件里面

注意:部分资料从网络收集整理,若有错误,请指正,多谢。

posted on 2020-05-01 21:25  顾~小诺  阅读(422)  评论(0编辑  收藏  举报

导航