处理流程图:

Redis缓存结构为map
Key为常量
field为kafka的message_id
value为kafka消息体
1.处理kafka消息队列send方法,通过callback异步回调方法判断消息是否发送成功
2.发送成功生产日志记录,发送失败则把发送失败消息体写入Redis缓存中,同时发送告警易信消息
3.在分布式定时任务中新增一个定时任务来处理消费失败的kafka消息,定时任务间隔是设置1分钟
4.定时任务读取Redis缓存中的失败消息,再次调用kafka发送send接口,发送成功则删除Redis缓存中的失败消息,发送失败则保持不变