消息中间件汇总

RocketMQ和MetaQ的区别

RocketMQ和MetaQ其实是同一种消息队列中间件的两种不同称呼。

在阿里巴巴内部,它被称为MetaQ,而在开源版本中,它被称为RocketMQ。RocketMQ是MetaQ的3.0版本

ONS

阿里ONS是阿里巴巴公司推出的一款分布式消息系统。它基于阿里自主研发的可伸缩消息队列RocketMQ

一、RocketMQ

二、Kafka

相关概念 跳转

java 复制代码
【生产者】、【Top】、1个top多个分区【partition】, Group对应Top, 一个Group多个消费者
注意:TopA的消息只会给到GroupA


【生产者】 和 【top】
生产者发送消息时,只能选择发送到Top里面的某个分区里面去,这个是【消息生产者】可以选择的。

那在kafka中,如果某个topic有多个partition,producer又怎么知道该将数据发往哪个partition呢,
kafka中有几个原则:
1、partition在写入的时候可以指定需要写入的partition,如果有指定,则写入对应的partition。
2、如果没有指定partition,但是设置了数据的key,则会根据key的值hash出一个partition。
3、如果既没指定partition,又没有设置key,则会轮询选出一个partition。


【Top】和【消费者】
Group是一个组,那么组内必然可以有多个消费者或消费者实例(consumer instance),
它们共享一个公共的ID,即groupID。 

组内的所有【消费者】协调在一起来消费订阅主题Top的所有分区(partition)。
当然【每个分区】只能由【同一个消费组内】的一个Consumer来消费。

三、ribbtMQ

1、MQ概念
跳转

2、工作模型
跳转

3、消息可靠性投递方式(RabbitMQ防止重复消费和丢失的问题)
跳转

4、死信队列和延时队列(Rabbitmq死信队列及延时队列实现)
跳转

java 复制代码
ribbtMQ笔记草稿
https://blog.csdn.net/weixin_37862824/article/details/127109086

rabbitMq相关代码,死信队列相关
https://blog.csdn.net/weixin_37862824/article/details/126249018

通过注解RabbitListener设置多个消费者的问题
https://blog.csdn.net/weixin_37862824/article/details/128301572
相关推荐
小羊没烦恼!28 分钟前
Memory 记忆设计讨论:为什么 Agent Memory 不能只靠向量数据库?
java·开发语言·windows·算法·c#
天远API29 分钟前
零信任架构实战:基于天远单人婚姻查询构建自动化联合贷款审计网关
java·人工智能·架构·自动化
九皇叔叔35 分钟前
从本地事务到分布式事务
java·分布式·分布式事务·cap·base
黑马程序员毕设44 分钟前
基于微信小程序的节目活动报名与管理系统设计与实现
java·开发语言·spring boot·后端·电脑
小坏讲微服务1 小时前
Spring AI 高频面试题20道
java·spring·ai·agent·springai
Bs_MoneyMagnet1 小时前
基于springboot+vue的会议室预约管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
sunshine22 girl1 小时前
Java学习 java原理
java·开发语言·学习
Bs_MoneyMagnet1 小时前
基于springboot+vue的茶铺管理系统的设计与实现 源码+文档
java·vue.js·spring boot·后端·spring·毕业设计·计算机毕业设计
她说..1 小时前
RabbitMQ 使用场景详解
java·spring boot·后端·spring·rabbitmq·java-rabbitmq
宁渡AI大模型1 小时前
河南宁渡科技有限公司|宁渡课堂 AI 全栈面试分享,AI 应用开发高频考点汇总
java·c++·人工智能·python·深度学习·神经网络·rag