一、使用消息中间件的好处
同步请求操作十分耗时,使用消息中间件可以有效解耦
二、MQ的类别
三、主要使用的消息中间键对比
四、RabbitMQ提供的6种模式
五、SpringBoot与RabbitMQ整合
1.在application.yml中配置连接信息
spring:
rabbitmq:
host: 10.33.43.14
username: root
password: HkeDcRFg
virtual-host: /
port: 6005
2.创建配置类,配置队列、交换机、并将交换机和队列绑定
@Configuration
public class RabbitMQConfig {
/**
* 创建队列
*/
@Bean
public Queue itemQueue(){
return QueueBuilder.durable("item_queue").build();
}
/**
* 创建交换机
*/
@Bean
public Exchange itemTopicExchange(){
return ExchangeBuilder.topicExchange("item_topic_exchange").build();
}
/**
* 交换机和队列之前进行绑定操作
*/
@Bean
public Binding itemQueueBindExchange(Queue queue, Exchange exchange){
return BindingBuilder.bind(queue).to(exchange).with("item.*").noargs();
}
}
3.创建Listener,监听消息
public class MessageListener {
@RabbitListener(queues = "item_queue")
public void myListener(String message)
{
System.out.println("receive message : " + message);
}
}
4.发送消息
public class MessageProducer {
@Autowired
private RabbitTemplate rabbitTemplate;
public void sendMessage()
{
rabbitTemplate.convertAndSend("item_topic_exchange", "item.add", "hello world");
System.out.println("send message");
}
}