微服务消息总线Bus结合消息队列RabbitMQ实战

微服务消息总线Bus结合消息队列RabbitMQ实战

1、消息总线Bus介绍和使用场景
	简介:讲解消息总线Bus介绍和使用场景
	1、什么是消息
		一个事件,需要广播或者单独传递给某个接口

	2、为什么使用这个
		配置更新了,但是其他系统不知道是否更新









2、消息队列和RabbitMQ基础介绍
	简介:消息队列和RabbitMQ基础介绍
		
		1、消息队列介绍
			参考:https://www.cnblogs.com/linjiqin/p/5720865.html

		2、同类产品
			ActiveMQ
			RocketMQ
			Kafka
			等

		3、SpringCloud默认推荐使用RabbitMQ


		4、RabbitMQ介绍	
			官方文档:http://www.rabbitmq.com/getstarted.html
			中文文档:http://rabbitmq.mr-ping.com/





3、实战系列使用Docker搭建RabbitMQ3.7
	简介:使用Docker安装RabbitMQ

	1、如果对Docker没基础,课程后续有讲解Docker,可以先跳转过去学习Docker
	2、安装步骤
		1)拉取镜像:docker pull rabbitmq:management
		2)查看当前镜像列表:docker images
		3)删除指定镜像:docker rmi  IMAGE_ID  (如果需要强制删除加 -f)
		
		4)创建容器
		docker run -d --name="myrabbitmq" -p 5671:5671 -p 15672:15672 rabbitmq:management

		参数讲解: 
			run: 创建一个新的容器并运行一个命令
		 	-d: 后台运行容器,并返回容器ID
		 	-p: 端口映射,格式为:主机(宿主)端口:容器端口
		 	--name="rabbitmq": 为容器指定一个名称


	3、RabbitMQ默认创建了一个 guest 用户,密码也是 guest, 如果访问不了记得查看防火墙,端口或者云服务器的安全组
	  管理后台:http://127.0.0.1:15672


其他安装方式:
Linux安装:https://blog.csdn.net/qq_34021712/article/details/72567786
windows安装:http://www.rabbitmq.com/install-windows.html

https://blog.csdn.net/liyuejin/article/details/78410586





4、高级篇幅消息总线整合配置中心架构流程图
	简介:讲解消息总线Bus结合config组件搭建配置中心项目架构图和操作流程
		
		启动
		rabbitmq: docker run -d -p 5672:5672 -p 15672:15672 rabbitmq:management
		rabbitmq默认是5672,所以改为5672端口
		
		1、config-client加入依赖
					   
	        <!--配置中心结合消息队列-->
	       
	        <dependency>
	            <groupId>org.springframework.boot</groupId>
	            <artifactId>spring-boot-starter-actuator</artifactId>
	        </dependency>

	        <dependency>
	            <groupId>org.springframework.cloud</groupId>
	            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
	        </dependency>


		
		官方文档:http://cloud.spring.io/spring-cloud-bus/single/spring-cloud-bus.html#_bus_refresh_endpoint
		文档里面 暴露端点 management.endpoints.web.exposure.include=bus-refresh

		2、在配置文件中增加关于RabbitMQ的连接(如果是本机,则可以直接启动,采用默认连接配置)
			spring:
			  rabbitmq:
			    host: localhost
			    port: 5672
			    username: guest
			    password: guest
		
			#暴露全部的监控信息
			management:
			  endpoints:
			    web:
			      exposure:
			        include: "*"

		3、需要刷新配置的地方,增加注解 
			@RefreshScope

		4、访问验证 post方式:
			http://localhost:8773/actuator/bus-refresh
		

		5、动态刷新配置: 在开发和测试环境使用,尽量少在生产环境使用








5、微服务相关项目改造配置中心
简介:把课程项目改造成配置中心讲解

1、git里面新增对应项目的配置文件,都要添加下面的配置
	#服务的名称
	spring:
	  rabbitmq:
	    host: localhost
	    port: 5672
	    username: guest
	    password: guest

	#暴露全部的监控信息
	management:
	  endpoints:
	    web:
	      exposure:
	        include: "*"



2、项目里面添加maven依赖

    <!--配置中心客户端-->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-config-client</artifactId>
    </dependency>

    <!--config server-->

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    </dependency>


3、修改application.properties为bootstrap.yml 并拷贝配置文件
			
		#指定注册中心地址
		eureka:
		  client:
		    serviceUrl:
		      defaultZone: http://localhost:8761/eureka/

		#服务的名称
		spring:
		  application:
		    name: order-service
		  #指定从哪个配置中心读取
		  cloud:
		    config:
		      discovery:
		        service-id: CONFIG-SERVER
		        enabled: true
		      profile: test

4、各个项目启动顺序
	1)注册中心
	2)配置中心
	3)对应的服务:商品服务、订单服务。。。
	4)启动网关
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值