您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
基于容器的金融数据库云平台DBaaS设计实践分享
 
 
  2020  次浏览      15
 2020-10-20 
 
编辑推荐:
本文从几个方面:银联转型发展的技术需求、数据库云的银联方案、数据库云建设的挑战、发展与畅想来分享基于容器的金融数据库云平台DBaaS设计实践。
本文来自于CSDN ,由火龙果软件Linda编辑、推荐。

一、银联转型发展的技术需求

  金融行业数据库技术发展趋势

  从金融行业来讲我们大概有这么几个趋势,之前的话大家都知道在银行里面或者金融系统里面用的都是一些IOE,像一些产品的数据库加小机加存储,现在是因为我们的业务也是在不断地互联网化和移动化方向发展,同时现在因为对金融机构来讲监管有一些要求,比如说一些开源、国产化、自主可控这些方面对我们来讲就提出来一些新的要求。

  因此金融行业的技术发展有这么几个趋势,有点像互联网企业一样,就是说微服务化、分布式化、平台化、自动化、智能化这样一个发展趋势,大部分的银行或者金融机构里面目前的现状可能是商业产品,同时也有大量的这种开源的数据库并行的现状,总体的话就是自主可控、分布式、PssS云化和自动化。

   银联转型发展的技术需求

  这个是针对我们银联自己来讲的话,就是我们银联在业务的转型对我们技术的需求。之前的话大家可能也都知道基本上银联的业务场景就是POS刷卡、ATM取钱、操作,但是这几年的话业务发展慢慢的也是移动互联网化,比如说像我们的一些产品,包括云闪付APP,大家用的是apple pay这些产品,还有一些银联在线扫码支付,这些都是移动互联网的这样一个业务场景。

  那么这些业务系统的话跟我们有相关的一些特点,第一个就是业务来的很快,而且规模都很大,然后像这些APP的话经常会搞一些活动,那么对一些需求也是风险的要求比较高的,比如说我们搞活动的时候买了会员,是平时的N倍,另外一个就是我们因为规模大了以后,平台可靠性这一块要求挺高,因此就是说这样一个背景情况下,对于我们的基础知识架构这一块提出来一些新的要求,比如说要有更快的服务交换能力,更高的资源利用,还有一个更灵活的大规模的管理能力。

  刚才前面讲到的就是知识架构那一块需要那些能力的话,那我们通过什么方法来解决呢?比如说我怎么快速去交付,我怎么样去弹性提供资源,然后我在想可能大家想的都一样,通过云的方法去做,那么做数据库云去解决这些问题。那作为一个数据库云架构,应该有灵活的资源弹性调动能力,高效的资源利用率,服务安全可靠,具备大规模的服务管理。

   二、数据库云的银联方案

  我们银联这一块就是在金融行业里面做开源这一块的话相对来讲应该是比较早的,我们在2012年的时候就开始做,那个时候的话因为数量比较少,早期的话我们主要是用手工加一些自动化脚本制作的一些运维,但是到2014年的时候,我们生产的Mysql数据库越来越多了,那时候我们就想着做平台来管理那时候是DBaaS1.0。

  但是到了2015年的时候,也就是当时容器这种技术出现了,当时我们在想容器这种技术的话是不是能够把数据实现平台化,所以当时我们2016年的时候就做了DBaaS2.0这个版本,那么这个DBaaS平台我们是基于docker做的。在这期间我们平台主要做了两个服务,一个是做了我们的基于Mysql开发的数据库。然后我们上面的服务的话基本上也是分步策划的,也能够做到SCALE OUT弹性扩展,这个是我们目前的现状大概是2.0的版本,然后我们现在正在做的是智能化自助化的功能。

  我们现在这个版本总结下来有这么几个特点。第一个就是自主可控,这个平台所有的开发,包括上面提供的数据库服务,这个都是我们自己自研的,这个也是符合我们国家对金融安全监管的要求的。第二个就是弹性伸缩实现了SCALE UP和SCALE OUT。第三个就是我们高度服务化,我们把这个企业结构进行服务化的一些设计,我们很快速地把一些数据库产品进行包装。第四个的话就是我们当时是2015年就开始做数据库容器化,我们很早的时候,2015年的时候就把这个做出来了,而且大规模地在生态环境中用了,用在我们的金融领域,这应该在国内的金融领域算是比较早的。

  我们平台的话自动化和自助化是我们一个最基本的要求,就是在这个平台上我们所有的操作、运维、管理基本上都是做到简单。通用性高是在部署方面体现,比如说我们很多环境,我们银联有很多开发、研发,部署等等,有的产品做的特别复杂,部署要好几天,但是这个也不好用。

   基于docker的DBaaS建设的几个重要难点

   容器管理框架

  讲一下我们当时做那个容器的框架选择的时候为什么我们选的是Swarm。因为当时其实也是面临两个选择,一个是用Swarm另一个是用K8s,但是同样2015年那个时候来看的话,我们是研究了一下发现就是说做数据库的话,这两个都不能很好地解决我们的问题,就是说它的原生的一些网络架构或者一些管理架构都没法满足我们的一些需求,所以这两个都是要我们定制和开发的,要在我们自己去设想开发,所以我们当时就选了Swarm。

  为什么选这个呢?首先是因为它是一个轻量级的,然后可定制性比较高,就是开发相对难度要小一点,所以我们选择了Swarm,当时来讲Swarm其实发展势头还是蛮好的,特别是这两年发展的比较好,但是就是到今天为止K8s也没有办法完完全全满足数据库容器化的这个需求,它也没有用原生态去做一个复杂的数据库平台网络和存储模型,我们也一直在关注这个的发展。

   平台网络解决方案

  这个是我们技术上面的一个解决方案,想跟大家分享一下。首先是网络这一块,那么做容器,做数据库的话,网络这块是很关键的,你什么样的网络模型那么就用你这个数据库的性能。比如说我们Docker计算网络模式,你用其他的原生模式去试一下就知道,你会发现性能损耗非常大,但如果你不用它,你用其他的那些模式你会发现那个网络没法做隔离。它怎么样做到一种方案就是说我既能够把网络隔离起来,同时又能够把网络对它的性能不受影响,那时候我们就选择了一个方案叫做过SR_IOV技术,就是把一款物理网卡进行虚拟化,现在普通的万兆网卡都可以做到64个或128个虚拟卡,那么把这个虚拟网卡通过VF方式放入网络内存,大概具体的做法就是说速度之上,把这个网卡虚拟化了以后,然后通过Net NS映射给Docker, 双网卡bonding。VF上还可以直接配置Qos策略,相较于物理环境下无损耗,这一点是非常非常可贵的,就是在我们做数据库容器化的时候一个很关键的点,这个方案我后来也看到了,就是蚂蚁金服他们自己以前做的也是这种方案。

   平台存储管理解决方案

  另外一个就是存储这一块。之前我们用容器平台做存储这一块大概有两种选择,一种选择是用本地存储,另一个选择是分布式存储,那么这两种方案都有缺点,第一个用本地存储的话有一个很大的问题,就是数据迁移性的问题,你要被通过备份,这个是一个比较耗时的问题。同时一般本地存储的空间是比较小的,那它的一两个T就没了。如果是用的共享存储的话有一个最大的问题就是性能问题,那有没有一种方法就是说我们既能够做到数据快速迁移,同时又满足存储隔离,那我们后来用了金融行业用的比较多的一种方案,就是用外部存储。

   平台服务-自研分布式数据库UPSQL

  平台服务-自研分布式缓存UPredis

  这个是我们平台上第三个难做的就是说你提供的服务这一块,你怎么样做一个服务的执行的服务能力。

   三、数据库云建设的挑战

  DBaaS建设的风险及应对

  前面介绍的是我们做这个平台的过程当中总结下来的五点比较关键的一些点,其实也是暴露了我们在整个过程当中最重要的一些经验吧,也是跟大家分享一下。

  同时另外还有一些经验跟大家分享一下就是说DBaaS其实也是有很大的投入的,所以先来分享一个就是说DBaaS不是适合每个公司都去做,因为它还是有一些技术门槛在里面,还是有一些投入在里面。

  管理这一块的话我觉得一个概念就是说整体上在云环境下你要有这样一个意识,就是任何一个模块都是不可靠的,所以你在设计这个平台的时候你要想任何一个模块故障的话是否会受到影响。包括前面刚才讲的补充一下,为什么投入性蛮大的?我们做这些东西其实银联的话现在有还算比较大的一个团队,有30个人做这件事情,包括做我们定制的数据库,包括做这个平台,还是有一点规模的。

   四、发展及畅想

  银联DBaaS产品服务情况

   发展及畅想

  这个是我们对这个产品的话的一些规划,就是说现在只是提供了我们分公司的数据库,那么我们接下来肯定会进一步在上面封装更多的产品,其实银联是DB2的使用大户,那么我们怎么样把这个服务扩展到这个平台这是非常关键的,也是一个比较难做的事情。另外一个就是纵向的,就是平台智能化这一块,我们正在做的一个事情就是说我怎么样做好这个智能分析调优。最后是增值服务方面,我们做数据的转移、风险监控、大数据分析之类的。

   
2020 次浏览       15
相关文章

云计算的架构
对云计算服务模型
云计算核心技术剖析
了解云计算的漏洞
相关文档

云计算简介
云计算简介与云安全
下一代网络计算--云计算
软浅析云计算
相关课程

云计算原理与应用
云计算应用与开发
CMMI体系与实践
基于CMMI标准的软件质量保证
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
云原生架构概述
K8S高可用集群架构实现
容器云管理之K8S集群概述
k8s-整体概述和架构
十分钟学会用docker部署微服务
最新课程
云计算、微服务与分布式架构
企业私有云原理与构建
基于Kubernetes的DevOps实践
云平台架构与应用(阿里云)
Docker部署被测系统与自动化框架实践
更多...   
成功案例
北京 云平台与微服务架构设计
通用公司GE Docker原理与实践培训
某军工研究单位 MDA(模型驱动架构)
知名消费金融公司 领域驱动设计
深圳某汽车企业 模型驱动的分析设计
更多...