目录

交换机发送消息给绑定的队列


Topic的路由是模糊匹配的


主要有两种模式
轮询分发模式:一个消费者消费一条,按均分配
公平分发模式:根据消费者的消费能力进行公平分发,处理快的处理的多;能者多劳,按劳分配





单体架构业务都堆积在一个项目中,采用分布式架构,将系统进行拆分,拆分就是解耦。拆分过程中模块间沟通和协同采用消息队列,用来RabbitMQ,核心是多线程异步的,可以让网站性能成倍提成,因为异步能让处理数据能力更高效。
削峰:
串行的话耗时是所有业务执行时间之和,异步各个业务独立不会阻塞。

异步 --- 不会阻塞
异步-线程池


存在问题
耦合度高
需要自己写线程池自己维护成本太高
出现了消息可能会丢失,需要你自己做消息补偿
如何保证消息的可靠性你自己写
如果服务器承载不了,你需要自己去写高可用
异步-消息队列


好处:
完全解耦,用 MQ建立桥接
有独立的线程池和运行模型
出现了消息可能会丢失,MQ有持久化功能
如何保证消息的可靠性,死信队列和消息转移等
如果服务器承载不了,你需要自己去写高可用,HA镜像模型高可用
按照以上约定,用户的响应时间相当于是订单信息写入数据库的时间,也就是50毫秒。注册邮件,发送短信写入消息队列后,直接返回,因此写入消息队列的速度很快,基本可以忽略,因此用户的响应时间可能是50毫秒。因此架构改变后,系统的吞吐量提高到每秒20QPS。比串行提高了3倍,比并行提高了两倍


