DLI可靠性之跨AZ双活

举报
DLI_C 发表于 2020/06/15 15:50:35 2020/06/15
【摘要】 可靠性的保障一直是软件人员一直以来努力的方向,为广大用户提供高可靠的服务也是我们软件人的使命,下面我从DLI的跨AZ双活方案来简单解读下DLI可靠性的一部分特性

DLI可靠性之跨AZ双活

服务保障可靠性的几个关键点

         在现实世界中,故障和BUG无处不在,云服务也同样如此。硬盘可能损坏、网络可能中断,用户和业务提供方都希望能够预防故障的出现,但事与愿违,现在它还是一个无法实现的梦想。

         那就需要我们转变思路,从避免故障出现转向即使出现了故障也不会使服务不可用。其中有以下几个关键的点:功能降级、断路器、舱壁、冗余、冗灾,此次文章想谈的点就是对于一个高可用的服务,必须具备冗余的能力。即对于一个高可用的服务,必须具备冗余的能力,当一个实例故障后,可以由其它实例继续提供服务。这些实例需要被监控,并在实例故障时能够拉起新的实例。这些服务实例必须具备良好的负载均衡能力,并部署在不同的节点上(最好是不同的物理机,以避免同时故障)。

扫把.jpg

DLI集群级别的可靠性保障

         对于之前的DLI来说,每个队列会绑定到一个AZ(物理可用区),用户的SQL等作业都会提交到这个集群中运行,但是当这个AZ遇到不可抗力因素断电后,那么意味着这个AZ下的所有服务都不可供用户使用,也就是不可靠了。而用户希望的场景是当一个AZ挂掉后,我的作业能够继续提交到另外一个AZ下运行,这是一个比较合理的诉求。而目前DLI提供的就是这种跨AZ双活方案,用户只需要在购买队列页面中选择包周期/按需专属,勾选跨AZ选项即可。

图片.png

         AZ意思就是作业提交会提交到两个不同的AZ中,而双活的意思就是两个AZ下的集群可以同时接收任务,同时存活可用。

         从文案的名字也可以大致看出来,我们使用的可靠性方案是冗余,即是在创建集群资源的时候我会在两个AZ下都建一个相同规格的集群,用户提交SQL作业时我们会负载均衡的将作业分发到这两个集群中,当一个AZ下的集群不可用时,作业会经过failover机制重新提交到另外一个可用AZ下的集群中。且有定时检测机制,每分钟会检测是否有失败的集群,当有一个集群失败后会在另外一个AZ下重新创建一个相同规格的,这样用户又可以拥有两个双活的集群进行作业提交。并且对于用户而言,这整个过程是无感知的,且和之前的操作基本没有变化,但是可靠性确大大增加了。目前已经处于内部使用期,当稳定后会推广到华为云全网的DLI局点供所有的用户使用。

         欢迎体验数据湖探索(DLI)服务:https://www.huaweicloud.cn/product/dli.html

优势和局限性

1.       从保障服务可用性的角度来说,DLI双活方案可以保障用户在大部分情况下的使用可靠性,并且是无需用户额外进行操作的

2.       从作业执行角度来说,由于有双份的资源,用户提交作业的并行度也会得到一个比较大的提升

3.       例如用户原本使用的是1000CU,那么跨AZ可以建两个500CU的集群,这样费用方面也和之前没有什么差别,花同样的钱确体验到了更加先进可靠的服务,何乐而不为呢


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。