小麦带你学服务治理四

简介: 跟着小麦不迷路

### 数据主从复制


主从复制是最常见的也是最简单的存储高可用方案,例如Mysql,redis等等



其架构的优点就是简单,主机复制写和读,而从机只负责读操作,在读并发高时候可用扩张从库的数量减低压力,主机出现故障,读操作也可以保证读业务的顺利进行。


缺点就是客户端必须感知主从关系的存在,将不同的操作发送给不同的机器进行处理,而且主从复制中,从机器负责读操作,可能因为主从复制时延大,出现数据不一致性的问题。




### 数据主从切换


刚说了主从切换存在两个问题: 1.主机故障写操作无法进行 2.需要人工将其中一台从机器升级为主机


为了解决这个两个问题,我们可以设计一套主从自动切换的方案,其中设计到对主机的状态检测,切换的决策,数据丢失和冲突的问题。


1.主机状态检测


需要多个检查点来检测主机的机器是否正常,进程是否存在,是否出现超时,是否写操作不可执行,读操作是否不可执行,将其进行汇总,交给切换决策


2.切换决策


确定切换的时间决策,什么情况下从机就应该升级为主机,是进程不存在,是写操作不可这行,连续检测多少失败次就进行切换。应该选择哪一个从节点升级为主节点,一般来说或应该选同步步骤最大的从节点来进行升级。切换是自动切换还是半自动切换,通过报警方式,让人工做一次确认。


3.数据丢失和数据冲突 数据写到主机,还没有复制到从机主机就挂了,这个时候怎么处理,这个也得考虑业务的方式,是要确保CP或AP


还要考虑一个数据冲突的问题,这个问题在mysql中大部分是由自增主键引起,就算不考虑自增主键会引起数据冲突的问题,其实自增主键还要引起很多的问题,这里不细说,避免使用自增主键。


相关文章
|
安全 搜索推荐 数据可视化
|
5月前
|
NoSQL IDE MongoDB
Studio 3T 2025.8 发布 - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.8 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
137 0
Studio 3T 2025.8 发布 - MongoDB 的终极 GUI、IDE 和 客户端
|
存储 人工智能 物联网
云计算的崛起:推动技术变革的核心力量
【10月更文挑战第4天】云计算的崛起:推动技术变革的核心力量
|
10月前
|
机器学习/深度学习 人工智能 算法
转载:【AI系统】AI 发展驱动力
本文介绍了AI的起源与发展历程,强调了2016年AlphaGo胜利对AI关注度的提升。文中详细解析了AI技术在搜索引擎、图片检索、广告推荐等领域的应用,并阐述了机器学习、深度学习和神经网络之间的关系。文章还深入探讨了AI的学习方法,包括模型的输入输出确定、模型设计与开发、训练过程(前向传播、反向传播、梯度更新)及推理过程。最后,文章概述了AI算法的现状与发展趋势,以及AI系统出现的背景,包括大数据、算法进步和算力提升三大关键因素。
转载:【AI系统】AI 发展驱动力
|
11月前
|
监控 数据安全/隐私保护 UED
数字版权管理
【10月更文挑战第30天】数字版权管理
450 4
|
11月前
|
Java 程序员 数据库连接
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
本文详细介绍了Java中的初始化块,包括静态初始化块和非静态初始化块的概念、执行顺序和实际应用场景。通过具体示例,帮助读者理解这两种初始化块的区别和使用场景,让面试官对你刮目相看。
131 0
Java执行顺序大揭秘:静态块、非静态块和构造方法谁先谁后?
|
前端开发 JavaScript
HTML+CSS+JS 实现一个漂亮的登陆页面
HTML+CSS+JS 实现一个漂亮的登陆页面
713 1
HTML+CSS+JS 实现一个漂亮的登陆页面
|
开发工具 git Windows
【Git】warning: LF will be replaced by CRLF in .gitignore解决方案
warning: LF will be replaced by CRLF in .gitignore解决方案
|
PHP 开发工具
tp5+微信公众号服务器配置时使用官方sdk还是token验证失败
tp5+微信公众号服务器配置时使用官方sdk还是token验证失败
154 0
|
Java 开发工具 数据安全/隐私保护
22SpringCloud - Spring Cloud Config 集成 Eureka 服务
22SpringCloud - Spring Cloud Config 集成 Eureka 服务
275 0