• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

RocketMq之事务消息实现原理

RocketMq之事务消息实现原理
RocketMQ提供了事务消息的功能,采用2PC(两段式协议)+补偿机制(事务回查)的分布式事务功能,通过消息队列 RocketMQ 版事务消息能达到分布式事务的最终一致。 概览 半事务消息:暂不能投递的消息,发送方已经成功地将消息发送到了消息队列 RocketMQ 版服务端,但是服务端未收到生产者对该消息的二次确认,此时该消息被标记成“暂不能投递”状……继续阅读 »

winrains 1周前 (06-28) 14浏览 0个赞

RocketMq之Broker源码分析

RocketMq之Broker源码分析
服务器上部署的RocketMq进程一般称之为Broker,Broker会接收Producer的消息,持久化到本地,然后push给Consumer,通常使用集群部署,主从之间会有数据同步。 Broker与NameSever Broker 会向所有 NameSever 注册自己(包含topic信息),并保持心跳连接。 连接单个broker和所有namese……继续阅读 »

winrains 1周前 (06-28) 22浏览 0个赞

RocketMq之Consumer原理浅析

RocketMq之Consumer原理浅析
Consumer是怎么启动的 源码很长,这里就不仔细看了,其实主要就是初始化了三个组件,然后启动后台定时任务 RebalanceImpl 均衡消息队列服务,负责分配当前 Consumer 可消费的消息队列( MessageQueue )。当有新的 Consumer 的加入或移除,都会重新分配消息队列。 PullAPIWrapper 拉取消息组件 o……继续阅读 »

winrains 1周前 (06-28) 7浏览 0个赞

RocketMq之NameSever浅析

RocketMq之NameSever浅析
NameSever 是一种路由服务,类似于dubbo中的注册中心zk,它存储了Broker的路由信息,供Producer和Consumer使用,不然Producer怎么知道往哪个Broker发送消息。多个NameSever之间没有通信,每个NameSever都会保存所有路由信息。 NameSever的启动 NameSever 是通过命令行在服务器上启动的,通……继续阅读 »

winrains 1周前 (06-28) 10浏览 0个赞

Spring Boot 高级篇–RabbitMQ(5):RabbitListener消费基本使用姿势介绍

Spring Boot 高级篇–RabbitMQ(5):RabbitListener消费基本使用姿势介绍
之前介绍了rabbitmq的消息发送姿势,既然有发送,当然就得有消费者,在SpringBoot环境下,消费可以说比较简单了,借助@RabbitListener注解,基本上可以满足你90%以上的业务开发需求 下面我们来看一下@RabbitListener的最最常用使用姿势 I. 配置 首先创建一个SpringBoot项目,用于后续的演示 springboot……继续阅读 »

winrains 3个月前 (04-13) 18浏览 0个赞

Spring Boot 高级篇–RabbitMQ(4):RabbitMq消息确认机制/事务的使用姿势

Spring Boot 高级篇–RabbitMQ(4):RabbitMq消息确认机制/事务的使用姿势
上一篇介绍了RabbitMq借助RabbitTemplate来发送消息的基本使用姿势,我们知道RabbitMq提供了两种机制,来确保发送端的消息被brocke正确接收,本文将主要介绍,在消息确认和事物两种机制的场景下,发送消息的使用姿势 I. 配置 首先创建一个SpringBoot项目,用于后续的演示 springboot版本为2.2.1.RELEASE ……继续阅读 »

winrains 3个月前 (04-13) 25浏览 0个赞

Spring Boot 高级篇–RabbitMQ(3):发送消息基本使用姿势

Spring Boot 高级篇–RabbitMQ(3):发送消息基本使用姿势
前面两篇博文,分别介绍了RabbitMq的核心知识点,以及整合SpringBoot的demo应用;接下来也该进入正题,看一下SpringBoot的环境下,如何玩转rabbitmq 本篇内容主要为消息发送,包括以下几点 RabbitTemplate 发送消息的基本使用姿势 自定义消息基本属性 自定义消息转换器AbstractMessageConverter ……继续阅读 »

winrains 3个月前 (04-13) 16浏览 0个赞

Spring Boot 高级篇–RabbitMQ(2):RabbitMq核心知识点小结

Spring Boot 高级篇–RabbitMQ(2):RabbitMq核心知识点小结
RabbitMQ是一个基于AMQP协议实现的企业级消息系统,想要顺畅的玩耍的前提是得先了解它,本文将主要介绍rabbitmq的一些基本知识点 特点 基本概念 消息投递消费的几种姿势 事务 集群 I. 基本知识点 它是采用Erlang语言实现的AMQP(Advanced Message Queued Protocol)的消息中间件,最初起源于金融系统,用在……继续阅读 »

winrains 3个月前 (04-13) 10浏览 0个赞

Spring Boot 高级篇–RabbitMQ(1):springboot + rabbitmq初体验

Spring Boot 高级篇–RabbitMQ(1):springboot + rabbitmq初体验
mq在异步解耦削峰的优势非常突出,现在很多的项目都会用到,掌握mq的知识点,了解如何顺畅的使用mq,可以说是一个必备的职业技能点了 接下来我们进入rabbitmq的学习过程 I. 环境准备 在测试之前,需要安装rabbitmq,下面分别给出mac + centos的安装教程 1. mac 安装 安装命令 brew install rabbitmq ##……继续阅读 »

winrains 3个月前 (04-13) 15浏览 0个赞

RocketMQ 路由中心 NameServer

RocketMQ 路由中心 NameServer
1. 前言 NameServer 是整个Rocketmq 的大脑,是为了控制多台消息服务器,解决单点宕机问题问题而设计的。 2. NameServer启动流程 从NameServer启动类org.apache.rocketmq.namesrv.NameSrvStartup可以看出,NameServer的启动第一步先加载NameServerConfig配置……继续阅读 »

winrains 3个月前 (04-05) 12浏览 0个赞