MySQL读写分离、MySQL锁、分布式MySQL

MySQL读写分离、MySQL锁、分布式MySQL,第1张

MySQL读写分离、MySQL锁、分布式MySQL

MySQL读写分离、MySQL锁、分布式MySQL
  • 一:MySQL读写分离
  • 二:MySQL锁
  • 三:分布式MySQL

一:MySQL读写分离

大型网站为了解决大量的并发访问,除了在网站实现分布式负载均衡之外还远远不够。到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器来处理如此多的数据库连接 *** 作,数据库必然会崩溃,特别是数据丢失的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,下面就进入我们今天的主题。

利用主从数据库来实现读写分离,从而分担主数据库的压力。在多个服务器上部署mysql,将其中一台作为主数据库,而其它作为从数据库,实现主从同步。其中主数据库负责主动写的 *** 作,而从数据库则只负责主动读的 *** 作(slave从数据库仍然会被动的进行写 *** 作,为了保持数据一致性),这样就可以很大程度上的避免数据丢失的问题,同时也可减少数据库的连接,减轻主数据库的负载。

那么主数据库和从数据库是怎么保证数据一致的呢?

首先主服务器主要进行写 *** 作。它会把执行写入 *** 作的SQL语句记录日志文件 bin log 中

从服务器中有两个核心的线程。IO线程、SQL线程

主服务器利用IO线程将 bin log 传送到从服务器中,从服务器将其写入到 relay log(中继日志) 中,

当外部需要读数据时会通过SQL线程,SQL线程会从 relay log 读到它想获取的数据。

一般从服务器中会存放数据库的快照,便于解决主服务器数据丢失的情况。

MySQL的读写分离是建立在主从架构的基础之上的,而主从模式是基于两个 log 实现的。

二:MySQL锁 三:分布式MySQL

MySQL外部的分布式事务
当读写分离的设计还扛不住高并发的场景,那么我们就可以对MySQL进行分布式处理。

MySQL内部的分布式事务

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5695135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存