前言 最近需要使用到消息队列相关技术,于是重新接触RabbitMQ.其中遇到了不少可靠性方面的问题,归纳了一下,大概有以下几种: 1. 临时异常,如数据库网络闪断.http请求临时失效等: 2. 时序异常,如A任务依赖于B任务,但可能由于调度或消费者分配的原因,导致A任务先于B任务执行: 3. 业务异常,由于系统测试不充分,上线后发现某几个或某几种消息无法正常处理: 4. 系统异常,业务中间件无法正常操作,如网络中断.数据库宕机等: 5. 非法异常,一些伪造.攻击类型的消息. 针对这些异常,我采…