在SpringCloud中使用RabbitMQ队列

项目大了、微服务多了,各种系统间调用就来了,一般情况下SpringCloud项目走的是http,当然也有RPC等……但是在遇到复杂调用、大流量涌入、异步处理多多少少会不那么优雅。

所以,很多公司就引入了队列,队列也是有很多种的,Kafka、RabbitMQ、ActiveMQ、RocketMQ……各种MQ也有自己的特色,建议深入了解:

面试必备,点击这里深入了解MQ

至于各种MQ,各种原理,今天也不具体讨论。这里主要是快速在springboot中集成RabbitMQ,至于为什么是RabbitMQ,当然是根据业务场景来的。

上次文章提到,如何快速搭建一个Java开发环境,今儿继续在当初的docker-compose.yml中添加服务段。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: rabbitmq
volumes:
- ./.docker/rabbitmq/etc/:/etc/rabbitmq/
- ./.docker/rabbitmq/data/:/var/lib/rabbitmq/
- ./.docker/rabbitmq/logs/:/var/log/rabbitmq/
- ./config/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins
environment:
RABBITMQ_ERLANG_COOKIE: erlang_cookie
RABBITMQ_DEFAULT_USER: rabbitmq
RABBITMQ_DEFAULT_PASS: rabbitmq
RABBITMQ_DEFAULT_VHOST: /
networks:
- myun-network
ports:
- 5672:5672
- 15672:15672