总结:对此,我们提供基于内网的高可用服务。 通过三代广播集群的设计演进,内网可以解决复杂异构网络下的广播实现问题,获得秒级高可用交换能力,并且很好地支持物理云。 下面,本文对二级交换内网高可用服务进行详细介绍。
在快节奏的生活中,不接受任何异常或业务中断。
当我在无人超市完成购物和结帐时,结帐页面突然冻结,无法完成购买操作。这时候我该怎么办?要么放弃我现有的产品,或者您要选择是否继续等待?
入住酒店时,管理系统突然崩溃,无法查看预订记录、影响入住、酒店前台排长队...
高可用与我们每个人息息相关,即将到来的双十一将为各电商企业提出更高的业务可用性要求。 /p>
本文接下来详细介绍UCloud的内网高可用服务以及二级切换。
基于内网VIP的高可用服务
1.高可用概念及要点
从业务角度来看,当然希望尽可能避免应用程序失败。但是,完全避免失败是不可能的。
那么我们如何解决这个问题呢?答案是认为单个节点不可信,为每个节点添加备份,然后业务自动切换到常规节点,整个切换过程是透明的这是高可用性的基本概念: padding: 0px; line: 0px current color; border- image: none; line- height: returned; font- family: font- ] 大小:继承; 字体-变体:继承; 垂直-对齐:基线;">两个关键点为了高可用性都是备份节点和自动失败就结束了。
说明:如果A失败,则立即切换到B。
2.传统网络的高可用解决方案
在传统网络中,Keepalived + 虚拟IP是经典的高可用解决方案。
Keepalived基于VRRP协议,是一款高可用软件,有一个主服务节点,多个备份节点,部署相同的服务,主节点使用虚拟IP,如果主节点出现故障, Keepalived 发起基于 VRRP 的协商来选择备份节点进行升级,并使用 GARP 自动将虚拟 IP 地址漂移到该节点,以确保服务成功。 Padding:0px 0px 20px;当前颜色:Text[ k4] 对齐:对齐;颜色:rgb(51, 51, 51);文本-变换:无;行- 缩进;:0px;字符-间距:正常;溢出:隐藏; 字体-家族:“Hiragino Sans GB”、“微软雅黑”、tahoma、arial、“宋泰”;字体-大小:14px;字体-样式:普通;字-间距:0px;垂直-对齐:基线;白色-间距:正常;孤儿:2人。 寡妇:2人。 字体-拉伸:继承;字体-变体-连字:正常;字体-变体-大写:正常;-webkit-文本-笔划-宽度:0px ; Text-Decoration-Style: 初始值; Text-Decoration-Color: 初始值; font-variant-Number: 继承; : 继承;">3.云计算覆盖网络的高可用性
首先我们看一下云计算网络的基本原理。
< p style="margin: 0px; 0px 0px 20px; 边框:0px 当前颜色;边框- 图像:无。 文本-对齐:对齐;颜色:rgb(51, 51, 51);文本-转换:无。 行-高度:继承;文本-缩进:0px;字符-间距:正常;溢出:隐藏; 字体-家族:“Hiragino Sans GB”、“微软雅黑”、tahoma、arial、“宋泰”;字体-大小:14px;字体-样式:普通;字-间距:0px;垂直-对齐:基线;白色-间距:正常; 寡妇:2人。 字体 - 拉伸:继承;字体-变体-连字:正常;字体-变体-大写:正常;-webkit-文本-笔划-宽度:0px;装饰-样式:初始;装饰-颜色:初始;字体-变体-数字:继承;字体-变体-亚洲:继承;说明:云计算网络实现
如上图所示,云资源桥接在OVS Bridge上,业务网卡也桥接在OVS Bridge上。控制器是由开源框架独自开发实现的UCloud 基于 Ryu,它与后端管理器通信并检索各种信息,例如 ACL、路由表、VPC 连接、隔离和 OVS 桥上的锚流、ACL 连接和阻塞以及允许 VPC 连接的第 3 层转发功能。和租户隔离,使上层实际业务报文对下层网络透明,通过GRE封装,保证
考虑到用户在云上,为了解决计算网络实现高可用的复杂性,UCloud创建了云主机和服务于云主机的内网VIP。我们将产品设计在云平台上的物理云主机上。 行-高度:继承;字体-家族:继承;字体-大小:继承;-style:继承;font-weight:700;vertical-alignment:baseline;font-stretch:inherit;">用户定义的高可用性服务的选项故障检测到自动故障切换,Drift内网入口可以在几秒内完成切换,无需任何额外的API调用或内部机器配置。
图:内网VIP控制台操作界面
内网VIP如何实现秒级故障切换?
内网 VIP 故障转移时间通常涉及两个步骤:
1. 主服务器失败后,必须选举新的主服务器。
2.需要通知广播域内的其他节点IP位置发生变化。
如上所述,在Overlay网络中,ARP协议解析、IP寻址、单播、组播、广播等上层业务报文都需要重新配置。
UCloud基于广播实现机制,目前已演化出三个版本:
第一代:模拟广播
图像:模拟广播
如上图所示,广播消息直接复制成N份并发送给其他广播域,流中的节点即可完成广播操作。OVS支持复制发送消息,因此可以实现通过在流程中指定多个输出操作来实现它。
图:模拟广播流模式
这个实现满足了我们的需求,但是有一些明显的缺点。
1.流量更新,由于用户的广播域发生变化,当广播域发生变化时,所有的广播流都会运行在广播域内的节点所在的主机上,因此,如果用户的广播域比较大,这种更新会消耗性能。Padding:0px 0px 20px;Border:0px 当前颜色;Border- Image:None:Justify;lor: rgb(51, 51, 51); 文本-变换:无;行-缩进:0px;字符-间距:正常; ; 字体-家族:“Hiragino Sans GB”、“Microsoft Yahei”、tahoma、arial、“宋泰”;字体-大小:14px;字体-字重:400; ; 字 - 间距:0px;垂直 - 对齐:基线;白色 - 间距:正常; 寡妇:2人。 字体-拉伸:继承;字体-变体-连字:正常;字体-变体-大写:正常;-webkit-文本-笔划-宽度:0px ; Text-Decoration-Style: 初始值; Text-Decoration-Color: 初始值; font-variant-Number: 继承; :inherit;">2.流的长度和数量有限制,OVS有流限制,有长度要求,单个流长度不能超过64K位,如果客户子网比较大,超过流长度limit,则超出了流长度限制。然后就无法更新,导致广播行为不稳定并影响高可用性实现。
3.异构网络广播需要多频段实现;例如物理云主机底层结构不是基于OVS
为了解决上述问题,UCloud我们开发了一个第二代广播解决方案,Broadcast Cluster。
第二代:广播集群
插图:广播集群
如上图所示,所有的广播流量通过一个流指向自研的广播集群,广播集群从运营数据库中检索并复制广播信息。广播集群与DPDK A高电平连接- UCloud开发的可用性集群,允许您实现高性能的广播逻辑。Padding:0px 0px 20px;Border:0px;Border-图像:None。align:justified; ); 文本-变换:无;行-高度:继承;文本-缩进:0px;字符-间距:正常;溢出:隐藏; 字体-家族:“Hiragino Sans GB”、“Microsoft Yahei”、tahoma、arial、“宋泰”;字体-大小:14px;字体-样式:普通;字体-粗细:400;字-间距:0px;垂直-对齐:基线;白色-间距:正常;孤儿:2人。 寡妇:2人。 字体-拉伸:继承;字体-变体-连字:正常;字体-变体-大写:正常;-webkit-文本-笔划-宽度:0px ; Text-Decoration-Style: 初始值; Text-Decoration-Color: 初始值; font-variant-Number: 继承; :inherit;">使用广播集群解决第一代广播逻辑中存在的问题。
1.广播域变化,广播域变化只需要广播通知,只是集群,不需要通知全网。
2.广播域大小。广播集群使用DPDK来复制和转发消息。理论上广播域没有限制。
3.适应不同网络的问题。 各种网络网络只需向广播集群发送广播消息,不需要额外的逻辑开发,很好地适应不同的网络场景。
后来在第二代的基础上,UCloud提供了第三代广播解决方案。
第三代:广播集群+GARP嗅探
图:基于GARP嗅探的广播集群
第二代广播集群已经可以提供高可用服务了,为什么要开发第三代? ?毛织物?
从上一篇文章中我们了解到,在VIP切换过程中,GARP通过广播的方式通知整个广播域,然后进行VIP切换。但是广播域之外的服务器无法检索到相关信息。 带 VIP 切换的 3 层访问
跨三层访问需要后端数据库通过某种方式感知VIP位置的变化。在内网VIP切换过程中,GARP消息由于VIP位置广播域内的节点信息有改变后,广播集群可以捕获所有广播流量,广播集群利用特性ARP_SPA=ARP_TPA过滤GARP流量,并回传相应的位置信息
第三代架构下,广播集群支持公有云、物理云等各种异构网络,满足各种云计算的高级需求。-可用性应用场景
分析应用程序实例
1.电子商务支付系统的高可用性实践
某电商公司在日常频繁消费和各种促销活动中关注支付系统的可用性,消费者对支付系统的可用性非常敏感支付系统的可用性,“支付失败、退款、支付超时”等轻微故障会降低用户体验,严重时可能会导致用户流失。 ="margin: 0px; padding: 0px 0px 20px; border: 0px 当前颜色; border-image: none.text-align: justified; color: rgb(51, 51, 51); text[ k4]transform :无;行-高度:继承;文本-缩进:0px;字符-间距:正常;溢出:隐藏;清除:字体-系列:“Hiragino Sans GB”,“Microsoft Yahei” ", tahoma, arial, "宋泰";字体-大小:14px;字体-样式:正常;字体-粗细:400;字-间距:0px;垂直-对齐:基本位置嘿。 白色-空格:正常;孤儿:2人。 寡妇:2人。 字体-拉伸:继承;字体-变体-连字:正常;字体-变体-大写:正常;-webkit-文本-笔划-宽度:0px ; 文本-装饰-样式:初始;文本-装饰-颜色:初始;字体-变体-数字:继承; :inherit;">在这种情况下,这些电子商务公司希望通过提高支付系统的可靠服务能力来确保消费者的易用性。
为了实现高可用,UCloud基于Keepalived+内网VIP产品快速构建了可靠的电商在线支付系统服务,使得
图:构建高可用服务的示例
如上图所示,VIP绑定到作为主节点的UPHost(物理云主机),如果绑定失败,会发生VIP漂移,物理云网关会发送GARP消息并发送广播集群向后端报告其位置并更新物理云网关。然后广播集群复制GARP消息并将其发送到广播域信息以进行二层访问和三层访问。在几秒钟内更新以确保您的业务的高可用性。
2. UCloud云数据UDB产品高可用技术实现
UCloud云数据UDB产品的高可用技术实现同样采用了内网VIP技术。如下图所示,UDB产品的UDB可用性管理模块采用双主架构,通过Semi-实现数据同步]同步。当检测到主DB不可用时,自动触发内网VIP无状态迁移到备DB,保证用户UDB数据库服务的稳定性和可靠性。
<figure class="wp-block-image" style="margin: 0px; padding: 0px; 边框。 :0px当前颜色;边框-图像:无。 文本-对齐:对齐;颜色:rgb(51, 51, 51);文本-变换:无;行-高度:继承;
评论前必须登录!
注册