• 分布式消息队列(MQ)的应用场景


    分布式消息队列(MQ)的应用场景

    • 服务解耦
      • 服务之间强依赖:同步dubbo调用、同步HTTP调用,比如spring cloud、GRPC。
      • 服务之间弱依赖:消息中间件
        • 弱依赖调用也不能失败,则在上游做一个可靠性投递。
    • 削峰填谷
      • 把流量的高峰和低谷的速率做一个平衡。MQ最早期就是做这么一件事情。
      • 当下游服务处理不过来的时候,可以把缓存到一个地方,然后慢速去消费,这就是削峰。
      • 即时性很高、流量很大的场景,比如秒杀大促。
      • 大促不可能持续的时间很长,比如说双十一大促,可能持续半小时一小时,后面相对而言就比较平稳了,可以把大促开始的消息积压到囤积到MQ中,慢慢去做一个消费,这也是可以的。
    • 异步化缓冲
      • 有些业务逻辑可以做异步操作,只需要做到最终一致性即可,不需要做到实时强一致性。

    分布式消息队列(MQ)应用思考点

    高可用解决方案:HaProxy(High Available)、Keepalived

    可靠性解决方案:replicate 分片副本(Kafka、Elasticsearch、Redis Cluster)

    • 生产端可靠性投递
      • 比如金融领域
    • 消费端幂等
      • 不能让消息消费多次
    • 高可用
      • broker 宕机、磁盘不可用
    • 低延迟
    • 消息可靠性
      • 消息在MQ肯定不会丢失,磁盘损坏等
    • 堆积能力
      • 消息在高峰期能堆积到什么程度
    • 扩展性
      • 天然无感知横向扩容
  • 相关阅读:
    【Html】用CSS定义咖啡 - 咖啡配料展示
    [附源码]java毕业设计在线购物商城
    进制转换问题
    极智开发 | Hello world for Manim
    手机\固定电话座机呼叫转移设置方法
    2024.2.19 模拟实现 RabbitMQ —— 虚拟主机设计
    进阶vue面试题总结
    3、matlab单目相机标定原理、流程及实验
    Map遍历效率比较
    微信小程序第一集
  • 原文地址:https://blog.csdn.net/CmdSmith/article/details/122779832