面向高能所信息化系统的高可用数据库服务 王丽 计算中心 中科院高能所 第十八届全国科学计算与信息化会议
目录 背景与现状 问题与需求 数据库集群方案 IHEP数据库集群架构 性能测试 总结与展望 Wang Li/CC/IHEP 2018/11/20 - 2
什么是“信息化”? 流程 业务 渠道 信息化 提高效率 降低成本 增强竞争力 计算机技术 软件技术 互联网技术 整合、优化、重组 Wang Li/CC/IHEP 2018/11/20 - 3
信息化现状 无处不在的信息化 Wang Li/CC/IHEP 2018/11/20 - 4
高能所信息化 PC端 APP移动端 网络接入控制系统 人力资源系统 物资采购系统 基建采购报销系统 投票系统 高能所通讯簿系统 个人云平台 Wang Li/CC/IHEP 2018/11/20 - 5
传统数据库 单机数据库 可靠性难以保障 不支持高并发 数据一致性无法保障 数据分散存储 数据库节点故障 数据库配置存在瓶颈 访问量影响系统响应 数据一致性无法保障 数据丢失、数据损坏 Wang Li/CC/IHEP 2018/11/20 - 6
需求 高性能 安全性 高可用 集中存储 MySQL集群 Wang Li/CC/IHEP 2018/11/20 - 7
Mysql 集群方案 基于共享存储的方案SAN 基于磁盘复制的方案 DRBD 基于主从复制(单点写)方案 MHA(Master High Availability) 基于zookeeper的高可用 基于Cluster(多点写)方案 基于中间件proxy的方案 Wang Li/CC/IHEP 2018/11/20 - 8
基于共享存储的方案SAN 优点: 限制或缺点: 可以避免存储外的其它组件引起的数据丢 部署简单,切换逻辑简单,对应用透明。 保证主备数据的强一致。 限制或缺点: 共享存储是单点, 价格比价昂贵。 若共享存储挂了,则会丢失数据 Wang Li/CC/IHEP 2018/11/20 - 9
基于磁盘复制的方案 DRBD 优点: 限制或缺点: 1.切换对应用透明 2.保证主备数据的强一致。 1.影响写入性能,由于每次写磁盘,实质都需要同步到网络服务器。 2.一般配置两节点同步,可扩展性比较差 3.备库不能提供读服务,资源浪费 Wang Li/CC/IHEP 2018/11/20 - 10
基于主从复制(单点写)方案 Mysql 主从复制原理 优点 数据分布 负载平衡 备份 高可用性和容错行 Wang Li/CC/IHEP 2018/11/20 - 11
Keepalived+双主 优点: 限制或缺点: 安装配置简单 Master故障时,Slave快速切换提供服务,并且对应用透明 需要主备的IP在同一个网段。 需要自定义脚本来确定Master是否能提供服务 Wang Li/CC/IHEP 2018/11/20 - 12
MHA 优点: 缺点: 代码开源 保持数据一致。 故障时,选择slave作为自动切换 可以灵活选择VIP方案或者全局目录数据库方案(更改Master IP映射)来进行切换。 缺点: 只支持一主多从架构,集群中必须最少有三台数据库服务器 要保持切换对应用透明,依然依赖于VIP。 不适用于大规模集群部署,配置比较复杂。 MHA管理节点本身的HA无法保证。 Wang Li/CC/IHEP 2018/11/20 - 13
基于zookeeper的高可用 优点: 缺点: 扩展性非常好,可以管理大规模集群。 保证了整个系统的高可用 主从的强一致依赖于MySQL本身,比如半同步,或者外围工具的回补策略 缺点: 引入zk,整个系统变得复杂。 Wang Li/CC/IHEP 2018/11/20 - 14
Mysql Cluster 优点: 缺点 准同步复制、自动节点管理 数据严格一致 服务高可用 多个可同时读写节点, 可实现写扩展 只支持innodb引擎 所有表都要有主键 由于写要同步到其它节点,存在写扩大问题 非常依赖于网络稳定性,不适用于远距离同步 Wang Li/CC/IHEP 2018/11/20 - 15
基于中间件proxy方案 中间件 优点: 阿里 Cobar、MyCAT 360 Atlas 淘宝 Tddl 切换对应用透明 可扩展性强,方便分片扩展 可以跨机房部署切换 使用中间件的方案能够每天处理近50亿次的SQL执行请求 Wang Li/CC/IHEP 2018/11/20 - 16
高能所数据库集群方案 优势 使用Atlas代理服务器,实现读写分离,实现mysql集群的高并发 两个master安装keepalived实现Mysql集群的高可用。VIP是对外服务ip master节点故障,自动切换master。 两个slave节点同步主节点,用来读 Wang Li/CC/IHEP 2018/11/20 - 17
数据库平台测试效果 利用sysbench测试 测试情况 测试效果 连接Atlas线程数增加QPS越大,系统性能越好 。 执行80000次select 80000次update 80000次insert 每组数据重复测试三次后取平均值 测试情况 测试连接 Atlas 直连 DB 这两种情况下的 QPS 测试效果 连接Atlas线程数增加QPS越大,系统性能越好 。 1 8 16 32 64 128 Select-Atlas 1319 5882 7397 12125 16472 18392 Select-直连 1532 9957 14189 17172 21575 22000 Update-Atlas 181 853 1350 1908 2388 2628 Update-直连 211 819 1333 2148 2677 3067 Insert-Atlas 195 890 3516 4614 5948 5438 Insert-直连 214 864 5132 6587 7353 5822 1 8 16 32 64 128 Select-Atlas 1.11 1.36 2.16 3.16 4.42 6.31 Select-直连 0.65 0.80 1.12 1.86 2.95 5.79 Update-Atlas 5.52 9.37 11.84 16.76 26.78 48.63 Update-直连 4.72 9.76 12.00 14.89 23.89 41.68 Insert-Atlas 5.11 8.98 81.95 125.02 194.59 533.74 Insert-直连 4.46 9.25 56.09 87.53 157.62 446.78
运行情况 运行的系统 占用空间 人力资源系统 流量分析系统 图片管理系统 20G Wang Li/CC/IHEP 2018/11/20 - 19
总结与展望 该集群在高能所运行稳定,能够支持IHEP信息化系统存储需求 未来希望 计划迁移数据库的系统 按需申请服务 申请服务系统接入高能所统一认证 提供统一的使用访问数据库工具 计划迁移数据库的系统 IHEPbox 统一认证系统 信息化系统。。。。 Wang Li/CC/IHEP 2018/11/20 - 20
谢谢大家 Wang Li/CC/IHEP 2018/11/20 - 21