首页 > 其他分享 >SpringBoot 场景开发多面手成长手册 小册笔记

SpringBoot 场景开发多面手成长手册 小册笔记

时间:2023-02-04 14:22:22浏览次数:48  
标签:小册 SpringBoot 生产者 多面手 Broker broker 实例 NameServer RocketMQ

整合RocketMQ

在开始运行 RocketMQ 之前,我们先思考一个实际的场景。

假设我们项目中有一个消息的生产者和消费者,它们连接到一个 RocketMQ 实例上,如下图所示。

30. RocketMQ结构1.png

随着业务规模的不断扩大,一个 RocketMQ 的实例已经有些不堪重负,于是我们需要将单机版的 RocketMQ 改为 RocketMQ 集群,此时我们不仅需要对 RocketMQ 扩容,还需要改变生产者和消费者的配置,让它们都连接到所有的 RocketMQ 实例上,如下图所示。

30. RocketMQ结构2.png

这样简单的扩容后会产生一个问题:如果 RocketMQ 的实例不断变动,那么消息的生产者和消费者会不断的修改配置,疲于应对 RocketMQ 集群的变动。

如何改善这种麻烦的现状呢?参照 SpringCloud 中服务注册与治理中心的思维,如果可以引入一个 RocketMQ 的注册中心,之后生产者和消费者都直接去连接注册中心,那是不是可以解决呢?

当然可以,RocketMQ 中就有一个对应的组件:NameServer 命名服务器,由这个 NameServer 来收集所有注册上线的 RocketMQ 实例(broker)。生产者和消费者只需要连接到 RocketMQ 的 NameServer 即可获得当前存活的 broker ,无需再因为 broker 扩容或者变动而改动配置。

30. RocketMQ结构3.png

如此了解下来,我们就能知道,RocketMQ 中包含一个 NameServer 和若干的 Broker ,由 NameServer 负责收集 Broker 的地址信息,Broker 负责实际的消息收发和存储工作

既然是 NameServer 负责收集 Broker 的信息,那么先启动 NameServer 后启动 Broker 会更合理。

标签:小册,SpringBoot,生产者,多面手,Broker,broker,实例,NameServer,RocketMQ
From: https://www.cnblogs.com/fxh0707/p/17091413.html

相关文章

  • 创建springboot项目
    有两种方式1.maven创建2.忘了今天采用maven创建       2.在pom.xml里面添加依赖3. 在resources下创建配置文件application.yam 4.Main就是启动......
  • springboot2.5.6集成swagger3
    引入依赖<dependency><groupId>io.springfox</groupId><artifactId>springfox-boot-starter</artifactId><version>3......
  • springboot项目快速启动
    springboot项目快速启动,主要在两个操作系统中启动,一个是Windows一个是Linux。因为java项目以后都是在Linux环境中启动,所以需要学习一些Linux指令,大三时学过一些。先讲一下......
  • springboot的@Transactional回滚
    @Transactional 相当于 @Transactional(rollbackFor=RuntimeException.class) ,只对抛出的 RuntimeException 异常,才会事务回滚。@Transactional 注解只能应用到 pu......
  • SpringBoot配置属性之Server
    server配置server.address指定server绑定的地址  server.address= 0.0.0.0 #springboot部署服务器端微服务,server.address配置0.0.0.0,否则当微服务的jar......
  • springboot整合thymeleaf
    springboot的打包方式默认是jar包的形式,jsp无法在压缩包的形势下进行编译所以springboot引入了一些其他的模板引擎比如thymeleaf表达方式语法用途变量取值${.........
  • 狂神说Springboot笔记
    狂神说SpringBoot视频链接:B站教学视频SpringBoot系列笔记:狂神说SpringBoot01:Hello,World!狂神说SpringBoot02:运行原理初探狂神说SpringBoot03:yaml配置注入狂神......
  • Springboot websocket 的简单使用
    项目结构:引入依赖:"org.springframework.boot:spring-boot-starter-websocket","org.springframework.boot:spring-boot-starter-thymeleaf",启动类:publicclassDem......
  • Linux 配置Tomcat、SpringBoot项目开机自启
    Linux配置Tomcat、SpringBoot项目开机自启#javaenvironment指定java环境exportJAVA_HOME=/home/jdk1.8.0_11exportCLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAV......
  • springboot连接rabbitmq报错:Failed to check/redeclare auto-delete queue(s).
    问题springboot项目使用​​spring-boot-starter-amqp​​连接rabbitmq时出现报错:Failedtocheck/redeclareauto-deletequeue(s).思路这类问题是因为没有连接上rabbitmq......