EDAS微服务应用同城容灾最佳实践

简介: 大多数业务应用只要做到同城双活,就可以避免掉大多数数据中心不可用故障。本实践就是帮助大家高效、低成本地实现自己的业务应用具备同城双活容灾能力。

前言

上云目前已经是绝大数企业首选的IT基础设施建设方案,但是云上仍然存在一些不确定因素(机房硬件故障、网络故障、断网/断电、人为操作失误),导致各大云厂商每年在不同的数据中心都会发生一些故障,所以建设具备容灾能力的业务应用是必需的。公共云上容灾解决方案涵盖同城双活、跨Region容灾和异地多活等容灾场景,对公共云上大多数中长尾客户来说,更需要的是一种对应用侵入性小甚至透明,但又能保证高可用的容灾方案,同城双活无疑是首选的容灾方案,大多数业务应用只要做到同城双活,就可以避免掉大多数数据中心不可用故障。

本实践就是帮助大家高效、低成本地实现自己的业务应用具备同城双活容灾能力。通过这篇文章可以基于EDAS高效的实现同城双活容灾,在实现这些容灾场景的同时需要其他的阿里产品配合,也会一并介绍对应的解决方案,可以参考下面架构图:

 

鉴于目前需要做容灾的主流架构都已经拆分为微服务架构,而且微服务架构本身也是一种具备更强容灾高可用能力的架构。微服务架构一般由网关(统一接入层)、RPC框架(Dubbo,Spring Cloud)、消息(MQ)、分布式数据库、缓存等核心软件构成,通过EDAS可以高效地实现入口流量切流、RPC路由容灾、多可用区部署等能力,参考下图:

 

方案主要产品介绍

 

EDAS

企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是应用全生命周期管理和监控的一站式 PaaS 平台,支持部署于Kubernetes/ECS,无侵入支持Java/Go/Python/PHP/.NetCore 等多语言应用的发布运行和服务治理,Java 支持 Spring Cloud、Apache Dubbo 近五年所有版本,多语言应用一键开启 Service Mesh。

云解析DNS

云解析 DNS(Domain Name System,简称DNS) 一种安全、快速、稳定、可靠的权威DNS解析管理服务。 云解析DNS为企业和开发者将易于管理识别的域名转换为计算机用于互连通信的数字IP地址,从而将用户的访问路由到相应的网站或应用服务器。

负载均衡 SLB

负载均衡SLB(Server Load Balancer)是一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性。

云数据库 RDS

阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于阿里云分布式文件系统和SSD盘高性能存储,RDS支持MySQL、SQL Server、PostgreSQL等引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。

 

同城容灾各层解决方案

 

应用的多可用区部署

利用EDAS部署应用,可以快速实现将应用节点部署到不同可用区。下面分别从ECS 和K8S两种托管资源方式进行介绍。

ECS集群部署

将不同可用区的ECS导入到EDAS,放到同一个集群中,在应用列表中选择创建应用:

 

点击下一步选择倒入集群中的不同可用区的ECS节点,完成应用的创建, 既可以完成应用不同可用区节点部署的能力。

 

K8s集群部署

将创建好的K8s集群(node 多可用区)导入到EDAS中, 创建应用的时候,在应用高级设置,选择多可用区部署,完成应用的创建, 即可以完成应用不同可用区节点部署的能力。

 

流量接入层高可用

EDAS部署的应用可以直接挂载多个SLB满足容灾的需求,完全不依赖SLB自身的容灾机制(SLB切换逻辑只发生在只有当主可用区整体不可用时,如机房整体断电、机房出口光缆中断等,负载均衡才会切换到备可用区),做到用户可控制,在一个地域内的多个可用区或多个地域内部署负载均衡实例和EDAS 应用节,然后使用云解析DNS对访问进行调度:

 

点击刚才第一步多可用区部署的应用列表,进入具体的应用总览菜单页面,通过访问方式给入口应用(网关)配置多个SLB。

 

通过使用全局流量管理构建灵活的DNS解析方案,将上述创建的SLB添加到全局流量地址池中,基于健康检查结果,配置DNS容灾流量切换方案,可以做到在一个可用区不可用时,自动解析到另外一个可用的可用区SLB,做到智能化的接入层流量容灾能力处理。

RPC层面高可用

EDAS支持多种微服务RPC框架,比如Dubbo,Spring Cloud,当用户使用如上RPC框架的时候,当部署的多可用区应用发生可用区不可用的时候,可以利用EDAS微服务治理的离群摘除能力,自动将不可用可用区的节点摘除下线,等可用区网络等故障恢复以后,自动将节点加回到应用集群中,做到智能化的故障处理。

 

上述图中应用 A 调用的应用 B、应用 C、应用 D 均被策略控制,如果被A调用的应用对应实例返回错误率达到下限,异常实例将被摘除不再被A调用(检测恢复后重新加入被A调用)。

 

首先进入微服务治理选择对应的RPC框架,比如这里选择的 Spring Cloud,选择离群摘除菜单,按照以下步骤进行配置:

 

 

其中QPS下限按照EDAS应用的可观测能力,按照平常的QPS配置下限值。错误率在容灾场景下配置10%到50%区间。摘除实例<50%,保证集群的可用性,不引发上下游雪崩。恢复时间和累积探测次数都可以设置默认值,来保证可用区故障恢复后,自动将节点恢复。

 

除了上面提供的离群摘除功能,EDAS还为部署的Provider应用提供了开启同机房优先调用的能力,在发生可用区的故障时,如果开启同机房优先调用,不会出现跨机房调用,那么RPC层面的流量就不需要利用离群摘除等容灾能力进行重新的节点流量处理或者隔离,从而保障故障发生时刻,业务完全没感知。

微服务基础设施高可用

EDAS在部署应用的时候,背后已经默认提供对应的微服务基础设施:比如注册中心,配置中心。这些对客户不暴露的微服务组件都已经实现同城容灾,在发生可用区不可用的情况,可以继续保证服务的可用性,大大降低了客户对容灾组件的运维复杂度。

数据库层面高可用

在完成应用部署结构以及RPC层面的流量同城双活处理后,对于数据可靠性,RDS MySQL提供高可用版本实例,采用一主一备的双机热备架构,适合80%以上的用户场景。主节点故障时,主备节点秒级完成切换,整个切换过程对应用透明;备节点故障时,RDS会自动新建备节点以保障高可用。在创建实例的时候选择高可用版,部署方案选择多可用区部署:

 

 

创建多可用区实例时,备机房将创建与主机房相同规格的Replica实例,主备机房的实例数据通过专门的复制通道同步。当主机房出现电力或网络问题时,Replica实例将升级为Master实例,底层系统就会自动把请求路由到备机房,从而实现故障切换。

结束语

经过上述方案,我们可以利用阿里云EDAS 等相关产品,快速低成本的搭建具备同城双活容灾业务应用,保障线上业务在可用区发生不可用时快速实现流量数据切换,从而保证业务可持续性,该方案对公共云90%以上的用户都能满足其容灾需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/514303.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

脸书推出VR视频会议应用程序 正式跨出元宇宙第一步;三家公司新入选福布斯2021云计算百强榜;微软挖来亚马逊云业务顶级高管贝尔...

NEWS本周新闻回顾微软挖来亚马逊云业务顶级高管贝尔微软公司已经聘请亚马逊云业务高管查理贝尔担任其企业副总裁。鉴于微软的Azure 云业务正试图从亚马逊 AWS 手中争夺份额&#xff0c;这一挖角行动可以说是微软的一次胜利。在亚马逊前 AWS 主管安迪贾西被任命为亚马逊 CEO 后&…

三字经带拼音a4打印版_人教版八年级下册英语6单元重点单词带音标打印版

UNIT 6shoot [ʃu:t] v. 投篮&#xff0c;射击&#xff0c;发射stone [stəʊn] n. 石头weak [wi:k] adj. 虚弱的&#xff0c;柔弱的god [ɡɒd] n. 上帝&#xff0c;神remind [rɪmaɪnd] v. 提醒&#xff0c;使想起bit [bɪt] n. 一点&#xff0c;小块a little bit 有点儿&am…

拥抱云原生,Fluid结合JindoFS :阿里云OSS加速利器

简介&#xff1a; Fluid 是一个开源的 Kubernetes 原生的分布式数据集编排和加速引擎&#xff0c;主要服务于云原生场景下的数据密集型应用。在 Fluid 上使用和部署 JindoRuntime 实现数据集的可见性、弹性伸缩、数据迁移、计算加速等&#xff0c;并流程简单、兼容原生 k8s 环境…

【观点】传统企业如何在数字化时代实现进化?

简介&#xff1a; 我们看到的数字化的大多数场景集中于日常商业消费活动&#xff0c;背后其实是超越个体行为的场景变革。 究竟是谁在承载这个时代一步步走进数字化场景&#xff1f;又是谁通过数字化技术与解决方案帮助他们实现场景变革&#xff1f;这个过程是什么样的&#xf…

网易数帆发布轻舟低代码平台2.0,聚焦中等复杂度企业级应用

编辑 | 宋 慧 出品 | CSDN云计算 头图 | 轻舟低代码平台2.0发布会现场 8月26日&#xff0c;网易数帆正式发布轻舟低代码应用开发平台2.0版本&#xff08;以下简称“轻舟低代码平台”&#xff09;&#xff0c;以全新的可视化编程语言为特色&#xff0c;针对中等复杂度的企业级应…

宝塔 开启_宝塔面板安装完的一些列操作

前言新安装的宝塔会有很多地方需要配置&#xff0c;如果懂的大佬可以跳过&#xff0c;如果是小白可以按照辉哥的教程一步步操作&#xff0c;辉哥是以虚拟机进行操作的&#xff0c;但是服务器也是一样的道理&#xff01;安全入口因为现在使用宝塔面板的人数在激增。所以为了避免…

黑灰产攻击洪峰来袭,企业如何守住自己的钱袋子?

简介&#xff1a; 风控大考最佳实践 根据阿里云历史行业风险治理相关数据显示&#xff0c;未经风险管控的自然流量中&#xff0c;约三分之一比例属于疑似黑灰产的高风险行为&#xff1b;而在建立合理的风控指标监控体系并采取风险防控手段后&#xff0c;高风险用户比例下降至3%…

服务网格的最佳实践

简介&#xff1a; 服务网格是用于处理服务间通信的专用基础设施层。它负责通过包含现代云原生应用程序的复杂服务拓扑来可靠地传递请求。 微服务发展的这几年&#xff0c;新的技术和概念层出不穷&#xff0c;这些技术的引入本质上都是在围绕服务稳定性和业务开发效率提升&#…

高性能开发,别点,发际线要紧!

作者&#xff1a;轩辕之风O来源&#xff1a;编程技术宇宙-前言-程序员经常要面临的一个问题就是&#xff1a;如何提高程序性能&#xff1f;这篇文章&#xff0c;我们循序渐进&#xff0c;从内存、磁盘I/O、网络I/O、CPU、缓存、架构、算法等多层次递进&#xff0c;串联起高性能…

如何打造一个高性能的前端智能推理引擎

简介&#xff1a; 什么是前端智能推理引擎又该如何打造和应用呢&#xff1f; 什么是前端智能推理引擎 在前端智能推理引擎之前&#xff0c;我们先来说一下什么是”端智能”。 端智能&#xff08;On-Device Machine Learning&#xff09;是指把机器学习的应用放在端侧做。这里…

115配额怎么增加_笔电、平板接口少怎么办,ORICO八合一多功能扩展坞助你一臂之力...

现在笔记本电脑大多都往轻薄的外形上发展&#xff0c;保持性能的前提下可以增加移动的便捷性&#xff0c;但是弊端同样明显&#xff0c;那就是牺牲掉了一部分常用接口。比如我手上这部戴尔XPS&#xff0c;左右两侧加起来只有4个可怜的接口&#xff0c;其中还包括一个SD槽&#…

OpenYurt:延伸原生 Kubernetes 到边缘场景下的落地实践

简介&#xff1a; 随着云原生技术的逐步成熟&#xff0c;阿里云容器服务团队在具体落地实践过程中不断探索云原生技术的应用边界。同时随着物联网和 5G 的迅猛发展&#xff0c;传统的边缘计算架构已经不能满足业务发展的需要。 如何基于云原生技术构建新一代的边缘计算平台成为…

对象存储,为什么那么火?

作者|小枣君 来源|鲜枣课堂引言上期文章&#xff08;链接&#xff1a;关于存储技术的最强入门科普&#xff09;&#xff0c;小枣君给大家详细介绍了数据存储技术的基本知识&#xff0c;其中重点对DAS、SAN和NAS技术进行了对比分析。我们知道&#xff0c;在很长的一段时间里&…

使用react实现select_React笔记——核心概念:9.表单

1、受控组件在 React 中&#xff0c;可变状态(mutable state)通常保存在组件的 state 属性中&#xff0c;并且只能通过使用 setState()来更新。state&#xff1a;唯一数据源渲染表单的 React 组件还控制着用户输入过程中表单发生的操作。被 React 以这种方式控制取值的表单输入…

压测场景下的 TIME_WAIT 处理

简介&#xff1a; 压测场景下的 TIME_WAIT 处理 1. 序 某专有云项目具备压测场景&#xff0c;在Windows的压测机上用 LoadRunner 进行业务的压力测试&#xff0c;压测运行一段时间后出现大量端口无法分配的报错。 其实通过问题描述&#xff0c;以及 Windows的报错信息基本确定…

DataX在数据迁移中的应用

简介&#xff1a; DataX在数据迁移中的应用 1. DataX定义 首先简单介绍下datax是什么。 DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台&#xff0c;实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS…

华为发布《绿色5G白皮书》,定义绿色5G网络八大技术方向

全球“碳达峰、碳中和”已成主流趋势&#xff0c;为了助力全球运营商绿色网络“双碳”行动计划的达成&#xff0c;在华为首届无线媒体沙龙上&#xff0c;华为无线网络SRAN产品线总裁马洪波发表了“绿色5G&#xff0c;E2四化八大方向&#xff0c;共赢双碳未来”主题演讲&#xf…

判断是否包含大写字符_Python最常用的数据类型中字符串基础函数使用知识点讲解...

字符串是 pthon 中最常用的数据类型。我们可以使用单引号、双引号或者三对单双引号来创建字符串。创建字符串很简单&#xff0c;只要为变量分配一个值即可。Python 的字符串有什么内建函数可以使用&#xff1f;len()方法返回对象(字符、列表、元组等)长度或项目个数。每个字符一…

Arthas 使用的各类方式

简介&#xff1a; Arthas 是阿里巴巴开源的 Java 诊断工具。让我们能够在线排查项目发生的问题。除了知道它的存在之外&#xff0c;我们也需要知道我们如何去安装使用它&#xff0c;以便于提高我们日常开发解决 BUG 的效率。 方案介绍 方案一&#xff1a;本地直接运行 往往最…

antd autoplay按f12才会轮播_涨知识了!原来这才是电脑键盘上,F1到F12的正确用法...

在这个快节奏的时代&#xff0c;工作效率可以说是非常重要的&#xff0c;所以熟练掌握电脑就是提高效率的好方法&#xff01;那如何快速的掌握电脑呢&#xff1f;这就不妨先了解下键盘上F1-F12的正确用法哦&#xff0c;每个都是提高效率的快捷键。F1&#xff1a;获取帮助如果你…