来源:rrd.me/f2cxz
大家知道,松哥在新版的微人事中引入了消息中间件 RabbitMQ ,搭建了独立的邮件发送服务器(两年了,微人事项目迎来了一次重大更新),这种邮件发送方式,我们要怎么保证消息的可靠性...一、先扔一张图
说明:
本文涵盖了关于RabbitMQ很多方面的知识点, 如:
消息发送确认机制
消费确认机制
消息的重新投递
消费幂等性, 等等
这些都是围绕上面那张整体流程图展开的, 所以有必要先贴出来...绑定, 所有消息重投共用这一个定时任务即可
五、基本测试
OK, 目前为止, 代码准备就绪, 现在进行正常流程的测试
1.发送请求:
2.后台日志:
3.数据库消息记录:
状态为3, 表明已消费, 消息重试次数为...0, 表明一次投递就成功了
4.查看邮箱
发送成功
六、各种异常情况测试
步骤一罗列了很多关于RabbitMQ的知识点, 很重要, 很核心, 而本文也涉及到了这些知识点的实现, 接下来就通过异常测试进行验证...(tag, false, true);, 这样会告诉rabbitmq该消息消费失败, 需要重新入队, 可以重新投递到其他正常的消费端进行消费, 从而保证消息不被丢失
测试: send方法直接返回false