关键词: 消息队列   业务解耦 最终一致性 错峰流控 日志同步 Kafka RabbitMQ

声明:本文并非原创,转自华为云帮助中心的分布式消息服务(DMS)的用户指南。客户端连接方法通用,故摘抄过来分享给大家。

分布式消息服务可应用在多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、手游、视频、物联网、车联网等。

分布式消息服务可以应用但不局限于以下业务场景:

  • 业务解耦

    将业务中依赖其他系统同时属于非核心或不重要的部分使用消息通知即可,无需同步等待其他系统的处理结果。

    如电商网站在促销期间抢购订单,抢到的商品订单信息放入消息队列,出库、发货等后续会从队列里读取任务信息然后执行。

  • 最终一致性

    在交易或支付系统中,不同的子系统/模块的状态需要最终保持一致,或都成功或都失败。子系统/模块之间传递的数据不能丢失,需要有可靠消息传递,能保证业务的连续性。DMS可以用于子系统/模块间的高可靠数据传递,实现两者之间的事务最终一致,降低实现难度和成本。

    例如用户使用储蓄余额购买理财产品。由于理财系统一般对理财申购交易采用日终统一处理,允许用户的储蓄余额与理财系统资金余额存在一定时间段的不一致,或者说中间状态,因此,可以对理财产品的购买支付流程使用DMS服务的消息处理机制,保证储蓄余额与理财余额的最终一致,同时避免系统间对账不平。

  • 错峰流控

    在电子商务系统或大型网站中,上下游系统处理能力存在差异,处理能力高的上游系统的突发流量可能会对处理能力低的某些下游系统造成冲击,需要提高系统的可用性的同时降低系统实现的复杂性。电商大促销等流量洪流突然来袭时,可以通过队列服务堆积缓存订单等信息,在下游系统有能力处理消息的时候再处理,避免下游订阅系统因突发流量崩溃。消息队列提供亿级消息堆积能力,3天的保留时长,消息消费系统可以错峰进行消息处理。

    • 日志同步

      应用通过可靠异步方式将日志消息同步到消息服务,再通过其他组件对日志做实时或离线分析,也可用于关键日志信息收集进行应用监控。

      使用DMS实现日志同步一般按以下流程:

      1. 日志采集客户端,负责用户应用服务的日志数据采集,以发送消息方式写入DMS消息队列。
      2. DMS消息队列,负责日志数据的接收、存储和转发管理。
      3. 日志处理应用,订阅并消费DMS消息队列中的日志数据。
      图1 日志同步示意图
       说明:

      上图中Scribe、Fluent、Flume、Logstash、Rsyslog为当前几款主流的开源日志采集工具,Logstash、ElasticSearch、Kibana为开源日志分析工具。

转载于:https://www.cnblogs.com/husterindg/p/9115158.html

消息队列的四大典型使用场景相关推荐

  1. RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ

    RabbitMQ,Apache的ActiveMQ,阿里RocketMQ,Kafka,ZeroMQ,MetaMQ,Redis也可实现消息队列,RabbitMQ的应用场景以及基本原理介绍,RabbitMQ ...

  2. 套用四大典型数字化场景,“夕阳制造业”成功转型“智慧工厂”

    文 | 帆软数据应用研究院制造行业专家 任敏 十四五规划加快了制造业转型升级的步伐,昔日被称为"夕阳产业"的制造业正改头换面,其转型方向是高效节能.绿色环保的智慧工厂.本文基于对智 ...

  3. 详解MQ消息队列及四大主流MQ的优缺点

             正文    前言近期有了想跳槽的打算,所以自己想巩固一下自己的技术,想了解一些面试比较容易加分的项,近期准备深入研究一下Redis和MQ这两样,这总体上都是为了解决服务器并发的原因, ...

  4. 消息队列使用的四种场景介绍

    一.简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 实现高性能,高可用,可伸缩和最终一致性架构 使用较多的消息队列有ActiveMQ,RabbitMQ,Zer ...

  5. 消息队列的五个使用场景

    一.简介 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题: 实现高性能,高可用,可伸缩和最终一致性架构: 使用较多的消息队列有ActiveMQ,RabbitMQ,R ...

  6. 消息队列的五种使用场景

    场景一:异步处理 场景二:应用解耦 场景三:流量削峰 场景四:日志处理 场景五:消息通讯 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 实现高性能,高可用,可伸缩 ...

  7. java onmessage监听消息队列_消息队列(MQ)功能场景

    来自公众号:京东技术 消息队列(MQ)是一种不同应用程序之间(跨进程)的通信方法.应用程序通过写入和检索出入列队的数据(消息)来通信,而无需通过专用链接来连接它们.消息传递指的是程序之间通过在消息中发 ...

  8. python中队列的应用用场景_消息队列使用的四种场景介绍

    四.JMS消息服务 讲消息队列就不得不提JMS .JMS(JavaMessage Service,Java消息服务)API是一个消息服务的标准/规范,允许应用程序组件基于JavaEE平台创建.发送.接 ...

  9. 智数合一,智慧工厂的四大典型应用场景

    十四五规划在新基建的基础上进一步加快了制造业转型升级的步伐,对 5G.工业互联网.AI.工业大数据.工业软件等技术或产品作了进一步的强调,未来制造业的发展方向将是高效节能.绿色环保的智慧工厂. 智慧工 ...

最新文章

  1. SharePoint 搜索功能失效
  2. WCF服务自托管(Self-Hosting)
  3. spring和mybatis的整合开发(基于MapperScannerConfigurer的整合开发(适用于复杂项目,接口较多的情况))...
  4. 探索 Java 隐藏的开销
  5. java 签名 ecdsa_Java实现ECDSA签名算法
  6. 微信小程序python解析获取用户手机号_python获取微信小程序openid及用户信息
  7. 计算机考试中英文打字题,五笔及中英文打字试题(2套)含答案.docx
  8. linux 常用SHELL
  9. c语言的局部指针,C中局部变量指针问题
  10. 马云在《赢在中国》对创业者的经典点评
  11. redis 用户订单缓存_Redis实战(12)-基于Key失效和定时任务实现订单支付超时自动失效...
  12. 190126每日一句
  13. 【量子信息与量子计算简明教程|陈汉武】阅读笔记1——第一章 量子信息与量子计算的基础概念
  14. php引用字体,php – 使用imagettftext()时,如何处理字体文件不支持的字符?
  15. 微商爆粉2.0全自动批量加人模拟手动操作
  16. Pytorch安装教程
  17. 接触webGl(three.js)之全景(VR)看房的实现旅程总结
  18. 在kali虚拟机中安装Android模拟器
  19. 关于Chrome不能上网问题
  20. 超融合的网络bond和bridge模式。kvm+bond+bridge

热门文章

  1. 虚拟网卡技术-VETH、MACVLAN、IPVLAN
  2. 查询数据库占用空间大小
  3. 进阶第四课 Python模块之os
  4. argparse.ArgumentParser
  5. 无服务器计算将会取代容器?
  6. IIS发布ASP.NET应用常见错误及解决办法
  7. Jquery 改变样式
  8. hdu2204 Eddy's爱好 打表+容斥原理
  9. android 利用类的同名方法欺骗jni调用(一)
  10. 11月下旬国内域名解析商Top10:中国数据5.03%居第四