物联网模式下的多活数据中心架构认识与实践

做互联网应用很重要的一点是要保证服务可用性,特别是某些业务更是需要7*24小时不间断的对外提供服务,任何停机、宕机都会引起大面积的用户不满。持续可用性是把业务服务化时一个需要考虑的重要指标,很多时候我们都会牺牲一些功能来换取可用性。如何保证服务的持续可用性,是每个互联网架构师一直坚持不懈追求的目标。在不同行业、不同场景下都有不同的解决方案。今天就与大家聊聊特来电在物联网模式下的多活数据中心架构上的认识和实践。

特来电是全球首家提出了将车联网、充电网、互联网三网融合的充电桩生态公司,拥有近18万个充电桩,覆盖了全国240多个城市,服务客户不仅有ToC端、ToB端,还有很多的社会运营车辆。在如此复杂的客户群面前,充电网每时每刻都有大量的充电用户,无论在静寂无声的夜晚,还是在节假日,充电永不停歇。用户入眠的时候,是我们充电网络最繁忙的时刻,可以说特来电的充电网必须要有99.9%甚至更高的可用性,才能满足业务的需要。特来电的充电网与其他厂商的充电桩还不一样,其完全构建在物联网之上的。每个充电终端都是智能的,都在时时刻刻与云平台保持着通讯,下面是业务全景图。

像其他互联网公司一样,我们做多活也是迫不得已的事情:

  1. 所有业务放到一个篮子里面,当出现严重故障时,整个充电云服务将完全宕机,无法满足SLA99.9%甚至更高的要求。
  2. 云平台架构完全是分布式的,部署结构复杂,各产品功能不支持灰度发布,产品新功能上限频繁,产品中隐藏很深的bug,很容易引起大面积的云服务故障。
  3. 因为架构和一些技术实现,一个数据中心服务负载总会有上限,在特定的一些条件下,增加虚拟数量也无法提升系统的服务水平(比如:TCP连接数是有上限的)

基于以上考虑,以及填过无数坑的教训,我们决定必须要建立多活数据中心。既然要建多数据中心,那就要看看业界的一些主流做法和技术趋势。在众多的解决方案中我们找到了两篇非常富有代表性的文章:微信高并发资金交易系统设计方案——百亿红包背后的技术支撑、首席架构师揭秘蚂蚁金服互联网IT运维体系实践。

微信红包的主要思路是:

  1. 系统垂直SET化,分而治之。各个SET之间相互独立,互相解耦。并且同一个红包ID的所有请求,包括发红包、抢红包、拆红包、查详情详情等,垂直stick到同一个SET内处理,高度内聚。通过这样的方式,系统将所有红包请求这个巨大的洪流分散为多股小流,互不影响,分而治之。
  2. 逻辑Server层将请求排队,解决DB并发问题。使拆红包的事务操作串行地进入DB,只需要将请求在Server层以FIFO(先进先出)的方式排队,就可以达到这个效果。从而问题就集中到Server的FIFO队列设计上。
  3. 双维度库表设计,保障系统性能稳定。当单表数据量达到一定程度时,DB性能会有大幅度下降,影响系统性能稳定性。采用冷热分离,将历史冷数据与当前热数据分开存储。系统在以红包ID维度分库表的基础上,增加了以循环天分表的维度,形成了双维度分库表的特色

蚂蚁金服的主要思路是:

蚂蚁金服提出了“LDC”架构,其核心思想是:把数据水平拆分的思路,向上提升到接入层、终端层,从接入层开始,把原来部署在一个IDC中的系统集群,进一步分成多个更细粒度的部署单元。

  1. 每个单元对外是封闭的,在一个单元内的系统调用链路和各类存储访问是局部化在本单元内的;
  2. 每个单元的实时数据是独立不共享的;会员或配置类信息等对延时性要求不高的数据全局共享;
  3. 单元间的通信统一管控,尽量以异步化消息进行通信;同步调用则通过单元间代理方案实现。

通过两家互联网巨头公司的方案可以看出一个共同的特点,就是期望通过分流的模式,把大流量切成小流量,从接入层开始,把原来部署在一个IDC中的系统集群,进一步分成多个更细粒度的部署单元 ,应对流量压力。这种架构下,不仅仅解决了流量天花板问题,而且在系统整体可用性上有了一个质的变化。即使系统不可用,也是少部分服务单元出问题,不会影响全国业务。这不正是我们梦寐以求的东西吗?

基于此我们规划设计了特来电云平台的多活系统架构。总体思路是分为三步走:

第一步:中间件、技术平台要进行适应性改造,以支持多数据中心、多Set化的架构。不管后续部署结构如何变化,技术平台和组件都要可适应。下面是技术平台和中间件的架构图,图中的五个平台都需要改造。

第二步:架设两个数据中心,每个数据中心部署一个服务单元,两个数据中心进行引流,验证总体架构和设想,实现双活架构。核心思路:

  1. 上海、北京异地两数据中心双活,部分充电桩分流到上海数据中心。
  2. 用户充电时,根据集控所在数据中心,下达充电指令。非充电业务,默认访问主数据中心
  3. 当北京数据中心或上海数据中心宕机时,通过流量管理器自动切换到另一个数据中心。提升系统可用性。

第三步:架设多个数据中心、多个服务单元,按照地区对流量进行切割,真正实施多活架构。核心思路:

  1. 建立多活数据中心,每个数据中心多个服务单元。
  2. 充电桩在接入云服务时,根据所在地区自动引流到对应的服务单元。
  3. 用户充电时,根据登录地区,由流量管理器映射到对应的服务单元

通过近半年的努力,我们不仅完成了第一步的工作,而且还完成了第二步规划。在2017-6-27日,上海数据中心正式激活并引流成功。至此,我们终于在多活架构上迈出了最坚实的一步。这标志着,我们不仅仅具备了完善了技术架构,而且这个架构是可以复制的、多活的,终于有可能把整个系统可用性做到100%。

架构的变迁会随着业务的变化而变化,不同阶段有不同的需求。规划了这些、做了这些,也是只万里长征的第一步。2020年后才会真正迎来新能源汽车爆发式发展,届时会有50%以上的电动汽车在我们的平台下充电,每天都有可能数千万度电甚至数亿电在特来电的充电网上发生。架构的升级将会继续,会越来越快,也会越来越复杂,但是我们乐在其中,期望志同道合的战友一起战斗!!!

时间: 2024-10-13 01:49:18

物联网模式下的多活数据中心架构认识与实践的相关文章

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程

测试Oracle 11gr2 RAC 非归档模式下,offline drop数据文件后的数据库的停止与启动测试全过程 最近系统出现问题,由于数据库产生的日志量太大无法开启归档模式,导致offline的数据文件无法online! 数据库在启动的时候不检查offline的数据文件! 下面进行测试 数据库版本 SQL> select * from v$version; BANNER ------------------------------------------------------------

双活数据中心架构分析及优缺点

什么是双活数据中心 ? 首先我们要知道双活就是Active-Active,故名思义就是两边都是活动在线提供服务的,是相对于传统的主备模式Active-Standby模式的.一个真正的双活方案是应该涵盖基础设施.中间件.应用程序各个层次的. 双数据中心同时对外提供业务生产服务的双活模式,两个数据中心是对等的.不分主从.并可同时部署业务,可极大的提高资源的利用率和系统的工作效率.性能,让客户从容灾系统的**中获得最大的价值. a.两个生产中心部署相同的业务系统,结合网络层.主机层或应用的负载均衡技术

数据中心架构ToR和EoR【总结】

1.前言 最近在看<云数据中心网络技术>,学习了企业数据中心网络建设过程,看到有ToR和EoR两种布线方式,之前没有接触过,今天总结一下. 2.布线方式 ToR:(Top of Rack)接入方式就是在服务器机柜的最上面安装接入交换机. EoR:(End of Row)接入交换机集中安装在一列机柜端部的机柜内,通过水平缆线以永久链路方式连接设备柜内的主机/服务器/小型机设备.EoR 对设备机柜需要敷设大量的水平缆线连接到交换机. 3.对比 EOR布线方式的缺点:从服务器机柜到网络机柜的铜缆多(

浅谈数据中心架构演变

谈到数据中心的架构和建设,我们不难想到最初的三层架构,即完全硬件化的架构. 显而易见,这种方式的特点如下: ①  设备独立--单个设备承载单个功能 ②  管理割裂--单个设备单独管理 ③  厂商异构--服务器.网络.安全等设备由不同厂商提供 缺点也很明显: ①  硬件资源利用率极低,硬件投资成本大,资源浪费明显 ②  业务上线周期长:从市场调研,到预算规划,到硬件采购,到部署上线,周期在1个月到半年不等 ③  管理维护难,排障难,扩容难. ④  无冗余性.无高可用,故障恢复周期长. 为了解决这些

魅族MX3\MX2 在MTP模式下恢复手机误删数据教程

昨天帮室友的魅族mx3升级系统,结果不小心把他手机里的照片删了.但是自从flyme升级到3后,以前的U盘模式就改成了MTP模式,这样再连接电脑后就没办法用电脑上的数据恢复软件恢复数据了,因为压根就检测不到磁盘…… 然后怀着无比guilty的心情,我在网上找了好多教程,结果没有一个能用的......后来结合网上查到的资料,经过一番折腾,终于功夫不负有心人折腾出一个切实可用的方法,在我的二妹和室友的三妹上亲测可用.现在无私分享给煤油们!!! 开始之前先说明两点: 一,数据恢复是一个概率性的操作,不能

云计算环境下的数据中心、网络和系统架构

云计算环境下的数据中心.网络和系统架构 对于云计算而言,应着重从高端服务器.高密度低成本服务器.海量存储设备和高性能计算设备等基础设施领域提高云计算数据中心的数据处理能力. 云计算要求基础设施具有良好的弹性.扩展性.自动化.数据移动.多租户.空间效率和对虚拟化的支持.那么,云计算环境下的数据中心基础设施各部分的架构应该是什么样的呢? 1.云计算数据中心总体架构 云计算架构分为服务和管理两大部分.在服务方面,主要以提供用户基于云的各种服务为主,共包含3个层次:基础设施即服务IaaS.平台即服务Pa

Angularjs在360兼容模式下取数据缓存问题解决办法

测试提了一个bug,在360浏览器兼容模式下,删除页面数据需要手动刷新浏览器才能看到最新的数据.首先要复现当时的问题,很容易就复现了,但是发现在360浏览器兼容模式下无法打开开发者工具.好在经过反复重装之后,终于打开了开发者工具,经过跟踪发现,第一次删除数据时可以正常刷新,第二次或以后的删除将无法刷新,跟踪代码,发现通过异步请求的数据正常的返回并且绑定了.点击搜索按钮,也无法实现刷新,但是点击分页,发现可以翻页.初步推断是浏览器缓存了异步请求数据,跟踪比较返回的数据发现,推断是正确的.于是从网上

绿色数据中心节能,值得探究的八大秘密

随着企业信息化建设的迅速发展,数据中心建设越来越重要,将直接影响企业信息系统的建设和应用效果.根据IDC的估算,从运行成本控制的角度看,在IT行业中,能源消耗成本已经达到企业硬件采购成本的25%.而数据却正以52%的复合年均增长率不断攀升.当企业面对不断变化的业务压力,以及呈指数级快速增长的数据时,需要对数据中心环保.节能方面的特性予以足够的考虑和重视. 如何在确保数据高度安全和高度可靠的前提下,最大限度地保证企业在数据中心建设中能够减少浪费和降低无效投入,打造一个真正"绿色节能"的数

OpenStack让数据中心随时就绪

文/Anni Lai 移动化.云.社交媒体.大数据以及物联网(IoT)的爆炸式增长给当今的商业市场带来了不可估量的新机遇,但同时也伴随着各种新的威胁.面对飞速增长的数字经济,业界所有企业都亟待开创新的商业模式和服务,这使得创新速度.业务敏捷度和运营效率越来越成为企业立于不败之地的主要因素. 作为业务的基石,数据中心急需以转型来大力支撑业务创新,提供更短的上市时间,以及更高的敏捷度和效率.虚拟化和云计算在当今数据中心转型中扮演着关键的角色:帮助数据中心进行资源整合,加快资源共享,简化IT运营管理,