网站下拉菜单怎么做,龙岩市城乡建设局网站进不去,高端品牌网站建设图片,个人备案网站可以做淘宝客消息队列
1. 消息队列的使用场景
六字箴言#xff1a;削峰、异步、解耦
削峰#xff1a;接口请求在某个时间段内会出现峰值#xff0c;服务器在达到峰值的情况下会奔溃#xff1b;通过消息队列将请求进行分流、限流#xff0c;确保服务器在正常环境下处理请求。异步削峰、异步、解耦
削峰接口请求在某个时间段内会出现峰值服务器在达到峰值的情况下会奔溃通过消息队列将请求进行分流、限流确保服务器在正常环境下处理请求。异步提供对外接口限制响应时间在5s内接口需要校验数据、数据转换、入库等操作通常情况下响应时间大于5s通过消息队列将数据转换、入库操作从对外接口拆分出来对外接口确保数据校验通过即可。解耦代码逻辑需要调用其他系统的保存接口由于无法保证其他系统的稳定性又不让本地代码由于其他系统的问题而抛出异常此时通过消息队列将调用其他系统的接口从原有代码中剥离出来使用消息队列通知。降低代码耦合度。
2. 消息的重发补偿解决思路
确保幂等性的前提下进行重发。
3. 消息的幂等性解决思路
利用数据库的唯一索引进行数据唯一性的判断保证数据处理完成后后续同样的请求无法再次处理。
4. 消息的堆积解决思路
排查消息是在Broker端还是消费者端。
Broker端堆积需要排查消息队列中间件相关问题。
消费者端需要确认消费耗时是否正常
1若消费耗时不正常则排查业务代码是否出现异常。
2若消费耗时正常则考虑调大消费线程或扩容消费节点。
5. 自己如何实现消息队列
核心思想还是基于队列先进先出的特性进行设计。 具体可以参考如下文章https://blog.csdn.net/Tyson0314/article/details/128698643 6. 如何保证消息的有序性
根据数据的唯一标识将相同的数据放到同一个消费的地方只要消费者端有序消费即可保证消息的有序性。