彩虹桥架构演进之路

  • 电脑网络维修
  • 2024-11-14

一、前言

一年一更的彩虹桥系列又来了,在前面两期咱们分享了在稳固性和性能2个层面的一些演进&优化思绪。近期咱们针对彩虹桥 Proxy 负载平衡层面的架构做了一次性更新,目前新架构曾经部署成功,消费环境正在逐渐更新中,借此时机更新一下彩虹桥架构演进之路系列的第三篇。

二、背景

彩虹桥目前依赖 SLB 做负载平衡和节点发现,随着业务开展流量越来越高,SLB 带宽瓶颈逐渐暴露,只管在半年前做过一次性双 SLB 变革暂时处置了带宽瓶颈,但运维老本也随之变高。除了带宽瓶颈外,SLB 无法允许同区优先访问,造成难以适配双活架构。所以预备去除彩虹桥对 SLB 的强依赖,自建彩虹桥元数据中心,提供负载平衡和节点发现等才干,同时允许同区访问等才干来更好的适配双活架构。上方会详细引见一下彩虹桥元数据中心以及 SDK 关系才干的关系细节。

三、外围称号解释

四、现有架构回忆

在开局引见彩虹桥元数据中心之前,咱们先来回忆一下彩虹桥目前架构,以及存在的一些痛点。

现有架构

重要痛点

五、自建元数据中心&SDK 增强

图片元数据中心独立部署

架构详解

Metadata 数据库

节点启动时

 node_info weight   config_version   cluster_name  ?  address  ?

节点运转时

 node_info  beat_version  beat_version   cluster_name  ?  address  ?

节点下线

MetaCenter( Heimdall)

初始化心跳版本号:记载一切 metadata 数据库每个节点最新 beat_version 和初始化心跳失落次数到内存

定时查问节点信息(3s 一次性),挑选可用节点并写入到内存中,提供 OpenAPI 给 SDK 调用,每个库均口头以下操作,最终会获取每个库的可用节点列表,最后把多个 list 求并集,获取最终的可用列表,写入到内存中。

查出一切列表数据后,对比内存中的 beat_version 与数据库中的 beat_version,如不相反则更新内存,假设相反说明对应节点心跳有失落,假设失落次数超越阈值,则剔除此节点。

节点列表中除了 ip、端口信息外,还有权重,启用形态属性, 这些属性都属于控制流变卦,假设产生2边数据库不分歧场景,以 config_version 最大的为准。

假设本次计算时有节点列表变动,会下发一个变卦事情到 ARK(value 为期间戳-秒),SDK 在收到次性能变卦后会立刻到 MetaCenter 拉取一次性节点列表,以补偿定时轮训的延时。

MetaCenter 提供的 OpenAPI 是经过计算后存入内存的数据,为了可以人工干预节点列表,须要允许开关一键切换至人工性能的节点列表数据。

SDK( Rainbow)

另外 SDK 允许一键灵活切换至走老架构模式(4层 SLB)

治理后盾

修正形态会去一切 metadata 数据库口头,只要一个库成功就前往成功,如一切库都修正失败,则前往失败。

 node_info enabled   config_version   ip  ?  port  ?

容灾才干

表格中的能否有影响和缺点复原期间均指 SDK-Proxy 的访问链路,Proxy-DB 链路不在范畴内。

参考以下期间线,可在30s左右成功复原。

一些思索

Q:为什么不用 sylas(得物注册中心产品)做注册中心,而是要自建元数据中心做服务发现?

彩虹桥和 sylas 均为 P0 级别服务,对稳固性要求极高,在架构设计之初须要充沛思索到相互依赖或许带来的级联缺点,在与注册中心关系同窗沟通后,选择自建彩虹桥元数据中心,成功自闭环。

Q:为什么不是传统的基于 Raft 协定的三节点来成功服务发现,而是用多套数据源做 merge?

Raft 是工程上经常使用较为宽泛的强分歧性、去中心化、高可用的共识算法,在散布式系统中,适用于高分歧性、容错性要求高的场景。但 Raft 协定须要保养指导者选举和日志复制等机制,性能开支较大,其次 Raft 协定相对复杂,在开发、保养、排障等方面会十分艰巨,反之驳回少数据源求并集的模式更繁难,同时也具有单节点缺点、整个可用区缺点以及跨区网络终止等多种复杂缺点下的容灾才干。

Q:如何在 SLB 切换到新架构的环节中保证稳固性?

可灰度:允许单个抢先节点粒度的灰度

可回滚:允许一键灵活切换至 SLB 架构

可观测:少量埋点数据可实时启动观测,有疑问可极速回滚。

六、总结

自建元数据中心后,将给彩虹桥带来一系列收益:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/4800.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号