1.需求:
前我们已经开发了两个微服务,一个用来管理设备目录,一个用来管理技术状态。现在需要通过MQ来沟通彼此。两个微服务之间的关系如图:

左右都是一个单独的微服务,彼此之间没有直接的关联关系,各自的信息是分库保存的。也就是说在通过设备目录中存在的信息建立技术状态时,技术状态中保存的并非设备目录信息的引用,而是副本。这样可以保证即使在设备目录服务无法工作时技术状态服务不受影响。由于保存的是副本而非引用,那么当设备目录中的信息发生变化时,就需要使用消息队列发送通知如:id为1的设备名称变为‘发电机’这样的消息给技术状态服务,技术状态服务接收通知后,根据消息内容更新自身数据库中的信息,保证整个系统中数据的一致性。
2.搭建RabbitMQ服务器
依然使用Docker的方式来部署RabbitMQ服务器。
先使用docker pull rabbitmq命令获取RabbitMQ的镜像。
接着使用
docker run -d --hostname my-rabbit --name some-rabbit
-p 8080:15672
-e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password
rabbitmq:3-management
测试访问控制台

部署一个指定用户名和密码并且可以通过8080端口访问控制台的RabbitMQ服务器。
3.配置SpringBoot
在项目的POM文件中加入Spring-AOP和Spring-AMQP的依赖