Go在数据库中间件的应用现存问题 • 数据库访问基本采用直连方式 • 无法满足数据访问平台化要求 • 配置管理方式落后,运维压力大 • 为什么采用Go来实现 • go诸多优点,可用性高 • go处理mysql的binlog有知识积累 • 公司大规模推广使用go 8 分表路由逻辑 • 分表规则 • 哈希分表:shardkey通过Hash函数分表 • 分段分表:按照年、月、日或者整形范围分表 本质上哈希 本质上哈希分表与分段分表都是一样,只是其Hash方式不同,使得看起来有两 种不同的数据组织方式。 9 故障主备切换 • 故障情形 • 从节点挂掉:进行剔除下线处理 • 主节点挂掉,机器存活:通过binlog恢复数据,提升备为主 • 主节点挂掉,机器不存活:采用Relaylog恢复数据,提升备为主 • 部署模式 • 一主多从 • 双主多从 10 故障主备切换 • 一主多从模式 master Dead-Master Latest-Slave Slave Latest-Slave与Master差异 日志 Latest-Slave与Slave差异 日志 Master故障时试图通过Rsync拉取Binlog,最大程度保 证数据不丢失; Slave之间的数据差异通过中继日志恢复。 • 数据恢复工作原理 11 故障主备切换 • 双主多从模式 master slave slave slave0 码力 | 17 页 | 4.02 MB | 1 年前3
2.1.1 Golang主动式内存缓存的优化探索之路数据加载,更新 02. 全量数据加载,增量数据监听 • 每个应用服务分别消费数据变更消息 • 一个应用服务消费数据变更,应用服务集群内广播 Maxwell是一个能实时读取MySQL二进 制日志binlog,并生成JSON格式的消 息,作为生产者发送给Kafka、 RabbitMQ、Redis、文件或其它平台的 应用程序 数据管理 如何像SQL一样灵活? 多维度查询 03. 业务0 码力 | 48 页 | 6.06 MB | 1 年前3
共 2 条
- 1













