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简历中项目的功能进行提问,大家可以在评论区中解答/讨论;同时提供八股文