专栏首页Rainbond开源「容器云平台」Rainbond用户案例分享【第二期】

Rainbond用户案例分享【第二期】

跨平台应用迁移的真实案例概述迁移具体要求迁移方案的提出具体流程与趟过的坑后记

概述

前段时间,我作为Rainbond官方交付工程师,受一家企业级客户所托,要将一批正在生产环境上运行的应用,完整的迁移到一个新平台上。这项工作完成后,在征得了客户同意的情况下,我把整个过程形成文档,发到社区供大家探讨。

迁移具体要求

  • 基于阿里云ecs搭建新集群
  • 应用迁移时要附带数据一起迁移(数据量级为几十G)
  • 迁移速度要保证
  • 允许业务短时间中断

迁移方案的提出

获悉客户的具体迁移要求后,我们梳理了客户的真实环境,发现具备一个关键条件:

客户的新旧两套环境间网络可互通。

鉴于此,我们决定使用Rainbond的云端备份迁移功能来实现这次迁移。

具体流程分为:

  1. 新集群搭建
  2. 利用旧集群已有的Rainbond管理后台(企业服务)将新集群纳入
  3. 在Rainbond部署一个 sftp 服务,建议在新集群中部署,以后可以接着用
  4. 管理后台对接 sftp 服务,为云端备份做准备
  5. 对旧平台上的目标应用,执行应用的云端备份功能
  6. 备份完毕后,启动旧平台应用,恢复业务(如备份过程中关闭了应用的话)
  7. 对完成的备份执行迁移操作,目标集群选择为新的数据中心
  8. 迁移完成后,在新的平台会出现迁移过去的新应用,绑定访问域名后启动
  9. 验证业务后,切换域名解析地址到新平台
  10. 关闭原应用
  11. 不断重复 5 - 10 直至所有的应用迁移完成
  12. 将旧平台的 console 数据库导入新平台

具体流程与趟过的坑

  1. 新集群搭建:参考阿里云部署快速搭建1管理、2计算、1网关的集群。 需要指出的是,当前最新版本支持 grctl node add --role gateway 来指定增加网关节点,非常方便
  2. 使用Rainbond管理后台纳管新集群。

获取截图的时候,旧数据中心已经下线

  1. 对接 sftp 服务。
  1. 开始云端备份操作。

在这里有些点要注意:如果当前应用包含类型为有状态服务的服务组件,那么开始备份前要关闭应用;如果当前应用包含了第三方服务,那么要事先将与第三方服务的依赖去除;点击 备份&迁移 选择云端备份,开始备份

  1. 再次点击 迁移&备份, 将在列表中找到成功的备份记录,原应用可以启动并恢复业务访问了。接下来点击迁移,就可以向新数据中心迁移应用了。
  1. 默默的等待业务迁移完成,就可以启动了。当然,业务需求的第三方服务要提前准备好。 如果有条件,记得将旧平台的管理节点、新集群的网关节点的网络带宽加大,这将有利于数据的快速传输,大幅度缩减迁移耗时。
  2. 做一些个性化的设置,比如为不同的应用绑定域名,验证新应用的功能与数据完整性后,就可以切换域名解析上线了。
  3. 完成所有的迁移,耗时为一个工作日,但是鉴于只有备份过程中可能引起服务中断,所以真正对业务有影响的时间会更短。
  1. 业务迁移完成后,需要将原平台的 console 数据库导入到新的平台,这样访问新平台的控制台页面,也能正常显示所有的应用了。

后记

后续将一些企业版组件安装到新的平台里,就彻底完成了一次平台级别的迁移。

在这里特别鸣谢 北京红亚华宇科技有限公司 ,作为我们的企业级用户,在产品完善方面给予了我们大力的支持;也感谢其同意我将这次操作流程作为帖子写出来和大家交流。

如果您想进一步了解企业版本,请在原文链接留言,我们会第一时间联系您~

本文分享自微信公众号 - 好雨云(goodrain-cloud),作者:好雨企业服务

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 好雨云帮两周问答集锦(2016.12.19-2017.01.01)

    Rainbond开源
  • 高端大气上档次!八位iOS顶级女程序员

    IT领域往往被认为是男性的天下,不过现在女程序员越来越多,她们也有着不可小觑的贡献。在移动互联网领域,一些知名应用的开发团队中都能看到程序媛的身影,比如Smul...

    Rainbond开源
  • 高端大气上档次!八位iOS顶级女程序员

    Rainbond开源
  • 十大企业云备份服务

    使用云备份服务是在不同的设备和异地位置获取一个备份副本的非常简单的方法。此外,这些服务价格非常低廉,许多都提供高级功能,可以增强企业的数据可用性和安全性。

    静一
  • Navicat实用功能:数据备份与结构同步

    注意:本教程采用的时Navicat12版本,下载地址:https://www.navicat.com.cn/download/navicat-premium

    macrozheng
  • PHP进程间通信-信号

    信号是一种系统调用。通常我们用的kill命令就是发送某个信号给某个进程的。具体有哪些信号可以在liunx/mac中运行 kill -l 查看。下面这个例子中,父...

    猿哥
  • 一张图看懂一个知识点

    一段 While 说明了程序员的每一天 ? ? 压缩的原理 ? 很想找几根网线插上 ? CSS 的作用 ? ? 客户想要 VS 客户预算 ? 关于浏览器。。。 ...

    编程范 源代码公司
  • 【译】《Understanding ECMAScript6》- 第七章-Promise

    目录 异步编程 Promise基础 链式Promise 多重Promise响应 Promise继承 总结 异步操作是JavaScript最强大的功能之一。Jav...

    寒月十八
  • 使用方舟编译器检查Fastjson OOM问题

    通过介入编译期间进行安全检查是类似于Facebook infer类的产品,为什么要这么做呢?源代码安全检查工具粗略分为两个大的流派,一个是类似于cover...

    Ramos
  • iOS 打包Framework

    且行且珍惜_iOS

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动