简单介绍了服务网关,并对SpringCloud Gateway的核心架构进行了简要说明,也在项目中整合了SpringCloud
Gateway网关实现了通过网关访问后端微服务,同时,也基于SpringCloud Gateway整合Sentinel实现了网关的限流功能,详细介绍了SpringCloud Gateway网关的核心技术。
在链路追踪章节,我们开始简单介绍了分布式链路追踪技术与解决方案,随后在项目中整合Sleuth实现了链路追踪,并使用Sleuth整合ZipKin实现了分布式链路追踪的可视化 。
今天,我们正式进入消息服务章节,首先,我们来简单的聊聊MQ的使用场景,引入MQ后的注意事项以及MQ的选型对比。
本章总览

MQ的使用场景
MQ的英文全称是Message Queue,翻译成中文就是消息队列,队列实现了先进先出(FIFO)的消息模型。通过消息队列,我们可以实现多个进程之间的通信,例如,可以实现多个微服务之间的消息通信。MQ的最简模型就是生产者生产消息,将消息发送到MQ,消息消费者订阅MQ,消费消息。

MQ的使用场景通常包含:异步解耦、流量削峰。
异步解耦
关于异步的场景,我们这里举一个用户下单成功后,向用户发送通知消息,为用户增加积分和优惠券的场景。
同步耦合场景分析
如果是同步调用的场景,则具体业务为:当用户提交订单成功后,订单系统会调用通知系统为用户发送消息通知,告知用户下单成功,订单系统调用积分系统为用户增加积分,订单系统调用优惠券系统为用户增加优惠券。整个调用流程如下所示。

本文介绍了消息队列(MQ)的基本概念和使用场景,如异步解耦和流量削峰。在异步解耦场景中,通过MQ可以改善高并发下系统性能,降低系统间的耦合。而在流量削峰中,MQ起到了缓冲作用,保护下游系统免受高并发冲击。然而,引入MQ也会带来系统可用性、复杂度和消息一致性的挑战。常见的MQ有RabbitMQ、Kafka和RocketMQ,各有优缺点,需要根据具体需求进行选择。
最低0.47元/天 解锁文章
1121

被折叠的 条评论
为什么被折叠?



