1、什么是rabbitmq
采纳AMQP高等音讯行列协定的一种音讯行列手艺,最大的特性就是花费并不须要确保提供方存在,完成了效劳之间的高度解耦
2、为何要运用rabbitmq
1. 在分布式体系下具有异步,削峰,负载平衡等一系列高等功用;
2. 具有耐久化的机制,历程音讯,行列中的信息也可以保留下来。
3. 完成花费者和生产者之间的解耦。
4. 关于高并发场景下,应用音讯行列可以使得同步接见变成串行接见抵达一定量的限流,利于数据库的操纵。
可以运用音讯行列抵达异步下单的效果,列队中,背景举行逻辑下单
3、运用rabbitmq的场景
1. 效劳间异步通讯
2. 次序花费
3. 定时使命
4. 请求削峰
4、怎样确保音讯正确地发送至RabbitMQ? 怎样确保音讯吸收方花费了音讯?
发送方确认形式
将信道设置成confirm形式(发送方确认形式),则一切在信道上宣布的音讯都邑被指派一个唯一的ID。
一旦音讯被投递到目标行列后,或许音讯被写入磁盘后(可耐久化的音讯),信道会发送一个确认给生产者(包括音讯唯一ID)。
假如RabbitMQ发作内部毛病从而致使音讯丧失,会发送一条nack(not acknowledged,未确认)音讯。
发送方确认形式是异步的,生产者应用程序在守候确认的