本文建立在RabbitMQ和Redis都安装好,并服务已经都启动的前提下进行的。模拟的场景是分布式下一个中心发送消息,另一个中心接受消息并向Redis中作处理以及限流,即短时间之类发送重复消息将不会处理。项目中可模拟用户登录时发送手机验证码,只不过本文没有写发送短信的代码。
- 准备条件
生产者依赖及相关配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
server:
port: 8081
spring:
rabbitmq:
host: 192.168.157.132
username: CandySir
password: CandySir
virtual-host: /CandySir
template:
retry:
enabled: true
initial-interval: 10000ms
max-interval: 30000ms
multiplier: 2
exchange: ly.item.exchange
publisher-confirms: true
消费者依赖及相关配置
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starte