工行分布式OLTP数据库选型实践_第1页
工行分布式OLTP数据库选型实践_第2页
工行分布式OLTP数据库选型实践_第3页
工行分布式OLTP数据库选型实践_第4页
工行分布式OLTP数据库选型实践_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、工行分布式OLTP数据库选型实践技术创新,变革未来目录CONTENTS1.为什么走向分布式2.为什么选择MySQL3.MySQL发展之路24.MySQL发展过程中的问题及优化为什么走向分布式31处理能力业务规模增长迅速, 纵向垂直能力无法满 足业务规模增长敏捷供应伴随业务规模增长,开 发版本迭代迅速,增量 业务迸发,环境供应面 临挑战业务特点短平快的交易特点以 及7*24 的业务连续性 对传统架构提出了巨 大挑战成本控制由于主机成本较高以 及其他商业产品投入 较多licence,总体成 本无法降低为什么走向分布式4控制成本通过下移主机业务至平台,使用更廉价的硬件基础设施。降低风险打散数据、解耦

2、各 应用业务层依赖、 降低整体集中式风 险运维能力传统的基础环境供应 以及运维模式无法应 对开发的敏捷迭代业务支撑单库已无法支撑 业务规模的增长为什么走向分布式5为什么选择MySQL26稳定有大量互联网公司使用开源没有licence易自主可控学习成本较低同为关系型数据库 较Oralce、db2等易上手7版本质量优良社区生态发展优良 参与者众多轻轻量级、灵活易扩展配套成熟业界有较成熟的配套解决方案为什么选择MySQLMySQL发展之路38787910116111691、2017年前MySQL主要用于办公 类非核心平台应用总体规模不超 过200个实例。2、2018年初开始,随着主机业务下移至平台,

3、平台整体使用MySQL量出现井喷式增长。3、由于分布式架构下MySQL节点 数剧增,为提升机房密度、服务 器资源使用率,通过使用容器化 部署MySQL实例。MySQL发展之路MySQL管理平台10分布式数据库中间件架构图分布式访问层:应用透明/灵活拆 分、开源自主可控支持Hash/Range/List等多种分 片算法,可扩展,满足垂直数据分 片、水平数据分片、混合分片等场 景数据节点分片扩展支持简单的跨库汇集查询提供类似集中库的操作体验可通过集群解决自身高可用问题SQL转换和分发分片1Shard1 MShard1 S分片2Shard2 MShard2 S分片NShardN MShardN S分

4、布式 访问层集群高可用 负载均衡DBLEDBLE11系统管理节点Agent运维管理区域MySQL管理平台配置中心高可用管理模块性能容量 监控模块安装部署备份恢复服务端口管理端口分布式数据访问层动态管理MySQL集群数据操作状态上报 节点Agent数据库管理动态管理运维人员系统管理业务系统数据操作负载均衡定制研发MySQL客户端 组件,分布式中间件DBLE、 数据库管理平台,实现组件的联动支持节点状态监控告警、 安装部署、自动补数等功 能高可用自动切换,实现RPO=0,RTO60s的业务连续性采用开源MySQL和原生 态数据复制技术,一主多 备架构,实现多份数据冗 余一致性保障MySQL管理平台

5、12核心应用使用MySQL架构图1、接入层应用服务3、账务处理 器群组21DB1 SET21应用服务 器群组22应用服务 器群组23应用服务 器群组24DB2 SET22DB3 SET23DB4 SET242、产品处理应用服务 器群组11DB1 SET11应用服务 器群组12DB2 SET12应用服务 器群组25DB5 SET25应用服务 器群组26应用服务 器群组27应用服务 器群组28DB6 SET26DB7 SET27DB8 SET28应用服务 器群组13DB3 SET13应用服务 器群组14DB4 SET14服务网关服务网关A 园区B 园区实施效果:日均交易量1亿以上服务路由本地高可用

6、自动化切换,RPO=0,RTO60s同城高可用切换:人工决策、一键 式切换 RTO分钟级13应用特征交易特征:高并发、低延时,日均 交易量3亿,交易延时100ms;7*24联机服务高可用架构:同城分片双活MySQL发展过程中的问题及优化414外置存储带来的IO争用同城RPO无法保证为0服务器资源利用率低备份存储节点资源浪费MySQL实践中问题1502010304MySQL优化之路备份优化通过使用备份至SEPH的方式实现 多副本廉价存储介质备份MySQL云化部署提升服务器资源 利用率,环境标准化SSD引入有效提升50%的IO 处理能力高可用架构 优化一主三从提升同 城RPO能力16高可用架构优化

7、MySQL异步B域名(指向VIP)MySQL半同步MySQL主AAAPPPPAPPAAPPPPAPPMySQL半同步MySQL半同步ack=1,降级ack=2,不降级17容器编排、管理Kubernetes + docker行内PaaS平台已稳定运行两年,有较成熟的管理平台对接。Docker相较虚拟机有更轻、资源利用率更高、部署更易、开发流程自动化等优势。标准化镜像MySQL基础镜像(社区5.7.21)+os基础镜像(SuSE12 sp3)自研dockfile以及进行镜像管理。能够通过镜像标准化MySQL的整体供应。MySQL云化部署18通过自研了SR-IOV-cni插件实现了网络IP的分配、

8、固定、容器网络的建立等。好处:1.性能接近物理宿主机,时延低2.万兆网络可虚拟化63对VF(即支持63个容器)通过自研了csi插件,实现了存储本地盘/外置盘的按需自动划分以及挂载,并使数据持久化。特性1:IP固定特性2:数据持久化并自动划分存储Bare MetalPF1eth1PF2eth2VF 01VF02VF03V F0nV F11VF 12VF 13V F1ncbon d1cb on d2cb on d3cb on dndocker1 cbond1 1.1.1.1docke2 cbond2 2.2.2.2SWITCHGW:1.1.1.254; 2.2.2.254; 3.3.3.254物理

9、 连线物理 连线MasterCSI ControllerNodeCSI agentKubeletAPI ServerStorMGRFC SANVPMGRIAAS19备份优化物理机S3fs/backup对象存储集群s3接口Bucket1 Bucket2 Bucket3虚拟机S3fs/backupARM服务器+ 开源ceph+ 纠删码20物理机、虚拟机中使用S3fs提供文件存储在物理机/虚拟机中安装、配置s3fs,通过映射 关系将后端集群的bucket挂载至本地文件目录,即可直接使用。以MySQL的backup目录为例:直接使用S3fs建立backup与后端集群bucket之间的映射关系即可。容器

10、中使用S3fs提供文件存储在宿主机中安装配置S3fs,通过两次关系映射,实现挂载使用。以MySQL容器化中backup目录使用S3fs为例:(1)容器宿主机通过s3fs与后端ceph集群bucket挂载,目录命名:存储集群名+桶名(clusterA-bucket1),该挂载目录下创建以(应用 名-主库IP)标识的容器挂载目录。(2)容器卷挂载,在K8S中将上述路径(/集群 名-桶名/应用名-主库IP)映射到容器的/backup目录。网络流量并发大,出现极端增长,压垮防火墙-控制同城间主从恢复并发、监控网络流量21网络流量大事务影响主库业务连续性-开发指引、对大事务监控并走向自动kill大事务大表DDL、sql性能拐点-定制数据清理、DDL测试,sql语句审核,开发指引大表运维坑后续思路自动化实现业务级故障自愈服

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论