消息队列
消息队列实现系统间的异步通信,解耦系统组件。
📋 消息队列架构
🎯 消息队列应用场景
java
/**
* 订单服务:生产消息
*/
@Service
public class OrderService {
@Autowired
private RabbitTemplate rabbitTemplate;
public void createOrder(Order order) {
// 保存订单
orderRepository.save(order);
// 发送订单创建消息(异步处理)
rabbitTemplate.convertAndSend(
"order.exchange",
"order.created",
new OrderCreatedEvent(order.getId())
);
}
}
/**
* 库存服务:消费消息
*/
@Component
public class InventoryConsumer {
@RabbitListener(queues = "order.created.queue")
public void handleOrderCreated(OrderCreatedEvent event) {
// 扣减库存
inventoryService.deductStock(event.getOrderId());
}
}