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