1.1 分布式消息中间件设计

发布时间:2021-12-09 01:54:09



文章目录
什么是分布式消息中间件单体架构分布式系统架构基于消息中间件的系统架构总的来说:
消息中间件的应用场景常用的消息中间件消息中间件核心设计
协议协议是什么常见协议为什么消息中间件不直接使用Http协议?AMQP协议MQTT协议Open Message协议Kafka协议
持久化持久化是什么常用的持久化方式
消息分发为什么要有消息分发策略常用的消息中间件消息分发策略
高可用高可用机制Master-Slave主从共享数据的部署方式Master-Slave主从同步部署方式Broker-Cluster多主集群同步部署方式Broker-Cluster多主集群转发部署方式Mastrer-Slave与Broker-Cluster结合
高可靠高可靠是什么





什么是分布式消息中间件

首先我们来看一下架构的演化过程


单体架构


分布式系统架构


基于消息中间件的系统架构


总的来说:

消息中间件就是利用高效可靠的消息传递机制进行*台无关的数据交流


基于数据通信来进行分布式系统的集成;


通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信;


消息中间件的应用场景

跨系统数据传递高并发流量削峰数据异步处理…等等


常用的消息中间件

ActiveMQRabbitMQKafkaRocketMQ


消息中间件核心设计

本质

一种具备接收请求、保存数据、发送数据等功能的网络应用。

和一般网络应用程序的区别是它主要负责数据的接收和传递,所以性能一般都高于普通程序。

5大核心组成


协议持久化机制消息分发机制高可用设计高可靠设计
协议
协议是什么

协议是计算机之间通信时共同遵从的一组约定,都遵守相同的约定,计算机之间才能相互交流。


是对数据格式和计算机之间交换数据时必须遵守的规则的正式描述。


协议三要素


    语法: 即数据与控制信息的结构或格式;语义: 即需要发出何种控制信息,完成何种动作以及做出何种响应;时序(同步):即事件实现顺序的详细说明。

常见协议

Http协议三要素举例


语法: http规定了请求报文和响应报文的具体格式。


语义: 客户端主动发起的操作称为请求。


时序: 一个请求对应一个响应。


消息中间件常用的协议:OpenWire、AMQP、MQTT、Kafka、OpebMessage


为什么消息中间件不直接使用Http协议?

请求时需要传输一堆的数据,请求报文和响应报文的具体格式比较复杂,可能还有cookie,一堆复杂功能,


而消息中间件就是比较单一的,并要求高性能,减少传输的数据大小。


http大部分情况下是短连接,每次响应后就会中断,不利于消息中间件的场景,消息中间件可能是一个客户端长期的去获取消息,不适合短连接。


AMQP协议

AMQP(Advanced Message Queuing Protocol)是高级消息队列协议


04年JPMorgan Chase(摩根大通集团)联合其他公司共同设计


特性

事务支持持久化支持,出生金融行业,在可靠性消息处理上具备天然的优势。


使用该协议的中间件

RabbitMQActiveMQ


MQTT协议

MQTT(Message Queuing Telemetry Transport) 消息队列遥测传输是IBM开发的一个即时通讯协议,物联网系统架构中的重要组成部分。


特性

轻量结构简单传输快没有事务支持没有持久化相关设计


应用场景

适应于计算能力有限、低带宽、网络不稳定的场景。


使用该协议的中间件

RabbitMQActiveMQ


Open Message协议

OpenMessaging是*一两年由阿里发起,与雅虎、滴滴出行、Streamlio等公司共同参与创立的分布式消息中间件、流处理领域的应用开发标准。


是国内首个在全球范围内发起的分布式消息领域国际标准


特性

结构简单解析快有事务设计有持久化设计


使用该协议的中间件

Apache RocketMQ


Kafka协议

Kafka协议是基于TCP的二进制协议。消息内部是通过长度来分隔,由一些基本数据类型组成。


特性

结构简单解析快无事务设计有持久化设计


使用该协议的中间件

Kafka


持久化
持久化是什么

简单来说就是将数据存入磁盘,而不是存在内存中随服务*舳В故菽芄挥谰帽4娼凶龀志没


常用的持久化方式


消息分发
为什么要有消息分发策略



常用的消息中间件消息分发策略


高可用
高可用机制

高可用性是指产品在规定的条件和规定的时刻或时间区间内处于可执行规定功能状态的能力。


当业务量大时,一台消息中间件服务器可能无法满足需求,所以需要消息中间件能够集群部署,来达到高可用的目的。


Master-Slave主从共享数据的部署方式


Master-Slave主从同步部署方式


Broker-Cluster多主集群同步部署方式


Broker-Cluster多主集群转发部署方式


Mastrer-Slave与Broker-Cluster结合


高可靠
高可靠是什么

高可靠性是指系统可以无故障地持续运行。比如一个系统从来不崩溃、报错,或者崩溃、报错的机率较低,那就是高可靠。


在高并发业务场景下,如果不能保证系统的高可靠,那造成的损失将会非常严重。


保证消息中间件的高可靠性,可以从以下几方面考虑


消息传输可靠:通过协议来保证系统间数据解析的正确性。


消息存储可靠:通过持久化来保证消息的存储可靠性。

相关文档

  • 西班牙语陈述式
  • pdf.net sod oracle,SOD: 原PDF.NET框架将成为一个全功能的企业开发框架,而 SOD框架将是PDF.NET开发框架下面的 “数据开发框架
  • JAVA实现对字符串的大小写的转换
  • 小组合作教学反思精选3篇
  • 护蛋作文
  • 形容人微笑的文艺好句子
  • 新龟兔赛跑的故事
  • 天津市内近郊自由行好去处推荐
  • 明日黄花的造句
  • 芥兰的叶子能吃吗芥兰茎要不要削皮吗
  • 尘毒危害治理专项检查工作情况总结
  • 美图手机官方正式告别:年中关闭手机业务 手机品牌授权给小米
  • 京东如何处理数据中心网络对应用性能的影响
  • 关于写父母的爱精彩作文500字左右
  • 霍奇金淋巴癌 近期霍奇金淋巴瘤治疗进展
  • 我不是最弱小的优秀第二课时教学设计
  • (译)在Objective-c里面使用property教程
  • 驱蚊方法
  • 个人申请书推荐7篇
  • 牵手成长小学四年级作文
  • UE4蓝图节点翻译 --- 根目录
  • 反常积分最重要的函数之伽马函数
  • 目标检测总结:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD
  • 乡镇街道信用工作情况汇报共5篇
  • 导盲犬迪克告诉我们什么
  • 精选网络培训心得体会十篇
  • 世界什么动物寿命最长
  • 初级审计师《审计相关知识》日常练习题
  • 抖音一个小时用多少流量
  • C++实现二叉树的中序遍历
  • 猜你喜欢

  • 工信部:中国将加快推动核心技术的突破
  • 【人力资源】女装品牌国内品牌运营市场部工作手册(doc 17资料
  • 团队精神培训心得体会五篇
  • 读《丁丁在美洲》有感400字
  • poco mysql 中文_Poco数据库操作用户手册(一)
  • The application of the Racial Equality Directive of the EU
  • 语文S(部编)版四年级上册《三单元 语文百花园三 笔下生辉》精品课教案_3
  • 法院办公室20xx年工作总结范文
  • 福州市鼓楼区卫盾辐射防护工程有限公司(企业信用报告)- 天眼查
  • 【精品】(福建省专用)2011届高三英语二轮复* 考前特训 考前第27天(考前高分必读)专题课件
  • 这家火锅店分店很多,在寒冬里那份炙热让人永远难忘:香猪坊
  • 机关党委发展党员工作负面清单排查方案
  • XX年小学防溺水工作计划小结
  • 交通事故官司处理流程是什么
  • 重庆正泰特种塑胶有限公司*(企业信用报告)- 天眼查
  • RocketMq ConsumerGroup Tag对消费的影响
  • 苏教版数学一年级上册易错题汇总
  • 铰刀项目立项申请报告(58亩)
  • 初二话题作文《因为心中有爱》1000字(共13页PPT)
  • 羊毛大衣缩水怎么恢复
  • 委托书支付令授权委托书
  • 北师大版八年级下册数学2.6《一元一次不等式组》课件3 (共19张PPT)
  • 研究性学*计划
  • 哈尔滨市动力区华兴废品收购站企业信用报告-天眼查
  • 一年级品德与社会上册《装扮我们的教室》教案精选
  • 川外2012英语专业考研真题(基础英语)
  • vivoy97可以无线充电吗
  • 2018-2024年中国户外照明灯具行业深度调研研究报告(目录)
  • S版三年级语文下册词语、句子整理复*.
  • 贵阳兄弟铭车汽车配件销售有限公司(企业信用报告)- 天眼查
  • 住房和城乡建设部公告第773号??关于2010年第九批一级建造师注册
  • 第4章__产品成本核算概述
  • 高中政治 第四单元 认识社会与价值选择 第十二课 实现人生的价值课件 新人教版必修4
  • 计算机网络技术与应用第9章
  • 最新 初中语文阅读教学中设疑提问的方法-精品
  • 2016年8月通用大一新生入党申请书2500字
  • 南京鼎盾智能科技有限公司企业信用报告-天眼查
  • 谈笑间学会数仓dim层设计①
  • 2020最新人教版一年级语文下册教学计划
  • 善变的雨初三作文共2篇
  • Linux下安装VMware tools并建立共享文件夹
  • 教育咨询师招生话术
  • 电脑版