首页 > 其他分享 >【RcoketMQ】RcoketMQ 5.0新特性(一)- Proxy

【RcoketMQ】RcoketMQ 5.0新特性(一)- Proxy

时间:2023-10-11 09:23:28浏览次数:45  
标签:5.0 协议 存储 RcoketMQ Broker Proxy

为了向云原生演进,提高资源利用和弹性能力,RcoketMQ在5.0进行了架构的调整与升级,先来看新特性之一,增加了Proxy层。

增加Proxy代理层

计算存储分离
计算存储分离是一种分层架构,将计算层与存储层分开。
计算层指的是一些消耗计算资源的功能模块比如协议解析、消费管理等,存储指的是数据存储层,比如数据的存储格式、存储设计等与数据存储相关的功能。

应用通信协议
应用通信协议一般会包含协议头和协议体两部分。
协议头:主要是一些通用的信息,比如协议版本、请求标识、客户端信息等;
协议体:本次通信具体的数据内容,规定了数据的传输格式,比如数据是字符串、JSON格式数据或者二进制数据等;

RocketMQ 5.0以前架构
RocketMQ 5.0以前使用自定义的Remoting协议底层基于Netty进行网络通信,计算存储是一体的,都在Broker中,生产者和消费者从NameServer中拉取到路由信息,之后直接与Broker交互进行消息的生产与消费:

存在问题
(1)计算层和存储层都在Broker中,没有进行分离,不利于在云原生环境下实现弹性调度;
(2)Remoting协议是私有协议,每支持一种新的语言,一些基础的工作(比如网络通信、编解码)都需要重新开发,开发和维护成本高;

RocketMQ 5.0架构
5.0以后引入了弹性无状态的代理模式,对Broker的职责进行了拆分,将客户端协议适配、权限管理、消费管理等计算逻辑进行了抽离,放入Proxy层,Broker专注数据的存储,以便更好的适应云原生环境,实现资源弹性调度,并且5.0以后增加了gRPC(Google Remote Procedure Call)协议的支持,它是Google开源的高性能RPC框架,基于Protobuf序列化。

从架构上来看,增加Proxy代理层后,生产者和消费者不再直接与Broker通信,而是与Proxy层通信,Proxy层再与NameServer和Broker交互进行消息的发送和消费,如果需要提高计算层的能力,只需要增加Proxy层,如果需要提高存储层的能力,增加Broker的部署即可。

gRPC协议是公有协议,底层已经实现了网络通信、编解码等基础框架,提供了各个语言的开发库,使用非常轻便,在RocketMQ新增语言支持时可以省去繁杂重复的工作。

部署方式
在5.0版本中分为Local模式和Cluster模式。

  • Local模式:Broker和Proxy同进程部署,在部署时需要在原有的Broker配置上增加Proxy相关的配置,以Local模式运行可以实现与5.0以前版本架构完全一致的效果:

  • Cluster模式:Broker和Proxy是分别独立部署的,是实现存储和计算分离的部署方式:

参考
RocketMQ5.0速览
许文强-深入拆解消息队列 47 讲

标签:5.0,协议,存储,RcoketMQ,Broker,Proxy
From: https://www.cnblogs.com/shanml/p/17742136.html

相关文章

  • PCIe 5.0 SSD四合一!峰值带宽高达64GB/s
    华硕低调发布了新一代HyperM.2x16Gen5扩展卡,可以单卡安装最多四块PCIe5.0x4SSD。它采用了PCIe5.0x16系统级接口和服务器级PCB,可以提供64GB/s的峰值带宽,每块都可以跑到16GB/s。当然目前还没有能做到这一点的SSD,而考虑到带宽损耗,实际上也不可能做到。四块SSD均支持2242......
  • 新版IDEA 出现ClassCastException: com.sun.proxy.$Proxy25 cannot be cast to com.su
    项目中使用lombok或者mapStruct,运行项目时报错运行某些较旧的代码,报错java.lang.ClassCastException:com.sun.proxy.$Proxy25cannotbecasttocom.sun.tools.javac.processing.JavacProcessingEnvironment如图解决:在settings–>Build,Execution,deployment–>Compiler在Sh......
  • 华硕推出Hyper M.2 x16 Gen5扩展卡:可装四个PCIe 5.0 SSD
    华硕在官网上架了HyperM.2x16Gen5扩展卡,是原有HyperM.2x16Gen4扩展卡的迭代产品,在带宽上实现了翻倍,可达到512Gbps。据介绍,HyperM.2x16Gen5扩展卡可安装四个PCIe5.0SSD,支持M.22242、2260、2280和22110规格的产品,这些M.2插槽都带有Q-Latch便捷卡扣,便于用户安装和拆卸......
  • macOS上proxychains使用注意事项
    在使用brew安装的proxychains的时候,配置文件位于/usr/local/etc/proxychains在高版本macos上,默认启用了SIP保护,所以/usr/bin/目录下的文件无法使用proxychains解决办法:3.1关闭SIP保护首先重启Mac,按住Option键进入启动盘选择模式按⌘+R进入Recovery模式在屏幕的最......
  • 2023-10-4 使用Arduino为esp8266烧录ps4 5.05适合的固件
    2023-10-4使用Arduino为esp8266烧录ps45.05适合的固件其实这是个伪需求,但都在我琢磨所有之后才发现,goldhen2.1之后的大版本对于505来说都是没什么实质意义,反而会引起死机等情况。想玩的游戏等降级补丁即可。当然本文记录如何通过arduino烧录你想要的插件1.解决:1-1.A......
  • Adobe_Photoshop_2024_25.0.0.37图文安装教程及下载
    Adobe_Photoshop_2024正式版,拥有之前beta版本的全部功能,包括但不限于内置AI绘图,一键抠图、移除工具、悬浮工具栏、图像扩展、填充式生成、调整预设等等。尤其是“生成式填充”和“生成式扩展”。除此之外,PS2024正式版还内置了NeuralFilters神经AI滤镜,这款插件用于图片的处理,它......
  • ACDSee(电脑看图软件)下载-ACDSee 5.0官方版 安装包下载方式
    acdsee是一个快速的查看图片的工具,用户可以在acdsee这个工具上面对自己的图片进行各种各样的修改,能够解决各种的图片问题,可以处理图片的尺寸等等,喜欢的赶紧下载试试吧软件地址:看置顶贴acdsee5.0软件功能1、ACDSee本身也提供了许多影像编辑的功能,包括数种影像格式的转换,可以藉由档案......
  • 【5.0】Fastapi路径参数和数据的解析验证
    【一】小项目构建【1】文档结构树projects├─coronavirus├─__init__.py ├─....py├─turtorial ├─__init__.py ├─chapter03.py ├......
  • After_Effects_2023_23.5.0.52_ACR15.4图文安装教程及下载
     AdobeAfterEffects(爱国版、一键式安装、永久使用)简称“AE”是Adobe公司推出的一款图形视频处理软件,适用于从事设计和视频特技的机构,包括电视台、动画制作公司、个人后期制作工作室以及多媒体工作室。AdobeAfterEffects软件可以帮助您高效且精确地创建无数种引人注目的动态......
  • Go每日一库之157:tproxy (TCP连接代理与分析 )
    你有同感吗?当大家在开发服务端代码的时候,会不会经常有如下疑问?纳闷MySQL连接池到底有多少连接?每个连接的生命周期持续多久?连接异常断开的时候到底是服务端主动断的,还是客户端主动断的?当长时间没有请求的时候,底层库是否有KeepAlive请求?复杂网络情况的处理从来都是后端......