生产故障,问题
- rabbitmq重连机制:龙湖rabbitmq接受消息,消息体太大,直接把mq打死了,业务消费方没有自动重连机制的情况下,生产者继续生产,消费者消息堆积。 收到报警处理消息堆积,需要考虑下堆积的量,量大的话需要限流,mq本身的限流方式,或者是引入限流组件。
- mq消息顺序导致的问题:京医通在处理挂号候补mq消息的时候,消息出现了乱序。引入状态机解决问题。
- mq消息丢失:京医通挂号的时候机器重启,消息丢失。
选型
- mq选型
- kafka ,高并发,低延迟。不支持消息高级特性,topic多吞吐量低
- rocketmq,高并发,低延迟。支持消息高级特性,topic多吞吐量影响很小,适合业务系统
- rabbitmq,主从架构,支持消息高级特性,topic多吞吐量低,消息积压会降低吞吐量
- activemq,主从架构,topic多吞吐量低,消息积压会降低吞吐量
- rpc选型
- feign
- dubbo
线程池
- rmq应用