在国家“十四五”规划和2035目标纲要中,明确提出要加快数字化建设步伐。数据中心领域作为国家“新基建”战略的七大领域之一,是推进我国数字经济发展所不可或缺的关键基础设施。然而,数据中心行业的快速发展也带来了能源消耗快速增长的严峻问题。
工信部印发《新型数据中心发展三年行动计划(2021—2023年)》提出,到2023年底,新建大型及以上数据中心PUE降到1.3以下。硬指标与时间表的设定,将进一步加快绿色数据中心的普及。
如何实现节能降耗、构建绿色低碳的新型数据中心,如何走出高效、低碳、集约、循环的绿色发展道路,实现碳达峰、碳中和的目标,成为数据中心行业的发展的重中之重。
作为一家深耕 IDC 产业十七年的公司,唯一网络坚持技术创新,全面加强东莞沙田数据中心、志享(华南)数据中心的节能降耗能力打造,多措并举降低能源损耗、提升设备效能,以AI技术赋能数据中心运营,同时依托管理平台实现智能化运维,为实现碳达峰、碳中和目标贡献力量。
01 技术“新”:打造“绿色节能”发展底色
为践行国家“双碳”战略,唯一网络在两大数据中心规划设计之初,就优先考虑节能减排,从建筑设计、机房结构、机电设备选型等方面入手,遵循统筹规范、存算均衡、空间集聚、绿色节能理念进行建设。
众所周知,数据中心机房设备在运行中会产生大量热量,而服务器、处理器需在恒定温度下才能达到最佳性能。因此,负责持续调节机房温度的空调制冷系统就成为数据中心的耗电大户。
以东莞沙田数据中心为例,为进一步优化空调制冷系统的冷却效率,采取了以下技术方案:
1、采用“变频离心式+磁悬浮变频离心式”高效冷水机组,结合机房冷冻水水温要求,采用磁悬浮变频离心式中温型冷水机组,其正常运行COP能达到7.3,大大提升了单位用电量的制冷量;
2、IT机房采用“下送风精密空调+封闭冷通道”的制冷形式,每个末端空调前端增加了静态、动态平衡阀,把冷冻水平均地分配到每个末端空调,进一步提升冷冻水使用效益;
3、应用BA自控系统,通过环管管道将冷冻水输送到机房精密空调间提供制冷,结合数据中心封闭式冷通道的设计,提升冷却效率。
在清洁能源方面,东莞沙田数据中心配套建设分布式光伏电站和储能电站,可转化清洁能源为数据中心生产供能,同时可利用峰谷价差为数据中心提高经济效益。经测算,年发电量达25万多度,有效节约电费20多万元。
02 运维“智”:实现能效管控“心中有数”
在唯一网络数据中心运维大厅,巨大的屏幕上一行行数据正在实时变化:机房耗电量是降还是升?空调系统运行是否在能耗最优模式?光伏组件每小时发电量多少?电能利用效率(PUE)值如何?这些信息都能在大屏幕上一目了然,真正让数据中心能效管控做到“心中有数”。
为推进数据中心绿色运维降本增效,唯一网络运用智能化的BA系统,通过AI智能分析主设备、供电、空调的整体能耗,实时监控运行数据,持续系统调优并给出维护策略,可实现制冷系统的集中管理、精确制冷和寻优控制,同时满足了智能供电、智能散热的需求,确保数据中心低能耗、高性能运行。从而有效降低数据中心PUE指标,以达到国家节能管控的要求。
在今年行业内的多个评选中,唯一网络数据中心凭借高效的数据中心智能化运维水平、高安全性的数据中心运维技术、优秀的绿色低碳节能水平等突出优点荣获多个奖项,这是对唯一网络数据中心运营水平的高度认可和肯定。
未来,随着国家“双碳”战略的不断实施,绿色节能、可持续发展将会是数据中心行业发展的主旋律。唯一网络将持续迭代IDC智慧化运营能力,坚持绿色发展,持续传递低碳环保理念,引领数据中心走高效、低碳、集约、循环的绿色发展道路,为提高数字经济社会高质量发展提供源源不断的新动能。
2020年,笔者负责的一个高德打车弹外订单系统进行了一次扩分库分表和数据库迁移。该订单系统全局部署在阿里云上,服务应用阿里云ECS部署,数据库采纳阿里云RDS,配置中心基于阿里云ACM自研,数据同步基于阿里云DTS自研以及自研分库分表组件、分布式ID组件等等。 此次进行扩分库分表的背景是,原4实例4库、各个库64张表一共256张表,部分单表已超千万量级,按目前每日单量量级,一年内单表会达到上亿条记载,单表数据量过大会带来数据库性能问题。 4实例(16C/64G/3TSSD),4库(各个实例一个库),每库64张表,共256张表。 经过RDS后台一键诊断功能,来计算表空间应用情形(这里拿测试情境数据库举例)。 数据库的瓶颈主要表现在:磁盘、CPU、内存、互联网、联结数,而联结数主要是受CPU和内存作用。CPU和内存可以经过动态升配来提高,可是SSD磁盘容量最大支持到6T(32C以下最大3T、32C及以上最大6T)。 可是现阶段兼顾成本,可先将实例扩容一倍,采纳8个实例(16C/64G/3TSSD),各个实例建4个库(database)、各个库128张表(这里实质上是一个成本取舍的流程,理论上应该采取”多库少表”的准则,单库128张表其实太多了,单库建议32或64张表为宜)。 接下来如果实例压力提高可进行实例配置改进(16C/128G、32C/128G、32C/256G等);将来如出现单实例升配无法解决,在考虑扩容实例,只需求将database迁移至新实例,迁移成本较小。 按单表最多1000w条数据评估,4096张表可支持日5000w单3年(10.1压测标准)、日2000w单5年的架构。(因业务表比较多,此处忽略掉单条数据大小的计算流程) 32个库,各个库128张表。将来可最大扩容到32个实例,无需rehash,只需求迁移数据。 阿里云RDS规格和价钱一览 因扩分库分表涉及到rehash流程(256表变4096表),而阿里云DTS只支持同构库数据迁移,所以我们基于DTS的binlog转kafka实力自研了数据同步中间件。 整体数据迁移工作包含:前期预备、数据同步环节(历史数据全量同步、增量数据实时同步、rehash)、数据校验环节(全量校验、实时校验、校验规章配置)、数据修复工具等。 在进行数据同步前,需求先整理一切表的惟一业务ID,只有确定了惟一业务ID才学兑现数据的同步操作。 需求重视的是: 一旦表中没有惟一索引,就会在数据同步流程中造成数据重复的危险,所以我们先将没有惟一索引的表依据业务场景增加惟一索引(有也许是联合惟一索引)。 在这里顺便提一下,阿里云DTS做同构数据迁移,应用的是数据库自增ID做为惟一ID应用的,这种情形如果做双向同步,会造成数据覆盖的问题。解决案例也有,之前我们的做法是,新旧实物采纳自增ID单双号解决,担保新旧实例的自增ID不会出现冲突就行。由于这次我们应用的自研双向同步组件,这个难题这里不细聊。 分表规章不同决定着rehash和数据校验的不同。需逐个表整理是用户ID纬度分表还是非用户ID纬度分表、是否只分库不分表、是否不分库不分表等等。 数据同步全局案例见下图,数据同步基于binlog,独立的中间服务做同步,对业务代码无侵入。 后续对每一个环节进行介绍。 单独一个服务,应用游标的方法从旧库分批select数据,通过rehash后批量插入(batchinsert)到新库,此处需求配置jdbc联结串参数rewriteBatchedStatements=true才学使批处理操作生效。 另外特殊需求重视的是,历史数据也会存在不断的更新,如果先开启历史数据全量同步,则刚同步达成的数据有也许不是最新的。所以这里的做法是,先开启增量数据单向同步(从旧库到新库),此时只是开启积压kafka消息并不会真正消费;然后在开始历史数据全量同步,当历史全量数据同步达成后,在开启消费kafka消息进行增量数据同步(提升全量同步效率变少积压也是核心的一环),这样来担保迁移数据流程中的数据一致。 增量数据同步考虑到灰度切流稳定性、容灾和可回滚实力,采纳实时双向同步案例,切流流程中一旦新库出现稳定性问题或者新库出现数据一致问题,可迅速回滚切回旧库,担保数据库的稳定和数据稳妥。 增量数据实时同步采纳基于阿里云DTS的数据订阅自研数据同步组件data-sync兑现,主要案例是DTS数据订阅实力会自动将被订阅的数据库binlog转为kafka,data-sync组件订阅kafka消息、将消息进行过滤、合并、分组、rehash、拆表、批量insert/update,最后再上交offset等一系列操作,最终达成数据同步工作。 整体流程中有几个问题需求重视: 问题1:怎样预防因异步消息无顺序而致使的数据一致问题? 第一kafka异步消息是存在顺序问题的,可是要知道的是binlog是顺序的,所以dts在对具体进行kafka消息投递时也是顺序的,此处要做的就是一个库担保只有一个顾客就能保障数据的顺序问题、不会出现数据状态覆盖,从而解决数据一致问题。 问题2:是否会有丢消息问题,假如顾客服务重启等情形下? 这里没有采纳自动上交offset,而是每次消费数据最终入库达成后,将offset异步存到一个mysql表中,如果顾客服务重启宕机等,重启后从mysql拿到最新的offset开始消费。这样惟一的一个问题也许会出现瞬间部分消息重复消费,可是由于上面介绍的binlog是顺序的,所以能担保数据的最终一致。 问题3:update转insert会不会丢字段? binlog是全字段发送,不会存在丢字段情形。 问题4:循环消息问题。 后面进行单独介绍。 前文有提到,由于是256表变4096表,所以数据每一条都需求通过一次rehash重新做分库分表的计算。 要说rehash,就必须先介绍下目前订单数据的分库分表策略,订单ID中冗余了用户ID的后四位,经过用户ID后四位做hash计算确定库号和表号。 数据同步流程中,从旧库到新库,需求拿到订单ID中的用户ID后四位模4096,确定数据在新库中的库表位置;从新库到旧库,则需求用用户ID后四位模256,确定数据在旧库中的库表位置。 想象一下,业务写一条数据到旧实例的一张表,于是诞生了一条binlog;data-sync中间件接到binlog后,将该记载写入到新实例,于是在新实例也诞生了一条binlog;此时data-sync中间件又接到了该binlog……不断循环,消息愈来愈多,数据顺序也被打乱。 怎样解决该问题呢?我们采纳数据染色案例,只要能够标识写入到数据库中的数据使data-sync中间件写入而非业务写入,当下次接收到该binlog数据的时候就不必进行再次消息流转。 所以data-sync中间件需求,各个数据库实例创建一个事务表,该事务表tb_transaction只有id、tablename、status、create_time、update_time几个字段,status默认为0。 再回到上面的问题,业务写一条数据到旧实例的一张表,于是诞生了一条binlog;data-sync中间件接到binlog后,如下操作: 此时data-sync中间件将上面这些语句打包全体上交到新实例,新实例更新数据后也会生产对应上面语句的binlog;当data-sync中间件再次接收到binlog时,只要推断碰到tb_transaction表status=1的数据开始,后面的数据都直接舍弃不要,直到碰到status=0时,再陆续接收数据,以此来担保data-sync中间件只会流转业务诞生的消息。 数据校验模块由数据校验服务data-check模块来兑现,主要是基于数据库层面的数据对照,逐条核对每一个数据字段是否一致,不一致的话会通过配置的校验规章来进行重试或者报警。 通过数据校验,一旦发觉数据不一致,则需求对数据进行修复操作。 数据修复有两种案例,一种是适用于大范围的数据不一致,采纳重置kafkaoffset的方法,重新消费数据消息,将有问题的数据进行覆盖。 全局灰度案例:SP+用户纬度来兑现,SP纬度:凭仗灰度情境切量来做,用户纬度:依靠用户ID后四位百分比切流。 灰度切量的流程肯定要配合停写(秒级),为什么要停写,由于数据同步存在肯定拖延(正常毫秒级),而一切业务操作肯定要保障都在一个实例上,否则在旧库中业务刚刚调整了一条数据,此时切换到新库如果数据还没有同步过来就是旧数据会有数据一致问题。所以流程应该是: 虽然在切流之前,在测试情境进过了大量的测试,可是测试情境毕竟和生产情境不相同,生产情境数据库一旦出问题就也许是灭顶之灾,虽然上面介绍了数据校验和数据修复步骤,可是把问题拦截在发生之前是做服务稳定性最重大的工作。 因此我们提出了ABC验证的概念,灰度情境ABC验证预备: 详细灰度案例和数据源切换步骤: 整体数据迁移流程还是比较复杂的,时光也不是非常充裕(流程中还穿插着十一全链路压测改变),在有限的时光内集大家之力重复探讨发掘也许存在的问题,然后论证解决案例,不放过任何一个也许出现问题的环节,还是那句话,把问题拦截在发生之前是做服务稳定性最重大的工作。 流程中的细节还是非常多的,从数据迁移的预备工作到数据同步测试,从灰度步骤确定到正式生产切换,尤其是融合业务和数据的特色,有非常多需求考虑的细节,文中没有一一列出。 最终通过近两个月的紧张工作,无业务代码侵入、零事故、平稳地达成了扩分库分表和数据迁移的工作。
唯一小编 2021-03-01 阿里云服务器
改进terraform到v0.13后,初始化terraform也许会出现以下问题 因素是terraform自v0.13后就交给provider自己维持了。解决案例: 1.应用命令查看自己版本 示例得到 +provider.tencentcloudv1.53.0 2.粘贴以下代码至terraform配置中,version采纳自己的tencentcloudterraform版本
唯一小编 2021-03-01 腾讯云服务器
在网络相关的业务中,高弹性是往往被提及的一个架构设计目的,前两个我就碰到一个用户需求我们帮助设计一个高弹性的架构以承载他们周期性暴增的业务压力,用户90%以上的业务压力都集合在业务高峰期,因此在设计这个架构之初,我和用户就在纠结,到底是采纳更了解的“堆”服务器的想法呢,还是采取更具弹性的容器化的案例呢?其实作为一个技术人员,在问这个难题的时候就已经有确定的答案了,最终我们设计出了这样的一个架构: 容器平台选择阿里云的ACK(阿里云容器服务Kubernetes版)。其中ACK分成专有版和托管版,区分是专有版的管控节点需求用户自行预备,而托管版应用阿里云的资源进行资源管控,在托管版中又分成标准版和Pro版,其中Pro版有确定的SLA保障,生产系统建议选择Pro版。同时为了保障worker节点的内容安全,建议为充当worker节点的ECS配置云安全中心服务进行主机安全防护。 除了ACK,阿里云还提供无服务器架构的ASK,区分是ACK有ECS服务器充当worker节点,创建POD所需的资源经过ECS进行安排,而ASK没有worker节点,ASK直接在阿里云的分享资源池中经过ECI(弹性容器节点)来安排资源创建POD。 在这个项目中为了担保永远有肯定量的稳定资源供给,我们决定应用ACK再融合阿里云的ECI来兑现资源的弹性供给。ECI资源的申请和释放可经过ACK的ack-virtual-node插件出自动达成,动态增加的POD将自动运行在ECI之上。 考虑到业务高峰期和平常存在庞大的应用量落差,选择应用按流量的方法购入手互联网带宽资源,并经过购入手分享流量包将一切的互联网流量进行集合抵扣。这个项目所用到的互联网流量主要有如下三个: 鉴于ECI节点上服务的启动需求肯定的时光,而业务流量也许瞬间到达峰值,因此经过MQ来缓冲瞬时的业务压力,为运行在ECI弹性资源上的服务争取启动时光。 阿里云MQ服务依据访问协议的不同分成RocketMQ、AMQP、Kafka三个系列,对于海量的业务交易场景建议选择通过双十一检验的RocketMQ系列,在RocketMQ系列中又分成一般版和公司铂金版两个版本,公司铂金版采纳独享硬件资源,能够更充分的保障峰值吞吐实力,对于瞬时业务峰值高的业务,建议尽也许选择铂金版。 数据库采纳云原生数据库PolarDB,PolarDB可以从2个节点扩容到16个节点,单节点可改进至88核710G规格,集群采纳分布式分享存储架构,单个集群可存储100TB的数据,有赖于其采纳分布式分享存储的架构,PolarDB集群增加节点时无需进行大量的数据拷贝,因此可以在分钟级达成集群的横向扩容。 我觉得这个架构对于大部分“腰部”级其他网络行业用户都是适用的,因此共享出来,盼望对大家有所协助。
唯一小编 2021-03-01 阿里云服务器
云专线和普通专线区别,首先我们说一下云专线在定义和应用方 面的区别。 普通物理专线,是端口带宽资源被用户独占的物理专线,此种类型的物理专线由用户单独使用该物理线路,专线用户可以创建多个虚拟接口。 云专线(Direct Connect)用于搭建用户本地数据中心与云上VPC之间高速、低时延、稳定安全的专属连接通道。 传统专线主要应用于用户的局域网互联或快速浏览互联网。用户可以根据需要选择64Kbps- 2Mbps不等的速率。通过互联专线实现数据、语音、图像等业余的安全传输:实现各公司、部门间的资源交换和共享;通过拥有固定、独享的IP地址,视需要建立自己的Mail-Server. Web- Server等服务器,并可通过Internet组建公司内部的VNP业务。 云专线是连接客户局域网与行业云的专线网络,全程独立通道,能够不经互联网连接云主机,同时能保证高网速,对于银行、金融机构等高保密性要求的客户具有重要意义。 下面,我们在分别从开通时间、费用、弹性伸缩、稳定性等维度对他们之间的区别进行说明: 对比一下可以发现 , VPN是开通便捷,费用上比云专线要低很多,但是在公网的质量保障上不如专线,时延高,安全性不如云专线强。相对来说云专线低时延、服务质量稳定,但是在费用上就较高一些。而且在开通时间上,因为受限于物理专线的部署、运营商的线路资源的情况,所以部署时间要比VPN长。在这个情况下,一个量级, VPN如果双方都有internet资源的话,基本上是即开即用,双方配置好,协商起来就可以通信。但是云专线一般是将数据中心和公有云VPC对接,这个时候受限于物理链路,要运营商去核查资源,要去做物理线路的对接。这些正常情况下,就运营商的承诺。有诺的时间一般都是至少需要20个工作日。云专线线上的配置开通,现在一般也是天级,在拿到这种线路配置信息,且物理专线对接完以后,在一天内就可以完成这个线路配置打通的。 唯一网络是中国市场专业的云托管服务商( Cloud MSP ),在数据中心和云计算领域有近十年的专业交付和管理经验,目前正服务于2000多家企业级客户并与全球多家超大规模公有云服务商建立了战略合作关系。在云计算驱动产业变革的今天,安畅以客户需求为驱动,积极投资于核心技术研发和团队组织的云原生技能,致力于成为IT新生态和产业互联网的新-代连接器。 为客户提供”云+大数据+AI”的咨询、集成和管理服务,以及数字化解决方案,帮助客户利用新技术进行业务创新,实现数字化变革。
唯一小编 2021-02-19 专线