排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
1
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
首页
/
基于全国产基础设施的双活系统建设
基于全国产基础设施的双活系统建设
白鳝的洞穴
2021-03-19
1506
提到双活系统,大家都觉得十分高大上。最早做双活都是基于Oracle的extended rac技术的,通过裸光纤或者OTN网络把存储扩展到跨机房的范围,组建多节点的RAC集群。这种方案在90年代末的Oracle 9i上老白就帮助客户实施过,不过因为rac的GCS/GES争用问题,远程节点往往不跑业务,只跑一些完善的批处理,甚至有些系统的远程节点平时只是mount状态,只用于备份数据库。远程RAC实际上并不是最好的异地双活方案,因为数据库还是一个,当数据库出问题的时候,双活等于双不活。所以在建设extended rac的双活系统的时候,我们都会建议用户在第三机房放一个DATAGUARD的节点,既作为第三仲裁点,又作为远程RAC故障时保命的措施。
在业务配合下,用逻辑复制的方式实现多地多活是比远程RAC更好的双活模式,2009年的时候,我们帮助顺丰的核心系统阿修罗建设过一个深圳,合肥,成都三地三活的系统。深圳承担80%的业务,成都合肥分别承担10%的业务。当三地数据复制延时低于1小时的时候,业务上可以确保数据不会有冲突。当数据复制延时高于30分钟的时候,暂停成都,合肥的系统,只保留深圳主站提供对外服务。这是一个基于Oracle streams的三活环境,数据库是Oracle 10.2.0.4。这种双活环境主要的目的是确保某一地数据中心故障的时候,核心业务能够不被中断。因为之前顺丰出现过阿修罗故障导致车辆在到达海关后无法打印通关单,导致车辆只能卸货返回的恶性事故。1个多小时的系统故障导致了2000多万的经济损失。
2015年底和某省调的客户交流IT新技术,我们讲了一堆技术,最后客户的领导指了指双活,说我们对双活感兴趣,能不能帮我们做一个双活的试点项目。我们的OMS主站在杭州,备站在湖州,两地有100多公里长的光纤相连,以前主站出问题,备战接管总是不顺利,有时候业务会停大半天,甚至对一些电厂的业务都产生了一定影响。
说实在的,听到这话,第一时间我感到有点头痛,因为省调的系统从上到下都是国产的基础设施,存储、服务器、操作系统、数据库、中间件、负载均衡、网络设备都是国产的,在国产的达梦数据库上做双活我们还真没做过。我们的交流材料里介绍的营销系统双活的案例是基于ORACLE 远程RAC的双活,核心技术采用了veritas的卷复制,和客户要做的双活是两码事。
当时在客户的强烈要求下,我答应先测试一下基于达梦构建双活系统的可信性。客户看上去也真的很有决心做这件事,不到一星期就把和这项目有关的几个厂家,包括软件开发商和存储供应商华为、负载均衡厂商华三、数据库厂商达梦、操作系统厂商凝思。经过大家的集思广益,我们确定了采用一个比较稳妥的方案。主方案基于达梦数据库准同步逻辑复制的读写分离双活方案,主站负责读写业务,并按比例分发30-40%的读业务到备站上。开发商对方案没有任何异议,唯一的要求是让应用尽可能少改造甚至不改造。
初步方案有了,下一步就是测试,正好我们在南瑞基础架构实验室里有一套为ORACLE EXTENDED RAC准备的20公里光纤模拟环境,可以用于跨机房双活的测试工作。虽然实际环境光纤距离超过100公里,网络上会增加一些延时,不过因为当时选择OMS这个省调的核心系统的时候也是做过一些考量的,这个系统数据量不大,不到2TB,高峰期访问并发量也就100来个,并发压力并不大,这点网络延时还是可以承受的。
刚刚开始测试的时候并不顺利,各个国产软件厂商和国产硬件厂商之间的配合并不融洽,我们刚开始把凝思操作系统当成红帽来用,理所当然的认为一些软件包是必须存在的,实际上为了在凝思上解决连接我们的分布式存储的iscsi tgt都花了将近一个月的时间。不过好在参与的各方都比较积极的配合我们的工作。基于达梦DMHS复制与JDBC读写分离网关的测试进行的比较顺利,达梦的这个刚刚发布不久的读写分离网关迎来了第一个核心系统用户,他们的研发人员也十分积极的帮助我们优化网关的性能。
几个月后,我们把工作进度向省调领导汇报的时候,他和我们说了实话,当时他选择双活这个项目的时候的真实目的有两个,第一个是OMS的备战升级确实一直是他想做的事情,第二个目的是想给我们出个难题,让我们知难而退,因为他当时并不认为基于全国产基础设施的双活系统能够搞出来。当我们把初步测试的结果拿出来的时候,还是很出乎他的意外的。我们的工作得到了他的认可,于是一方面让我们继续完善方案,一方面客户开始了正式项目立项和说服上级领导的工作。有了客户答应立项的承诺,后续的方案完善也得以继续。因为无法像远程RAC那样自动接管故障节点的业务,因此我们需要开发一个双活管控工具,用于业务接管的自动化切换工作。
双活工具根据zookeeper集群中实时采集的各种状态数据,自动判断下一步工作任务的清单,随时准备接受一键切换的任务。
在这个方案中基于DMHS的准同步复制与达梦JDBC读写分离网关是最为核心的,最后双活系统的运行效果取决于这两部分的工作效率。因此基于OMS系统我们结合DMHS复制做了大量的优化。最后的优化效果是在主站导入200万笔数据(大约900M),备站的复制延时不超过2秒钟。
实际上在2016年6月,OMS双活系统上线的条件就已经基本具备了,我们把环境从南瑞的实验室搬到了省调的测试环境,利用真实的环境进行了大量的测试。系统迟迟不能上线的主要原因不是技术问题,而是来自于各方对全国产双活系统能否建成的质疑。经过半年的不断测试,这套基于全国产的双活系统终于在2017年正式上线了。当时也没做什么宣传,不过客户的自动化处的领导当时兴奋的和我说,这不一定是全国第一套全国产的双活系统,但是一定是国内第一套基于全国产基础设施的OMS双活系统,我们应该是创造了历史。
这件事已经过去三年多了,如果不是春节期间客户搬迁主站系统出了一点问题,搬迁后我们的分布式存储(主站的数据库使用的存储系统是我们基于CEPH封装的分布式存储系统,备站用的是华为的OCEANSTOR 5500)出了点问题,需要我们帮忙解决一下,我都已经忘记了这件事。我问他们搬迁工作为什么不找我们配合一下,他们居然说,这系统挺皮实的,上线后没出过什么问题,主站搬出点问题,备站能接管,所以也就没想着麻烦我们了。
实际上,建设这套基于全国产基础设施的双活系统,技术工作并不复杂,花在技术验证上的时间也不多,更多的资源是浪费在应对各种质疑上,数据库国产化替代也好,信创也好,恐怕面临的是相同的问题。如果大家都不敢担责任,那么还是维持现状就好。如果当年没有那位处长的坚持,也不会有这套OMS双活的成功上线。
数据库
文章转载自
白鳝的洞穴
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨