摘要: 一、高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作mysql,半天查出来一个结果,耗时600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办? 缓存啊,折腾600ms查出来的结果,扔缓存里,一个key对应一个value,下次 阅读全文
posted @ 2021-05-30 23:39 jock_javaEE 阅读(198) 评论(0) 推荐(0)
摘要: 一、rabbitmq:拆分多个queue,每个queue一个consumer,就是多一些queue而已,确实是麻烦点;或者就一个queue但是对应一个consumer,然后这个consumer内部用内存队列做排队,然后分发给底层不同的worker来处理; RabbitMQ 实现消息顺序消费的完整方案 阅读全文
posted @ 2021-05-30 20:03 jock_javaEE 阅读(309) 评论(0) 推荐(0)
摘要: 一、rabbitmq出现消息重复的场景 A:消息消费成功,事务已经提交,ack时,机器宕机,导致没有ack成功, Broker的消息重新由unack变为ready,并发送给其他消费者 B:消息消费失败,由于重试机制,自动又将消息发送出去 C、成功消费,ack时宕机,消息由unack变为ready,B 阅读全文
posted @ 2021-05-30 19:44 jock_javaEE 阅读(880) 评论(0) 推荐(0)
摘要: 一、Rabbitmq的流程图 二、出现消息丢失的三个可能 A:写消息的过程,消息都没到rabbitmq,在网络传输过程就丢了;或者是消息到了rabbitmq,但是人家内部出错了没保存下来 例子: 1、channel.confirm // 先把channel设置成confirm的模式 2、发一个消息 阅读全文
posted @ 2021-05-30 18:59 jock_javaEE 阅读(120) 评论(0) 推荐(0)