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


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

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

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

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

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

    • 生产端可靠性投递
      • 比如金融领域
    • 消费端幂等
      • 不能让消息消费多次
    • 高可用
      • broker 宕机、磁盘不可用
    • 低延迟
    • 消息可靠性
      • 消息在MQ肯定不会丢失,磁盘损坏等
    • 堆积能力
      • 消息在高峰期能堆积到什么程度
    • 扩展性
      • 天然无感知横向扩容
  • 相关阅读:
    teststand-介绍
    Linux的历史
    OBU与千寻魔方的定位性能分析
    智慧社区(网页显示次数后端写法)
    搞定实体识别、关系抽取、事件抽取,我用指针网络
    《机器学习实战》4.朴素贝叶斯
    python绘制ROC曲线
    【Axure高保真原型】航空信息可视化原型模板
    找游戏外包开发游戏,有哪些好处呢?
    深度学习编译器关键组件
  • 原文地址:https://blog.csdn.net/CmdSmith/article/details/122779832