运维上海2017-从理论到实践,深度解析MySQL Group Replication -徐春阳
SEMI-SYNC MRG实践经验 • 支持多节点并发执行事务。如何保证从各个节点并发执行 的事务在每个节点以相同的顺序被应用/执行.------paxos协 议的功能。 • 自动地事务冲突检测。节点之间不能”同时”操作主键相同 记录,如果冲突,只有一个节点成功。------冲突检测。 • 节点故障容忍度强。多数派原则,超过半数节点存活的集 群依然整体可用。------paxos协议。 MGR�����:! • 将源自多个数据库节点并发无序的消息进行全局排序。目的 是保证每个节点执行的事务完全相同,顺序也相同。 • 所有的消息在各个节点处理动作完全相同,如果某个消息在 某个节点被丢弃(不处理 ,在其他节点也将被丢弃。 • 多数派原则,一个消息被超过半数的节点接收&”赞成”,则这 个消息将在全局生效,所有的节点都得执行(处理 这个消 息。 • Paxos协议只实现消息全局排序,不处理冲突。 主键不存在与write set中,不冲突。 主键存在,则比较事务版本信息,即比较gtid_set,如果是包含关系, 则不冲突。否则,冲突。 • 冲突检查在各节点内部独立完成,不需要节点间的通信。 ����:! �������:! T1! T2! T3! TN! ����������! Db_name_1:table_name_3:key2:1-95788750 码力 | 32 页 | 9.55 MB | 1 年前3MySQL高可用 - 多种方案
cf 和 haresources 的 配置,下面就分别来看! Hosts 文件的配置 需要在 hosts 文件中添加 master 和 backup 主机,加快节点间的通信 Master 和 backup 的 hosts 节点添加的内容一样,我的配置添加如下内 容: vim /etc/hosts #dbserver 和 puppet 是我的 master 和 backup 的主机名 drbd 的状态 设置当前节点为主节点,并进行格式化和挂载 drbdadm -- --overwrite-data-of-peer primary all mkfs.ext3 /dev/drbd0 mkdir /drbd mount /dev/drbd0 /drbd 挂在后可以往/drbd 目录写入一些测试数据,看看是否能同步到从节点上。 迁移 mysql 的数据到 出现脑裂后,会导致 drbd 两边的磁盘不一致,处理方法如下: 在确定要作为从的节点上切换成 secondary,并放弃该资源的数据: drbdadm secondary r0 drbdadm -- --discard-my-data connect r0 在要作为 primary 的节点重新连接 secondary(如果这个节点当前的连接 状态为 WFConnection 的话,可以省略),使用如下命令连接:0 码力 | 31 页 | 874.28 KB | 1 年前3TokuDB索引结构
磁盘读取root节点页; – b. 若root节点需分裂,则root节点一分为二,提升一个 新的Root节点; – c. 若root节点是叶子节点,则插入到basementNode;否 则,append message到msg_buffer; – d. 返回 分形树Insert/Update/Delete B C D A E B A D E C a. Root节点分裂前 b. Root节点分裂后 Root节点分裂后 分形树Insert/Update/Delete a. B+树顺序插入热点数据分布图 b. B+树随机插入热点数据分布图 分形树Flush线程 分形树Point-Query 分形树Range-Query 分形树范围查询 B+树范围查询 TokuDB事务(一) Page.1 Page.2 Page.3 Memory Disk Redo log0 码力 | 19 页 | 1.97 MB | 1 年前3如何用 MySQL 构建全方位高可用应用
MySQL Cluster 体系结构 MySQL Cluster 数据节点 客户机 应用程序层 数据层 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 26 Cluster Mgr Cluster Mgr MySQL Cluster 扩展 MySQL Cluster 数据节点 应用程序层 数据层 4/16/2017 版权所有 2015,Oracle 2015,Oracle 和/或其附属公司。保留所有权利。 27 客户机 Cluster Mgr Cluster Mgr MySQL Cluster 高可用性 MySQL Cluster 数据节点 4/16/2017 版权所有 2015,Oracle 和/或其附属公司。保留所有权利。 28 应用程序层 数据层 客户机 Cluster Mgr Cluster Mgr •在 MySQL 和/或其附属公司。保留所有权利。 MySQL Cluster 数据节点 Master –Slave Replication •内存优化表 – 持久 – 可与基于磁盘的表混合使用 •大量并发 OLTP •通过分布式联接支持分析 •通过并行表扫描支持非索引搜索 •MySQL Cluster 7.4 DBT2 FlexAsych – 2 亿次 NoSQL 读取/秒(32 个节点) 4/16/2017 31 MySQL0 码力 | 40 页 | 2.19 MB | 1 年前3Qcon北京2018--《MySQL的Docker容器化大规模实践》--王晓波
s+Dpdk的方案实现网络隔离。 容器的调度 •提供两种API: •Docker API的封装,用于创建,删除,修改。 •集群管理API,用于集群管理。 •Scheduler调度:选择最优节点创建容器。 •Agent:用于连接监控模块,上报系统运行状况。 GRPC API Schedule Filter Strategy Docker API Manger 分布式监控 Node 集群扩容 本地CPU、 memory、disk 是否满足 扩容 原地扩容 迁移升级 原地扩容 停从节点 删除从库容器 重新创建高配置容器 恢复从库的复制 HA切换 新增高配置从节点 扩容逻辑 迁移扩容 新增高配置从节点 HA切换 删除之前的旧节点 完成 删除旧实例 高可用管理 TCMHA Manager Sentinel 中间配置中心 Alert 生产环境近3500个实例在平台上工作 成果 手工部署: 部署一套高可用集群+备份,配置监控。至少30分钟。部署32个节点的分片的集群,至少一个上午 。无系统化管理,资源分配情况,无法统一调配,服务器资源利用率低。 MySQL容器平台: 部署一套高可用集群+自动化备份+慢日志分析+监控。用时1-2分钟。部署32个节点的分片集群, 只需5分钟。标准化的系统管理,部署环境统一、配置文件统一。系统化的操作降低人为失误和重复劳0 码力 | 32 页 | 7.11 MB | 1 年前3Kubernetes Operator 实践 - MySQL容器化
Replication Ø MySQL 官方提供 Ø 5.7 新特性 Ø 基于 Paxos 协议 Ø 写入延迟相对高 MySQL 高可用的实现方式 MHA 高可用简介 • 节点分为 mha-manager、 mha-node • 节点两两间 ssh 免密登录 • 一个 mha-manager 管理多个 mysql 集群,每个集群对应一 个 manager 进程 Master Slave1 Slave2 MGR 高可用简介 • 多主和单主两种工作模式 • MGR 只支持 InnoDB 引擎 • 开启 GTID,ROW 模式 binlog • 每张表必须有检测冲突的主键 • 目前最多只支持 9 个节点 • loose-group_replication_ • group_name • start_on_boot • local_address • group_seeds • bootstrap_group0 码力 | 42 页 | 4.77 MB | 1 年前3MySQL 企业版功能介绍
MySQL 企业级高可用性 MySQL 企业级高可用性可帮助您满足一切应用的可用性需求,即便是极为严苛的任务关键型应 用。MySQL 分组复制通过内置分组成员管理、数据一致性保证、冲突检测和处理、节点故障检 测和数据库故障切换相关操作提供原生高可用性,所有这些都无需人工干预或定制工具。 MySQL 企业级可扩展性 MySQL 企业级可扩展性可帮助您满足不断增长的用户、查询和数据负载对性能和可扩展性的要 与性能相关的服务器指标,并在严重偏离基准性能趋势时提醒开发人员和 DBA。Replication Dashboard 显示 MySQL 工具信息,Topology 视图显示复制分组的当前配置,让您能够快速了解每 个节点和每个复制子系统的状态。优秀实践顾问程序提供有助于提高性能的配置和变量设置建议。 MySQL Enterprise Monitor 利用趋势分析功能,在问题变严重前为您提供警示,并准确预测未来的0 码力 | 6 页 | 509.78 KB | 1 年前3MySQL 数据库架构灾难恢复解决方案
• 在线添加/删除节点/集群 • 路由器集成, 拓扑结构发生变化时无需重新配置 应用程序 M ySQL InnoDB ClusterSet – 3 个数据中心 Copyright @ 2021 Oracle and/or its affiliates. 14 / 55 MySQL InnoDB ClusterSet -并非每个集群都必须有 3 个节点 15 / 55 每个MySQL0 码力 | 52 页 | 3.07 MB | 1 年前3
共 8 条
- 1