写点什么

我们为什么要在上云前先做主备机房切换这件事?

  • 2020-04-15
  • 本文字数:1922 字

    阅读完需:约 6 分钟

我们为什么要在上云前先做主备机房切换这件事?

开书之前,需要先把「为什么要在上云前先做主备机房切换这件事?」的始末原由说明白。


简单来说,主备机房切换只是我们 “上云五步骤” 中的初始化环节,最终实现将我们的应用逐步逐步的搬上云:



看到这样的步骤,许多老师会萌生吐槽的极大冲动,您先别急,容我来对 “上云五步骤” 做些解释:


1、出于成本的考虑,除 UCloud 之外(包括阿里与腾讯),没有一家供应商允许将 ‘IOE’ 搬入他们的机房,所以最终选择在 ‘UCloud 万国模块’ 内搭建我们的新机房,然后通过内网与 UCloud 进行互联。

2、出于成本的考虑,专线扩容的申请被 CEO 驳回,最终无法实现伪双活的方案(要求拿出应用视角的流量数据提供参考,由于缺乏完美的监控体系,无法做到)。

3、出于成本的考虑,也同时考虑到将来迁移至云机房后的折旧因素,新机房的硬件投入只有老机房的 50%。


除了以上三点之外,还有一些细节,因为不是重点就不一一举例了,说多了都是泪。

那些客观条件下的迁移方案

方案一:整体冷切

策略:利用周末交易停止,访问量下降的环境优势,进行整体环境切换。


方式:核心业务数据库 1:0.5 建立环境,核心业务应用 1:0.3 建立环境、非核心业务数据库直接搬迁,非核心业务应用直接搬迁


优势:


  • 只须考虑搬迁设备的安全及留足设备上下架时间

  • 只须考虑域名及 CDN 切换时间


缺点:


  • 整机搬迁存在设备搬迁后故障,无法启动的问题,设备搬迁的数量较多,此情况易出现,搬迁前须做好数据库导出独立存储的准备;

  • 设备一次性迁移数量较多,搬迁过程中上下架时间较长,加上外高桥机房对设备有严格的出入管理,报关、检查时间较长;

  • 当发现备节点无法承接业务时,回退时间较长;

  • 停机时间较长;

方案二:降级冷切

  • 策略:利用周末交易停止,访问量下降的环境优势,进行主机房降级,备机房升级的切换。

  • 方式:将主节点所有业务应用+数据库数量由 1:0.5,将下架设备集中运往备份节点,进行环境调试,完成备份机房由 0.5 升级为 1 的过程。


优势:


  • 停机时间短,预计总停机时间在数小时内(第二次切换须进行大面积程序验证,预计耗时 N 小时以上)

  • 数据风险较小,核心及非核心业务数据部分在切换前都采用热备方式进行双向同步

  • 提供回退保障,在备份节点业务出现无法启动情况下,可以快速将服务切换回原主节点

  • 在切换前可以通过提前验证的方式提高切换质量

  • 部分关键设备(如数据库),由单机转换成大容量虚拟机,可有效保障切换顺利

  • 切换时间可控性强,包括联合测试、运营进行线上检测也可灵活安排

  • 缺点:

  • 整须提前搭建环境,须前期占用一部分人力资源搭建第二套全环境

方案三:伪双活逐步切换

  • 策略:两端通过负载均衡设备进行访问均衡,逐步将业务从主节点切换至备份节点。

  • 方式:利用机房内负载均衡设备将部分主机房流量引入备份机房,然后备份机房配置数据库实现写回源、读本地,逐步将访问全部切换至备份机房,然后直接将访问切换至备份机房。

  • 优势:

  • 访问停机少,前期分流存在多次闪断,后期有一次 N 分钟的 DNS 切换

  • 缺点:

  • 业务访问环境构建复杂,除两节点搭建前端应用外,还须快速配置后端访问节点,易出现人为操作故障(在数据库配置错误的情况下也易出现脏数据,届时对清算、交易可能产生较大的数据恢复难度)

  • 前端应用在未实现统一配置管理的情况下,靠人工配置危险系数极高

  • 双向伪双活对主备间带宽要求较高,目前 X 兆带宽只能保证业务数据库的同步

  • 产生的成本最高,线路费用、人工费用、多次搬迁存在的风险



其实,最终我们执行的是方案一和方案二的结合:


切换当天:整体冷切,将老机房的所有硬件数量由 1 容量,迁移至新机房的 0.5 容量,并通过降级、限流等手段,顺利的挺过了首个交易日。


切换后的三天内:将老机房的硬件逐步下架运往新机房,并完成备份机房由 0.5 升级为 1 的过程。

最后说两句

对于一家金融企业来说,IT 投入后的当即收益才是最重要的。


近几年以来,为了满足公司在效率、质量上不断攀升的需求,我们陆续推出了持续集成/中间件/自动化运维等多项自主研发平台,不仅利用 ‘适配器思维’ 帮助应用系统降低接入成本,而且确实帮助某些系统在松耦合、自动化上带来了颠覆性的变化。然而对于机房切换这种既无法量化收益,又开销不小的项目,期望在项目初期就获得较多投入是不太可能的,所以在方案制定的初期就要在成本上多加考虑。


去年在圈内流行过这么一句话,CTO 就是为了 CEO 曾经吹过的牛 B,含着泪也要去实现的人,至少不害死 CEO。


其实在我看来,对于大部分企业(尤其是金融企业)的 CTO,由于技术团队性质属于成本中心,所以与 CEO 之间多半都是成本与价格间的博弈。


在给你有限的资源与成本中,拿出可靠、可行的方案,并在不妨碍业务原则的前提下达到预期,才是我们该去做的。


本文转载自头哥侃码公众号。


原文链接:https://mp.weixin.qq.com/s/ZwP3R7u8yJ5QdGoRMfDPSw


2020-04-15 16:44972

评论

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

Baklib|7步教你写出实用的在线产品手册

Baklib

产品 产品文档 产品手册 在线协作

Chrome操作指南——入门篇(七)console中的await和log

Augus

Chrome开发者工具 9月月更

一条sql了解MYSQL的架构设计

京东科技开发者

MySQL 数据库 架构 innodb 存储引擎

一起瓜分20万奖金!第三届火焰杯软件测试大赛开始公开选拔!

测吧(北京)科技有限公司

测试

PostgreSQL逻辑复制解密

京东科技开发者

数据库 postgresql 数据迁移 WAL 逻辑复制

EasyNLP玩转文本摘要(新闻标题)生成

阿里云大数据AI技术

自然语言处理 深度学习 开源技术 文本检测 企业号九月金秋榜

MASA MAUI Plugin 安卓蓝牙低功耗(一)蓝牙扫描

MASA技术团队

.net MASA MAUI Xamarin

Hinton等谈深度学习十年;PyTorch落地Linux基金会的影响;机器学习界的“GitHub”|AI系统前沿动态

OneFlow

人工智能

堡垒机全称是什么?是运维安全审计系统吗?

行云管家

网络安全 堡垒机

Chrome操作指南——入门篇(六)console.injector

Augus

Chrome开发者工具 9月月更

那些你不知道的炫酷按钮交互效果

南城FE

CSS 前端 动画 交互设计 按钮

Orbeon form 的安装和使用教程

汪子熙

typescript SAP Hybris form 9月月更

依赖项安全检测新利器:Scorecard API

SEAL安全

开源项目 开源安全 依赖项管理 开源组件 企业号九月金秋榜

Flomesh 多租户 Ingress Controller

Flomesh

Service Mesh 服务网格

高并发之负载均衡

源字节1号

软件开发

活动报名|9月24日 Apache Flink Meetup · 北京站,Flink 1.16 新版本发布!

Apache Flink

大数据 flink 流计算 活动 实时计算

国民粮油品牌益海嘉里首个天猫超级品牌日交出完美答卷

OKR之剑·理念篇02: OKR布道之旅

vivo互联网技术

团队管理 OKR 目标管理

SPI机制是什么,懂了

知识浅谈

spi 9月月更

前端必读:如何在 JavaScript 中使用SpreadJS导入和导出 Excel 文件

葡萄城技术团队

JavaScript Excel canvas 数据导入 数据导出

本周四晚19:00知识赋能第八期第2课丨ArkUI自定义组件

OpenHarmony开发者

OpenHarmony

NGINX 的未来:回到开源的初心

NGINX开源社区

nginx Kubernetes nginx 开源版 NGINX Kubernetes Gateway NGINX Amplify

中国移动政企科创专题:耕“云”不辍,厚积薄发

Geek_2d6073

如何用AR Engine开发一个虚拟形象表情包?

HarmonyOS SDK

AR

大数据调度平台Airflow(四):Airflow WebUI操作介绍

Lansonli

airflow 9月月更

Chrome操作指南——入门篇(五)Snippets

Augus

Chrome开发者工具 9月月更

ScrumMaster可不是项目经理!

ShineScrum

Scrum ScrumMaster 项目经理

从零到一了解APP速度测评

百度Geek说

App 网络 企业号九月金秋榜 速度测评

还不会搭建自己的产品帮助中心?来看看这个

Baklib

行业方案|“机场”行业智能运维解决方案介绍

云智慧AIOps社区

解决方案 智能运维 运维管理 智能运维AIOps 监控安全

本周预告:资深架构师解读多架构体系下的内核与系统开发等技术演讲 | 第47-48期

OpenAnolis小助手

开源 ebpf sig 龙蜥大讲堂 普华

我们为什么要在上云前先做主备机房切换这件事?_语言 & 开发_头哥侃码_InfoQ精选文章