1、数据之大,云动未来弹性敏捷的RDS架构与互联网最佳实践爱可生公司中国领先的企业数据处理技术整体方案提供商开源数据库商用一体化产品领军企业爱可生用户情况1000+需求分析;300+项目合作;100+大型用户;30+行业标杆十年磨砺,薄积厚发金融行业通信行业广电行业互联网金融行业其他行业传统企业互联网转型的应用架构以数据处理技术为核心,持续为互联网转型企业打造高端服务PaaS平台爱可生服务范围Enterprise Ready Open Source开源软件的特点和在企业应用中的问题以MySQL为例5简单,易用,十分钟数据库6生产应用中普遍面临扩展性和高可用的难题7扩展性:读写分离是互联网行业提升数
2、据库吞吐量的常规方案存在的问题:Web/App Servers 在应用程序中包含 读JDBC/ODBC 写JDBC/ODBCDBProxyWrites&ReadsReads读写分离组件 应用程序逻辑决定哪些SQL调用读数据源,哪些调用写数据源My SQL M asterSer verMy SQL SlaveSer verWrites 已有应用需做大量修改才可使Index&BinaryLog Rotation用ReplicationWrites 数据复制的效率得不到有效保障,复制延迟影响业务的结果8各类高可用方案不能保证数据完整性 Pacemaker/Keepalived/MHA/MySQLCl
3、uster.配置和运维复杂;VIP1.2 针对MySQ 不ActionHA 在 数据文件存在于Backup192.168.1.4.168.1.3障点。冷备,备机不提供服务,浪费一半资源 不支持故障节点自动修复存储设备9“互联网+”需要这样的数据库云集高可用技术之大成合横向扩展能力于一身互联网金融高可用数据云平台架构应用通知秒杀客服市场风控交易活动分析其他Redis RedisRedisService IpZabbix数据缓存负载均衡管理门户HAProxy 1HAProxy 2Balm mcBalm mcRedis RedisHAProxy group 1高可用管理外部支付系统读写分离DBPro
4、xy 1DBProxy 2DBProxy 1DBProxy 2交易库读写分离其他库读写分离MySQL高可用集群LUNLUNLUNLUN风控交易库支付库短消息其他1其他8其他1其他8其他nbotbotbotbot mgrSer ver-4botSer ver-30balm物理集群Ser ver-1Ser ver-2Ser ver-3存储设备(支持SCSI-3 PR)存储设备(支持SCSI-3 PR)11管理平台展示12技术演进:分布式数据库集群的无缝迁移支撑100万/秒红包设计容量交易业务红包业务业务系统 线上借贷产品交易,红包库数据规模 总量1TB爱可生分布式数据库集群软件爱可生分布式数据库集
5、群软件 注册用户6千万以上性能指标 红包数量按照100万/秒容量设计系统特性。全局自增ID 拆分表多维度复制 中间层1%影响以内的异步审计日志 在水平拆分基础上支持单节点自定义分表16个分片节点,拆分数据:红包数据1 组非拆分数据节点,4 组分片节点。所在节点是1 主3 从,其它节点时1主2从。拆分数据:产品、账号、好友相关运行级别 7x24x365数据库云PaaS平台的优势集高可用之大成-部署简单,运维方便-极端情况不丢任何数据-切换时间短,5秒以内-多套灵活高可用分组-同城灾备,异地灾备一体化-贴近MySQL设计,自动处理上百种MySQL故障多年数据库服务积累-十年数据服务经验-完善的数据
6、生态系统-自主知识产权产品快速投产无需更改应用-中间层透明MySQL接口-中间层自动读写SQL路由主从读写分离水平扩展-降低主节点的负载压力-提高资源利用效率-在线添加MySQL从机,不影响业务-根据业务SQL统计调整主从比例-高性能,中间层的性能损耗低于10%-事务可强制读主库-业务维度的延迟检测和自动处理MySQL数据库自动化运维管理自动化运维管理平台方案数据库智能管理平台软件功能:运维管理平台功能架构 Dashboard:显示平台中各类节点的逻辑拓扑图和健康状态,并提供标准接口,供第三方软件对接节点管理DBProxy管理集群节点管理和维护 集群节点管理:实现集群节点主机的配置、管理及维拓
7、扑结构节点服务状态告警状态仪表计量DBProxy管理护,如添加/删除主机、停止/启动HA等集群节点配置DBProxy配置 数据库管理:MySQL数据库的日常管理和维护,如高可用组的动态创建、扩展等,数据库实例的创建、激活、移除/加入高可用组、移出/加入路由、停止/启动实例等,备份策略管理,还原数据库备份等数据库日志节点日志操作日志日志管理数据库实例管理数据库实例管理备份策略管理 监控报表:实现对集群内的节点主机、M ySQ L数据库告警管理的运行状态进行监控,并生成性能诊断报表。未处理告警已处理告警 告警管理:实现预设报警规则的配置,提供邮件、短还原数据库备份信的异常告警提醒用户管理角色管理权
8、限配置用户管理 DBProxy管理:实现DBProxy(读写分离中间件)的全生命周期的管理,如创建、配置、删除、添加/删除路由等监控报表数据库监控系统监控报表生成 用户及日志管理:实现用户及权限、各节点及组件日志的管理物理主机管理管理控制台组件实例管理数据库实例管理读写分离组件管理负载均衡组件管理监控告警管理用户审计用户管理平台组件拓扑结构图“互联网+”对于大规模云数据集的处理技术需求分布式集群分库分表分布式MySQL集群原理应用服务器应用服务器应用服务器负载均衡集群管理平台爱可生分布式集群中间件SQL转换和分发SQL转换和分发数据分片数据分片MyS Q L数据库集群节点并行计算分布式数据库分
9、库分表模型 逻辑库(schema)-DB1 逻辑表(table)-T1 分片节点(datanode)-分片1数据库DB1表T1表T2分片1分片2分片3分片4 实例(database)-数据库1 节点主机(datahost)-物理主机1数据库1数据库2 数据库3数据库4物理主机1物理主机2物理主机3“互联网+”对 开 发 测试 云 的 要求DevOps开发运维一体化DB as a Service自服务某银行面向私有云的云数据库平台,打造DevOps模式应用 项目背景:该银行的数据中心拥有规模庞大的IT基础设施和种类繁多的线上和开发测试项目。需构建完整统一的私有云中的数据库即服务平台,并与IaaS
10、整合。解决方案:我们提供了基于MySQL的云数据库即服务平台。实现了面向多租户开发测试环境和生产环境的数据库自服务、随需创建扩缩、便捷自动管理和运维的统一的数据库云平台。方案价值:目前DBaaS平台已投产系统63套,开发环境200个数据库实例,测试环境100个实例。物理服务器共计30台左右,虚拟机200个左右。提升了快速的MySQL服务交付能力 形成了标准的MySQL运维管理规范 实现了全面的MySQL运维自动化能力已经支持了手机银行、财富体验、个贷系统、互联网在线融资、信用卡企业服务等30余个项目,加快了开发、单元测试、功能测试、集成测试和生产部署的处理流程,从基础设施层面满足业务敏捷性需求
11、。界面展示-实例管理界面展示-备份策略界面展示-实例性能扩容界面展示-实例存储扩容界面展示-实例HA扩容资源隔离:Container与Docker技术物理机资源Control Groups资源用户多核CPU平资 单机多实例,充分利用资源 DBaaS提供了CPU计算资源、内存资源的隔离手段 DBaaS中的数据库服务实例运行时在各自的容器中运行,互相不可见,不影响内存 CGroups是Linux内核提供的一种资源隔离手段,资源调度损耗小,性能高 Docker容器采用了linux内核中的cgroup技术来实现container的资源的隔离和控制。MySQL数据库灾备数据复制容灾技术层次及分类5.基于
12、应用复制应用扩展性复杂度兼容性DBMS数据库管理系统4.基于数据库复制OS文件系统3.基于OS复制带宽裸设备/卷设备I/O驱动程序SCSI,FC NFS,CIFS2.基于SAN复制1.基于阵列复制SANIP缓存磁盘阵列NAS基于QRep的数据库容灾架构原理 数据复制基于binlog日志进行解析、过滤、传输、回放主库主库主库主库 优化了异地网络传输,采用SQL合并及压缩提升处理性能Dump协议主端Agent(解析/提取/压缩/传输)管理监控节点Qrep数据压缩传输 基于行格式binlog的高效处理及传输,有效提升RPO备端Agent(接收/解压/合并/回放)SQL 备库在复制过程中始终处于运行等
13、待状态,基于主键归并,加速并行回放效率,有效提升RTO备库备库备库备库QRep数据复制组件架构Emmet:备端组件Gargou:主端组件1.主端并行收集各个业务库的事务binlog,基于主键合并RowChange,序列化压缩成一个work进行传输2.备端接收work,解压,反序列化成RowChange,置于workpool3.备端启动多个worker并行回放。基于主键合并的RowChange不存在相同主键,与顺序无关。爱可生灾备数据复制组件设计原理 数据传输 原生replication是流式,基于event,粒度小,压缩比小,压缩和解压消耗时间和传输收益相比较大 灾备数据复制工具可配置最大粒度
14、(缺省3M),较原生的粒度大,压缩比高,所以压缩后传输效率更高(gzip压缩算法)并行回放基于主键合并的并行回放,提升回放效率inser t+update=inser tupdate+update=updateinser t/update+delete=deletedelete+inser t=inser tdelete+delete=delete灾备数据复制的安全性 主机和灾备端的日志包传输有ACK机制 日志包本身带CRC32的checksum 主端gargou、备端emmet均是集群化的,任一节点Fail 时,新节点均可从中断状态中继续工作。回放时完善的异常处理机制 可选定时进行主备的数据
15、全量校验爱可生灾备数据复制组件评测结果 分别在2M、5M、10M三种网络环境进行压测 总执行时间爱可生复制组件比原生组件快4倍以上 在2万左右QPS,灾备复制工具可以基本无延迟基于 QRep 的灾备场景解析1.基于Qrep的异地容灾方案机房A机房B管理节点配置推送Gargou主端Agent高可用集群Emmet备端Agent高可用集群QREP异步传输服务IP服务IPMySQL主MySQL从 MySQL从MySQL主MySQL从MySQL从爱可生高可用读写分离集群爱可生高可用读写分离集群2.基于QRep的两地三中心场景生产机房同城容灾机房管理节点管理节点配置推送服MySQL主备端Agent高可用集
16、群QREP务主端Agent高可用集群MySQL从异服务IP步传异地容灾机房输管理节点服MySQL主MySQL从备端Agent高可用集群务MySQL主MySQL从MySQL从爱可生高可用读写分离集群3.基于Qrep的双活互备场景机房A管理节点机房B管理节点配置推送主备端Agen高可用集群主备端Agen高可用集群QREP双向传输服务IP服务IPMySQL主MySQL从MySQL从MySQL从MySQL主MySQL从爱可生高可用读写分离集群爱可生高可用读写分离集群案例:某互联网金融MySQL灾备亦庄机房稻香湖机房管理节点配置推送Gargou主端Agent高可用集群Emmet备端Agent高可用集群异步传输服务IP服务IPMySQL主 MySQL从 MySQL从MySQL主 MySQL从MySQL主 MySQL从MySQL主MySQL从MySQL从交易库一主三从支付库一主一从消息库一主一从集中业务库MySQL在线业务库MySQL灾备业务库