MQ/Kafka 消息处理

大数据量/消息处理问题/MQ消息堆积

第一步:采用kafka做一下接口,然后分散到各个业务线的MQ中

第二步:MQ拿到数据后,如果数据量还是很大,采用线程池处理

第三步:增大消费者节点,比如一个节点可以同时有50个线程,那么就可以迅速消费50条消息;如果消费者节点有20个,那么同时就可以迅速消费1000条消息

防止MQ消息丢失

1、投递失败导致丢失:开启Confirm机制,分配唯一ID,获取ACK消息判断是否投递成功;利用try-catch机制设置兜底策略

2、持久化失败导致丢失:通过唯一ID监控,消息是否被正常投递或者消费,如果没有,可以通过人工干预,重新投递

3、消费失败导致丢失:利用try-catch机制设置兜底策略

重点:在消息处理的过程中,日志异常重要,我们需要通过日志和监控观察消息是否被正常投递/消费

防止MQ消息堆积

增大消费者节点,开启线程池;比如一个节点可以同时有50

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java八股文+场景题 文章被收录于专栏

针对Java简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务