写点什么

你的可用性达标了吗?云端业务性能高可用的深度实践

  • 2019-03-12
  • 本文字数:2920 字

    阅读完需:约 10 分钟

你的可用性达标了吗?云端业务性能高可用的深度实践

近年来由于国内移动互联网的飞速发展,国内互联网用户也有了大踏步的飞跃。这对企业来说,既是机遇,也有挑战。


机遇在于,现实中如此多的互联网用户,都有可能是你的产品用户。尤其在当前流量为王的时代,如此大基数的用户,给互联网的产品带来了无限可能;同时,这也给企业的后台架构、运维体系提出了很高的要求,如果能够吸引到足够多的用户,却因为后台架构的可用性无法达到这种量级的标准,由于流量冲击过大导致后台架构崩溃,造成前端用户的不可用,从而造成大量的用户流失,这就是海量用户所带给企业的挑战。


在云计算时代,当“上云”已经成为一家互联网企业的标配之后,在云端,应该如何保障企业业务的连续性和可用性呢?IDC 在全球范围内针对多个行业下中小型企业(员工数小于 1000 名)的调研显示,近 80%的公司预计每小时的停机成本至少在 2 万美元以上,而超过 20%的企业估算其每小时的停机成本至少为 10 万美元。


而在当前国内互联网的大环境下,如果服务器宕机造成业务的不可用,所引起的连锁反应以及损失是不可估量的。你可以想象,如果在双十一当晚,电商 App 的支付接口出现了问题导致该业务不可用,所造成的损失会是多少。


因此,系统性能的高可用以及提前做好灾备措施已经成为了国内互联网企业的一个常态化认知。在云计算已经十分普及的现在,云端性能的高可用与否以及容灾措施的是否完善,正在成为企业衡量一家公有云厂商的重要标准之一。

云端如何实现系统性能的高可用


腾讯云高可用解决方案架构图


应用层面的高可用,腾讯云在技术架构以及应用落地方面已进行了诸多实践,其中主要囊括了以下 6 点:


1.客户端接入高可用:通过在客户端引入接入层技术(云解析、httpdns 和 IP 直连),依靠腾讯云在国内的 69 组集群以及海外 12 组集群,通过 DNS 智能调度,任意节点发生故障均能无缝切换到其他节点,保证服务的高可用性,同时防止域名劫持;


2.针对外网接入高可用:腾讯云当前支持 40+BGP 线路,可实现对故障的快速调度切换,防止因为骨干网故障导致业务的长时间不可用。同时腾讯云提供跨地域的 LB 接入和 anycast LB 能力,帮助业务实现跨地域跨区接入,避免因为机房故障导致业务中断。


3.云内网络高可用:跨区域通过数据中心互联(广域网)互通,且双环路保护,云上所有内部网络均基于成熟的网络虚拟化技术和网卡绑定技术来保证网络高可用性,在 T3+以上数据中心中采用多台服务器组成高性能群组,不依赖于某个独立硬件,因而不存在单点故障,单个服务器异常不会造成业务影响,保证运行网络的可靠性。


4.云上服务器高可用:腾讯云主机服务支持宕机迁移无感知、数据快照、自动告警等功能,为用户的服务器保驾护航。同时云硬盘提供三副本专业存储策略,消除单点故障,支持用户设定定期快照,定期将数据进行快照备份,保证数据可靠性。


5.中间件高可用:方案设计中可以考虑缓存和 MQ 多可用区域部署方案,在保障数据正确的同时,能够对各类中间件进行快速切换,尽量减少业务感知。


6.数据层高可用:CDB 数据库支持实时热备、读写分离,且实现了同城多可用区、异地灾备和两地三中心等满足金融级跨地域容灾需求;于业务低峰期自动冷备,不影响现网业务,每份冷备数据保存 3 份副本,保证数完整性。同时保留 5 天 binlog 日志供数据无损恢复,支持 5 天内库、表粒度的任意时间点回档,最大限度保障数据准确性,可靠性。


基础设施层的高可用,依托遍布全球 25 个地区的 53 个可用区,通过在全球部署超 1300 个加速节点以及超 100T 的带宽储备,能够将服务内容分发到全网加速节点,支持千万级用户并发,有效解决跨运营商、跨地域不稳定、高延迟访问等问题。

云端性能高可用运维实践

对于越来越多的上云企业而言,除了选择有高可用架构的云服务商之外,更要搭建符合自身业务特色的高可用架构,才是业务稳定性的重要保证。

快手云端多活容灾实践

快手的短视频和直播一直是其最重要的两个业务,此类在线流媒体播放的业务,不仅会对带宽、CDN 等流量方面有着高要求,更要求自身系统业务的高可用,如果由于访问量突增导致的流量突发、数据库读取缓慢所造成的用户体验差或者业务不可用,会对快手的业务造成极大影响。



为了确保平台服务的高可用,腾讯云从接入层、逻辑层、以及数据层帮助快手全面建设云端的高可用解决方案。


接入层:通过腾讯云专线链接各大机房,前端通过负载均衡接入,并且使用腾讯云的安全产品,保障全站的网络攻击。


逻辑层:逻辑层设计为多活模式,多中心业务部署,针对核心的业务在异地做多活,定期做演练,以保证能快速实现机房故障等灾难性故障的快速恢复。


数据层:数据层利用腾讯云数据产品的主备容灾架构做好足够的容灾,可以自动将数据库与腾讯云和客户 IDC 做异构系统备份。针对核心的业务在异地做多活,定期做演练,以应对机房故障等灾难性故障的快速恢复。

每日优鲜的云端单活热备部署实践

每日优鲜由于自身业务特性,在节假日有着较为明显的流量高峰期,需要长期面对高并发冲击的局面,因此之前将业务全部部署在单一云端上是有问题的,因为一旦出现网络异常、存储数据丢失等问题,由于缺乏相应的灾备能力,此类故障会导致业务线的全部不可用,尤其是在节假日人们此类需求较高的时期,如果出现此类问题,不仅会耽误到业务运营,还会对品牌构成负面影响。



为避免上述情况的发生,每日优鲜通过在云端实现多云热备部署以及 DNS 应急切换来实现业务容灾切换,以保障业务的连续性。双云之间通过专线打通,实现双线冗余,系统异常时流量会切入腾讯云,并通过技术手段实现数据一致性。

乐逗游戏异地容灾高可用实践

游戏行业对于高可用方案的需求则更为迫切,一款热门游戏,在极短的时间内需要应对 10 倍甚至百倍的用户量增长,如果后台系统架构的承压能力不够强,就会直接影响到游戏的顺利运营,游戏行业的用户争夺是非常激烈的,因此一旦出现不可用的状况,所带来的损失无法估计。


以乐逗游戏为例,乐逗游戏最重要的业务模块是游戏平台服务,为了确保该系统在特殊时期也能保持高可用的性能状态,乐逗游戏在腾讯云平台搭建了一整套异地容灾高可用解决方案。



为了实现游戏平台服的跨城异地容灾,规避机房故障等灾难性故障对业务造成的影响,乐逗游戏从三个层面做好了相应的准备:


接入层:前端通过负载均衡做接入,并购买 BGP 高防包绑定 CLB 做 DDOS 网络攻击防御,同时在安全防护上接入腾讯云宙斯盾防护体系,以应对 DDOS 网络攻击。


逻辑层:游戏逻辑层设计成无状态,故障时可直接剔除。此外为应对业务用户激增,可在容量扩展的同时接入 Auto Scaling,根据业务流量动态扩缩容。部分单点模块采用高可用虚拟(HAVIP)实现 HA 架构,主机故障自动剔除,规避云主机单点故障。


数据层:数据层采用了 Redis+Mysql 的存储架构,采用读写分离架构和主备容灾架构做好 HA,每天将数据库冷备文件自动导出并同步到对象存储 COS 中做异构系统备份。针对核心的平台登录服和支付服在异地做双活,定期做灾备演练,以应对机房瘫痪等灾难性故障的快速恢复。

结语:

随着越来越多的企业将业务部署在云上,云端的故障已经成为企业不得不关注的重点,采用高可用架构和方案也成为企业运维人员必须思考的话题。除此之外,作为企业技术人员,如何保证企业业务和服务的稳定性,值得业界一起探索。


2019-03-12 18:304343
用户头像

发布了 1459 篇内容, 共 693.0 次阅读, 收获喜欢 2484 次。

关注

评论

发布
暂无评论
发现更多内容

科创人·味多美CIO胡博:数字化是不流血的革命,正确答案藏在业务的田间地头

科创人

实时渲染:实时、离线、云渲染、混合渲染的区别

Finovy Cloud

渲染 云渲染

NFT质押流动性挖矿系统开发技术

薇電13242772558

NFT 流动性挖矿

Bytebase加入阿里云PolarDB开源数据库社区

阿里云数据库开源

阿里云 开源数据库 polarDB PolarDB-X 阿里云数据库

共享洗车机多少钱一台?看品牌

共享电单车厂家

自助洗车机价格 自助洗车加盟 共享洗车机多少钱

心楼:华为运动健康的七年筑造之旅

脑极体

特尔携手微软发挥边云协同势能,推动AI规模化部署

科技之家

模块五

Geek_2ce415

全上链哈希游戏dapp系统定制(方案设计)

开发微hkkf5566

Vue项目的创建和托管

Python研究所

6月月更

【计算讲谈社】第三讲:如何提出关键问题?

大咖说

逻辑学 辩证思维 关键问题

图像搜索应用场景(个人见解,欢迎补充)

Geek_e369a5

什么是图像搜索 图像搜索的应用场景 拍照购物用图像搜索的作用

无界共创,明道云参与广汽本田IT新技术展

明道云

解密安卓微信聊天信息存储

ooooooh灰灰

Go sqlite 微信 后端 SqlCipher

超大规模AI异构计算集群的设计和优化

Baidu AICLOUD

大模型训练 异构计算

车白兔:自助共享洗车机哪家好

共享电单车厂家

自助洗车机 自助洗车加盟 车白兔自助洗车

车白兔:洗车新模式共享自助洗车

共享电单车厂家

自助洗车 自助洗车加盟 车白兔洗车

在shiro基础上整合jwt,可在项目中直接使用呦

阿Q说代码

springboot Java EE 权限验证 shiro整合jwt

面试官:你说你精通Redis,你看过持久化的配置吗?

阿Q说代码

redis aof rdb 数据持久化

全链路业务追踪落地实践方案

云智慧AIOps社区

运维 AIOPS 解决方案 全链路追踪

Java—Servlet

武师叔

6月月更

【6.16-6.24】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

NFT双币质押流动性挖矿系统开发

开发微hkkf5566

共享智能自助洗车现在市场如何

共享电单车厂家

自助洗车加盟 自助洗车市场 共享智能自助洗车

效率提升 100%,YRCloudFile 让自动驾驶安全更有保障

焱融科技

人工智能 自动驾驶 大数据 数据存储

制造业项目MDM主数据项目实施心得

agileai

数据治理 数据集成 企业服务总线 项目实施 制造业项目

共享自助洗车24小时不打烊受青睐

共享电单车厂家

共享自助洗车 自助洗车 自助洗车加盟

Redis+Caffeine两级缓存,让访问速度纵享丝滑

码农参上

redis 缓存 JAVA开发 Caffeine

如何实现一套容器(C 语言版)2

祖维

c 容器 泛型 迭代器 双向链表

Guava中这些Map的骚操作,让我的代码量减少了50%

码农参上

JAVA开发 Guava java工具包

《各行业零代码企业应用案例集锦》正式发布

明道云

你的可用性达标了吗?云端业务性能高可用的深度实践_服务革新_InfoQ 中文站_InfoQ精选文章