本系列是「RabbitMQ实战:高效部署分布式消息队列」书籍的总结笔记。
上一篇 介绍了AMQP消息通信,包括队列、交换器和绑定,通过虚拟主机还可以隔离数据和权限,消息持久化和发送方确认模式确保了消息不丢失。
本篇主要介绍如何运行和管理RabbitMQ,在介绍之前,会有个DEMO演示消息发送和接收,一方面对AMQP的元素有更直观的认识,一方面为后面介绍监控做数据来源。
通过介绍,你会了解到:
- 消息发送和接收简单实现
- 服务器管理-启动和停止节点
- 权限配置
- 使用统计
消息发送和接收简单实现
该Demo主要用于收集日志,消息发送者是各个应用子系统,消息接收者是日志收集服务,使用RabbitMQ可以很容易实现。
基于Spring Boot框架实现,主要类的作用如下:
- LogRabbitConfig:创建队列、交换器、绑定等初始化操作;
- Sender:消息发送者;
- AllReceiver:所有级别日志接收者,接收所有级别的日志;
- ErrorReceiver:错误级别日志接受者,只接收错误级别的日志;
- LogSenderTest:测试用例类;
消息模型如下:
配置
首先,配置spring boot和rabbitmq依赖:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test