![](https://img-blog.csdnimg.cn/direct/d2b009e819c24befae921219c7393cfc.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
消息中间件
文章平均质量分 77
消息中间件
早睡早起啦
感谢关注,csdn已经不上线了,不会在更新了。 csdn都是个人在大二到大四期间学习的笔记,有些内容可能并不是正确的,请理解下,技术文章在掘金(持续更新) https://juejin.cn/user/4248168663101239,如果想咨询up的话技术/生活/未来规划,wx: hakusai22.
展开
-
RocketMQ学习——RocketMQ应用
RocketMQ应用一、普通消息二、顺序消息三、延时消息四、事务消息五、批量消息六、消息过滤七、消息发送重试机制八、消息消费重试机制一、普通消息二、顺序消息三、延时消息四、事务消息五、批量消息六、消息过滤七、消息发送重试机制八、消息消费重试机制...原创 2021-10-05 17:23:44 · 656 阅读 · 0 评论 -
RocketMQ学习——RocketMQ基本概念和系统架构
RocketMQ系统架构一. Producer二. Consumer三. Name Server①. 功能介绍②. 路由注册③. 路由剔除④. 路由发现⑤. 客户端NameServer选择策略四. Broker①. 功能介绍②. 模块构成③. 集群部署五. 工作流程①. 具体流程②. Topic的创建模式③. 读/写队列一. Producer二. Consumer三. Name Server①. 功能介绍②. 路由注册③. 路由剔除④. 路由发现⑤. 客户端NameServer选择策略四.原创 2021-07-23 22:06:53 · 244 阅读 · 1 评论 -
RocketMQ学习——RocketMQ的安装与启动
RocketMQ的安装与启动一. RocketMQ的安装与启动①.下载RocketMQ安装包②. 修改初始内存③. 启动④. 发送/接收消息测试⑤. 关闭Server二. 控制台的安装与启动①. 下载②. 修改配置③. 添加依赖④. 打包⑤. 启动⑥. 访问一. RocketMQ的安装与启动①.下载RocketMQ安装包②. 修改初始内存③. 启动④. 发送/接收消息测试⑤. 关闭Server二. 控制台的安装与启动①. 下载②. 修改配置③. 添加依赖④. 打包⑤. 启动⑥.原创 2021-07-23 21:16:53 · 618 阅读 · 0 评论 -
Dubbo学习——Dubbo源码分析_服务调用
Dubbo源码分析_服务调用一. Dubbo服务调用流程图二. Dubbo源码分析_服务调用①. 服务调用处下断点,源码入口分析②. Proxy代理类的invoke() 方法③. invoker代理链调用④. LoadBalance负载均衡机制⑤. 继续invoker调用链⑥. 当前客户端发送请求⑦. 调用结束一. Dubbo服务调用流程图二. Dubbo源码分析_服务调用①. 服务调用处下断点,源码入口分析②. Proxy代理类的invoke() 方法③. invoker代理链调用原创 2021-07-21 23:21:36 · 167 阅读 · 0 评论 -
Dubbo学习——Dubbo源码分析_服务引用
Dubbo服务引用一. Dubbo服务引用流程图二. Dubbo源码分析_服务引用①. dubbo:reference配置②. 服务引用源码入口分析③. ReferenceBean的getObject()方法——获取invoker④. ProxyFactory代理工厂,创建代理对象——获取invoker⑤. Protocol的refer()方法引用远程服务——获取invoker⑥. RegistryProtocol注册协议——refer引用远程服务⑦. DubboProtocol——connect/getC原创 2021-07-21 23:09:16 · 153 阅读 · 2 评论 -
Dubbo学习——Dubbo源码分析_服务暴露
Dubbo启动解析、加载配置信息一. 先看个dubbo构架图二. dubbo原理 -启动解析、加载配置信息①. provider.xml配置解析源码入口②. BeanDefinitionParser入口③. DubboBeanDefinitionParser的parse()方法④. 解析配置类中所有的标签三. Dubbo源码分析_服务暴露①. 解析配置文件,创建dubbo标签解析器②. ServiceBean类实现服务暴露export()③. ServiceConfig类服务暴露_doExport()④.原创 2021-07-21 22:48:19 · 204 阅读 · 1 评论 -
Dubbo学习——SpringBoot上手整合Dubbo
SpringBoot上手整合Dubbo一. Dubbo架构图二. 搭建一个Common模块存放接口+实体类①. UserAddress 实体类②. 用户和订单接口三. 搭建一个生产者Provider模块①. pom.xml依赖导入②. 用户实现类UserServiceImpl③. 启动类上注解添加④. 配置文件修改application.yml或者provider.xml配置文件⑤. 启动provider服务进行测试四. 搭建消费者Consumer模块①. pom.xml配置文件②. 订单的实现类Order原创 2021-07-21 22:14:59 · 288 阅读 · 4 评论 -
Dubbo学习——Dubbo可视化监控中心安装
可视化监控中心安装一. Github上将项目克隆到本地二. 修改注册中心的地址为Zookeeper的地址三. 启动Zookeeper,直接本地开启,没拉集群四. 用Maven打包项目,并启动项目五. 启动前端vue项目Dubbo官方为我们提供了一个监控中心dubbo-admin,可以让我们在使用Dubbo时,监控和控制服务的状态,使用监控面板更方便地管理服务,不过这个监控中心是一个单独的项目,需要我们下载并启动。一. Github上将项目克隆到本地git clone https://gith原创 2021-07-21 20:56:27 · 784 阅读 · 17 评论 -
Kafka学习---- SpringBoot整合kafka
SpringBoot整合kafka一. SpringBoot整合kafka_普通消费①. 开启zookeeper和kafka集群②. 导入依赖③. application.properties配置文件④. config创建topic和分区,副本数⑤. 生产者⑥. 普通消费者⑦. 自定义分区⑧. 发送消息进行测试二. 指定topic、partition、offset消费三. 批量消费一. SpringBoot整合kafka_普通消费①. 开启zookeeper和kafka集群②. 导入依赖原创 2021-07-07 22:38:36 · 327 阅读 · 0 评论 -
Kafka学习---- Kafka监控_Eagle安装
Kafka监控_Eagle一. Kafka监控_Eagle安装①. 修改 kafka 启动命令②. xsyn 脚本分发配置文件到另外两台服务器③. 上传Eagle文件,解压,改名④. 修改可执行权限⑤. 修改eagle配置文件⑥. 启动zk,kafka集群,查看状态⑦. 修改Eagle环境变量⑧. 启动eagle监控面板⑨. 进行Eagle的登录一. Kafka监控_Eagle安装①. 修改 kafka 启动命令 改为这个配置文件if [ "x$KAFKA_HEAP_OPTS" = "x" ]原创 2021-07-05 14:20:24 · 151 阅读 · 0 评论 -
Kafka学习----Java整合Kafka_消费者
Java整合Kafka_消费者一. Java整合Kafka_消费者①. 导入依赖②. 消费消息_自动提交offset_消费者③. 消费消息_同步手动提交offset_消费者④. 消费消息_异步手动提交offset_消费者⑤. 使用 auto.offset.reset属性_消费者⑥. 自定义存储 offset二. 自定义 Interceptor 拦截器测试①. configure(configs)②. onSend(ProducerRecord)③. onAcknowledgement(RecordMetad原创 2021-07-03 19:00:08 · 437 阅读 · 0 评论 -
Kafka学习----Java整合Kafka_生产者
Java整合Kafka_生产者一. 消息发送流程二. Java整合Kafka_生产者①. 导入依赖②. 开启Kafka集群③. 异步发送消息,不带回调函数的生产者④. 异步发送消息,带回调函数的生产者⑤. 同步发送消息_生产者⑥. 自定义分区⑦. 生产者使用自定义分区⑧. 总结分区的三种规则测试一. 消息发送流程Kafka 的 Producer 发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程,以及一个线程共享变量—RecordAccumu原创 2021-07-03 18:21:21 · 373 阅读 · 1 评论 -
Kafka学习----Kafka高级理论
Kafka高级理论一 . Kafka 工作流程二. Kafka文件存储机制①. Kafka文件存储机制②. index文件和log文件详解三. Kafka 生产者①. 分区策略1. 分区的原因2. 分区的原则②. 数据可靠性保证1. 副本数据同步策略2. ISR3. ack 应答机制4. 故障处理细节③. Exactly Once 语义四. Kafka 消费者①. 消费方式②. 分区分配策略1. RoundRobin2. Range③. offset 的维护1. 修改配置文件 consumer.prop原创 2021-07-03 17:50:39 · 184 阅读 · 0 评论 -
Kafka学习----Kafka命令行操作_终端
Kafka命令行操作一. Kafka命令行操作_终端①. 查看当前服务器中的所有 topic②. 创建 topic③. 删除 topic④. 查看某个 Topic 的详情⑤. 生产者发送消息⑥. 消费者接收消息一. Kafka命令行操作_终端①. 查看当前服务器中的所有 topicbin/kafka-topics.sh --zookeeper zookeeper1:2181 --list②. 创建 topic bin/kafka-topics.sh --zookeeper zookeepe原创 2021-07-03 16:18:53 · 230 阅读 · 0 评论 -
Kafka学习----Kafka集群搭建
Kafka集群搭建一. KafKa介绍①. KafKa 定义②. Kafka 基础架构二. Kafka集群安装①. 上传安装包②. 解压并修改名称③. 修改配置文件④. 配置环境变量⑤. 分发kafka文件到另外两台服务器上⑥. 查看并修改另外两台机器的配置文件broker.id⑦. 启动zk集群⑧. 后台启动kafka集群⑨. kafka 群起脚本⑩. 测试kafak群启动/停止脚本,kafka是否安装成功一. KafKa介绍①. KafKa 定义Kafka 是一个分布式的基于发布/订阅模式的消原创 2021-07-03 16:05:31 · 219 阅读 · 1 评论 -
RabbitMQ学习---发布确认(高级篇)
发布确认一. 发布确认①. 代码架构图②. 配置文件③. 添加配置类④. 消息生产者⑤. 回调接口⑥. 消息消费者⑦. 测试发布确认二. 回退消息①. 修改application.yml配置文件②. 消息生产者代码③. 回调接口④. 测试回退效果三. 备份交换机①. 代码架构图②. 修改配置类③. 报警消费者④. 测试备份交换机效果四. 优先队列①. 控制台添加②. 队列中代码添加优先级③. 消息中代码添加优先级④. 消息生产者⑤. 消息消费者⑥. 测试优先队列五. 惰性队列一. 发布确认①. 代码架原创 2021-06-30 16:21:50 · 398 阅读 · 0 评论 -
RabbitMQ学习---延迟队列
延迟队列一. 延迟队列概念二. 延迟队列使用场景三. RabbitMQ 中的 TTL①. 消息设置TTL②. 队列设置TTL四. 队列 TTL①. 代码架构图②. 配置文件类代码③. 消息生产者代码④. 消息消费者代码⑤. 测试五. 延时队列优化①. 代码架构图②. 配置文件类代码②. 消息生产者代码③. 测试六. Rabbitmq 插件实现延迟队列①. Docker安装延时队列插件②. 代码架构图③. 配置文件类代码④. 消息生产者代码⑤. 测试一. 延迟队列概念延时队列,队列内部是有序的,最重要原创 2021-06-30 15:32:42 · 272 阅读 · 0 评论 -
RabbitMQ学习---发布确认(基础篇)
发布确认一. 发布确认原理二. 发布确认实操①. 开启发布确认的方法②. 单个确认发布③. 批量确认发布④. 异步确认发布⑤. 三种方式时间比较一. 发布确认原理生产者将信道设置成 confirm 模式,一旦信道进入 confirm 模式,所有在该信道上面发布的消息都将会被指派一个唯一的 ID(从 1 开始),一旦消息被投递到所有匹配的队列之后,broker 就会发送一个确认给生产者(包含消息的唯一 ID),这就使得生产者知道消息已经正确到达目的队列了。如果消息和队列是可持久化的,那么确认消原创 2021-06-27 11:02:49 · 289 阅读 · 1 评论 -
RabbitMQ学习---死信队列
死信队列一. 死信队列介绍二. 死信的来源三. 死信队列流程图四. 消息TTL 过期①. 生产者_P1②. 消费者_C1③. 消费者_C2④. 启动线程进行测试五. 队列达到最大长度①. 生产者_P1②. 消费者_C1③. 消费者_C2④. 启动线程进行测试六. 消息被拒①. 生产者_P1②. 消费者_C1③. 消费者_C2④. 启动进程进行测试一. 死信队列介绍死信队列:DLX,Dead-Letter-Exchange;利用DLX,当消息在一个队列中变成死信(dead message)之后,它能被原创 2021-06-27 10:29:58 · 266 阅读 · 0 评论 -
MQ(消息队列)学习目录--2020~2021年
MQ(消息队列)学习目录RabbitMQ学习—RabbitMQ的安装RabbitMQ学习—RabbitMQ集群搭建(副本集群)RabbitMQ学习—Java整合RabbitMQ四种模型RabbitMQ学习—SpringBoot整合RabbitMQRabbitMQ学习—镜像集群(高可用)原创 2021-01-05 16:17:28 · 339 阅读 · 0 评论 -
RabbitMQ学习---镜像集群(高可用)
镜像集群一. 镜像集群1. 集群架构图2. 配置集群架构1. 策略说明2. 查看当前策略3. 添加策略4. 删除策略5. 测试集群--主节点宕机,从节点消费一. 镜像集群镜像队列机制就是将队列在三个节点之间设置主从关系,消息会在三个节点之间进行自动同步,且如果其中一个节点不可用,并不会导致消息丢失或服务不可用的情况,提升MQ集群的整体高可用性。1. 集群架构图2. 配置集群架构1. 策略说明 rabbitmqctl set_policy [-p <vhost>] [--prio原创 2021-01-03 13:54:38 · 399 阅读 · 0 评论 -
RabbitMQ学习---SpringBoot整合RabbitMQ
SpringBoot整合RabbitMQ一. 创建SpringBoot项目导入依赖二. 配置文件application.yml三. 第一种hello world模型使用1. 生产者2. 消费者3. 测试四. 第二种work模型使用1. 生产者2. 消费者3. 测试五. Fanout 广播模型1. 生产者2. 消费者3. 测试六. Route 路由模型1. 生产者2. 消费者3. 测试七. Topic 订阅模型(动态路由模型)1. 生产者2. 消费者3. 测试我这里只是简单的测试RabbitMQ四种模型,并原创 2021-01-03 12:50:07 · 353 阅读 · 0 评论 -
RabbitMQ学习---Java整合RabbitMQ四种模型
Java整合RabbitMQ四种模型一. RabbitMQ支持的消息模型二. 创建Maven项目导入依赖三. 封装连接RabbitMQ工具类四. 第一种模型(直连)1. 生产者2. 消费者3. 测试五. 第二种模型(work quene)1. 生产者2.消费者13.消费者24. 测试5.消息自动确认机制六. 第三种模型(fanout)1. 开发生产者2. 消费者-13. 消费者-24. 测试七. 第四种模型(Routing)1. Routing 之订阅模型-Direct(直连)1. 生产者3. 开发消费者原创 2021-01-03 10:57:34 · 246 阅读 · 0 评论 -
RabbitMQ学习---RabbitMQ集群搭建(副本集群)
RabbitMQ集群搭建一. 集群搭建图二. 集群搭建1.集群规划2.克隆三台机器主机名和ip映射3.三个机器安装rabbitmq,并同步cookie文件,在node1上执行:4.查看cookie是否一致:5.后台启动rabbitmq所有节点执行如下命令6.在rabbitmq2和rabbitmq3执行加入集群命令:7.查看集群状态,任意节点执行:8.登录管理界面9.Java测试RabbitMQ集群10.主节点宕机测试RabbitMQ集群一. 集群搭建图二. 集群搭建核心解决问题: 当集群中某一时原创 2021-01-03 09:31:04 · 602 阅读 · 0 评论