mysql读写分离ppt_MYSQL主从复制和读写分离ppt课件

本文详细介绍了MySQL的主从复制和读写分离技术,包括原理、常见架构拓扑、延迟原因及解决方案。通过主从复制,实现了数据的冗余和故障恢复,而读写分离则提升了系统性能。文章提到了如Transfer这样的第三方工具以减少延迟,并探讨了基于代码和中间代理层实现读写分离的方法,如MySQLProxy。此外,还提及了架构的演变过程和实例,如智慧校园架构案例。
摘要由CSDN通过智能技术生成

《MYSQL主从复制和读写分离ppt课件》由会员分享,可在线阅读,更多相关《MYSQL主从复制和读写分离ppt课件(16页珍藏版)》请在人人文库网上搜索。

1、数据存储层的技术分享-触龙,01,架构的组成(了解,02,03,架构的五层模型(了解,04,数据的主从复制和读写分离,Contents 目录,05,架构的演变-项目案例分享(了解,一.架构的组成,硬架构,软架构,粗略划分 (非标准,1.根据用户的地域分布选择合造的机房,2.根据设定的网站并发目标选择带宽,3.根据技术团队的能力划分服务器,如:代理服务器、图 片服务器、WEB服务器、缓存服务器、数据库服务器、 应用服务器、 日志服务器、监控服务器等,1.根据流量入口和营销重点选择开发方向:PC端、M端,3.选择合适的框架:第三方或自主研发,2.选择合适的语言:Java、php、.net、C/C#。

2、/C+、Python、 javascript、Ruby等,或者是它们的某些组合,4.结合硬架构的服务器划分和开发语言实现负载均衡、缓存、 动静分离、数据库集群和库表散列、分布式计算等 .,没有固定的架构,架构是一个逐步演变的过程,二.架构相关概念,负载均衡: (Load Balance,集群(Cluster):是一组独立的计算机系统构成一个松耦合的多处 理器系统,按功能和结构可以分为高可用性集群 High-availability (HA) clusters 、负载均衡集群 Load balancing clusters 、高性能计算集群 High- performance (HP) clus。

3、ters,架构知识,集群技术的一种,通过负载均衡器根据某种算法 合理将计算压力分配到集群中的每一台计算机上, 以减轻主服务器的压力,降低对主服务器的硬件 和软件要求,三.架构五层模型,Report层:基于监控层、各业务层生成的各类报表,以辅助决策者进行决策,如BI等,Monitor层:监控架构系统各软硬件及应用程序的运行状态、网络服务、占用资源,并根据设定标准完成报警、故障分析、流量分析、入侵检测等,APP层:参与业务处理的被封装成模块的应用程序(如Auth模块、User模块、DB模块、 Cache模块、Lookup模块、Log模块、根据不同平台处理不同业务的各种模块等等,Components。

4、层:支撑系统运行,保证架构系统业务处理的完整性(如Nginx、Apache、Mysql、Tomcat、PHP、Java、Python、JS、Redis、Mongo、Memcache等,OS层:架构系统的根基(如操作系统、服务器间的网络通信系统、软/硬防系统等,四.MYSQL的主从复制和读写分离,4.1.MYSQL主从复制原理,整体上来说,复制有3个步骤: (1) master将改变记录到二进制日 志(binary log)中 (2) slave将master的binary log events拷贝到它的中继日志 (relay log); (3) slave重做中继日志中的事件, 将改变反映它自。

5、己的数据。 实现整个复制操作主要由三个进 程完成的,其中两个进程在Slave (Sql进程和IO进程),另外一个 进程在Master(IO进程)上。 MYSQL主从配置流程略,它的缺点是:1、Slave实时性的保障,对于实时性很高的场合可能需要做一些处理 2、高可用性问题,Master就是那个致命点(SPOF:Single point of failure,四.MYSQL的主从复制和读写分离,4.2.MYSQL主从复制常见架构拓扑图: (“一主一从”、“一主多从”、“双主”、“多级复制”和“多主单向环形结构”,四.MYSQL的主从复制和读写分离,4.3.MYSQL主从复制的延迟原因,延迟原因:。

6、 主库多线程并发更新 从库单线程串行更新 1、mysql的主从复制都是单线程的操作,当主库的TPS并发 较高时,产生的DML和DDL数量超过slave一个sql线程所能承受的范围,就会产生延时 2、slave的大型SQL查询语句产生了锁等待,四.MYSQL的主从复制和读写分离,4.4.MYSQL主从复制的延迟解决方案,使用数据库缓存技术:在写入数据库的同时写缓存,数据先从缓存读再读数据库,01,WEB SERVER APACHE/NGINX/LIGHTTPD,应用服务器,Mysql 主库,Mysql 从库,Memcache,Reids,Mango,HBase,四.MYSQL的主从复制和读写分离。

7、,4.5.MYSQL主从复制的延迟解决方案,使用第三方插件: transfer 、relay fetch、MYSQL Proxy等 例:transfer,02,Transfer是一个主从多线程同步工具,直接patch在MySQL中,保证从库无延迟,使得应用能够直接从从库上读数据。 使用transfer以后,Master和Transfer主从关系,Transfer和Slave是Client-Server关系,四.MYSQL的主从复制和读写分离,4.6.MYSQL读写分离常见方法,1).基于程序代码内部实现:在代码中对select 操作分发到从库;其它操作由主库执行;这 类方法也是目前生产环境应用。

8、最广泛优点是 性能较好,因为在程序代码中实现,不需要、 增加额外的设备作为硬件开支;缺点是需要 开发人员来实现。 (2).基于中间代理层实现:代理中间层将前台应 用的连接请求转发给后台的数据库,并且通 过脚本实现复杂的连接控制和过滤,实现数 据库的读写分离。对于应用而言只需要连接 到代理监听的端口即可,不关心后台的服务 Mysql常见的中间层代理有MySQL Proxy, Atlas、Amoeba等,四.MYSQL的主从复制和读写分离,4.6.1.基于中间层代理实现MySQL读写分离之MySQL Proxy,mysql,MySQL Proxy是基于MySQL Client 和 MySQL Se。

9、rver之间的代理程序,能够完成对Client所发请求的监控、修改。从Client角度看,通过Proxy访问Server和直接访问 Server没有任何区别。对于既有的程序而言, 只要把直接被访问的Server的IP地址和端口号换成Proxy的IP地址和端口号就可以。Mysql Proxy通过LUA脚本中预先实现的6个方法实现对于后端mysql数据库服务器的监控和操作。 1. connect_server() 2. read_handshake() 3. read_auth() 4. read_auth_result() 5. read_query() 6. read_query_result。

10、(,四.MYSQL的主从复制和读写分离,4.6.2.基于程序代码实现MySQL读写分离,基本原则:在代码操作数据库时进行路由分类, 更新操作主库,查询操作分为库,四.MYSQL的主从复制和读写分离,4.6.2.CI框架实现MySQL读写分离,也可在数据库封装的底层操作类(DB_driver)里完成读写分离,但建议不要,因为会破坏原生态框架结构,五.架构的演变-项目案例分享,5.1.架构的演变史:(下次单独分享,第一步:物理分离WebServer和数据库,第二步:增加页面缓存,第三步:增加页面片段缓存,第四步:数据缓存,第五步: 增加WebServer,第六步:分库,第七步:分表、DAL和分布式缓存,第八步:增加更多的WebServer,第九步:数据读写分离和廉价存储方案,第十步:大型分布式应用和服务器群,五.架构的演变-项目案例分享,智慧校园架构案例分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值