MySQL大型分布式集群实战教程 2017年9月
本套课程将通过分布式集群和分库分表两部分内容进行讲解
1、主要解决针对大型网站架构中持久化部分中,大量数据存储以及高并发访问所带来是数据读写问题。分布式是将一个业务拆分为多个子业务,部署在不同的服务器上。集群是同一个业务,部署在多个服务器上。
. z' g: w) q5 s! D$ @+ G7 f" X
2、着重对数据切分做了细致丰富的讲解,从数据切分的原理出发,一步一步深入理解数据的切分,通过深入理解各种切分策略来设计和优化我们的系统。这部分中我们还用到了数据库中间件和客户端组件来进行数据的切分,让广大网友能够对数据的切分从理论到实战都会有一个质的飞跃。6 Y0 a+ B0 ~: H- f' z
学完本套课程以后能够达到的效果:7 T0 r( d8 ~! u( q8 h. }4 S
' ]2 R4 V6 ]7 T* U, m) k% D, m
期望通过本课程能帮助大家学习到如何通过分布式+集群的方式来提高io的吞吐量,以及数据库的主从复制,主主复制,负载均衡,高可用,分库分表以及数据库中间件的使用。希望能够帮助大家更加清楚了解架构的工作模式,从而写出更高质量的代码。对于企业的架构人员可以优化企业架构。对于兴趣爱好者,可以作为一个很好的入门。' q6 G% ^. ~0 O1 G9 g
课程讲解过程中尽可能用简单的语言描述其中的原理,通过实例来帮助初学者快速上手。案例中代码全部手写,实例全部现场真实环境演示。
教程样例项目中用到的技术及相应的环境:
MySQL5.7 CentOS6.9 Vmware Spring3.x以上 JDK8 Maven XShell Xftp! r \5 \8 Y1 H2 V
教程中所有的与编程相关均使用Java来进行演示,但与编程语言无关,可使用任何编程语言进行测试。
/ ^1 d5 J/ x2 c) y2 {3 K+ z
课程大纲( n8 D6 a+ w6 \
第1节课程概述 00:12:22分钟
第2节课程背景 00:09:12分钟
第3节纵观大型网站架构发展,总结持久化部分需要应对的问题 00:27:12分钟
第4节操作系统安装以及配置 00:31:22分钟 4 I" x5 d9 ^2 S# t. k g
第5节在CentOS上通过yum安装mysql5.7 00:15:32分钟
第6节mysql初次见面-mysql5.7的用户以及安全策略 00:05:34分钟
第7节mysql初次见面续-mysql基本操作 00:37:36分钟
第8节认识主从复制 00:15:01分钟
第9节主从复制的准备工作01-mysql用户以及权限 00:12:11分钟 " i) p: O, O3 P; r: F8 k
第10节主从复制的准备工作02-binlog日志详解 00:33:23分钟
第11节主从实战01-准备环境 00:26:06分钟
第12节主从实战02-主节点配置 00:06:19分钟
第13节主从实战03-从节点配置 00:10:45分钟 - j5 m9 e1 H8 d1 C" O! q
第14节java操作主从01 00:24:26分钟
第15节java操作主从02 00:13:48分钟 * e0 M7 I6 v5 j
第16节主主复制 00:32:23分钟 , A$ W. L% M2 K3 k3 z% Q
第17节负载均衡概述以及环境准备 00:20:42分钟
第18节搭建负载均衡-01 00:22:54分钟 2 l7 D9 N, d! m: `
第19节搭建负载均衡-02 00:06:06分钟 8 R4 }% {+ q: o# T8 q/ A, y: }
第20节启动haproxy的监控功能 00:14:52分钟
第21节高可用以及环境准备 00:40:14分钟
第22节搭建keepalived 00:19:42分钟 `5 x9 W2 @3 [# g7 t; w8 m
第23节Keepalived配置简介 00:11:01分钟
第24节Keepalived配置邮件 00:42:27分钟 3 D o8 T: i9 d
第25节Keepalived其他配置 00:12:13分钟
第26节分库分表概述 00:12:18分钟
第27节逻辑分表01-水平分表 00:32:43分钟
第28节逻辑分表02-水平分表续及垂直分表 00:13:36分钟 + @ @0 v9 T- G4 g; t) D
第29节表分区 00:42:19分钟 5 f) N% J- S! Q3 E+ ^+ I+ Q
第30节数据库中间件01-认识mycat 00:22:32分钟 . Q' j" ^' R3 s
第31节数据库中间件02-mycat安装 00:18:18分钟 v6 x4 K" E Z; ? F
第32节数据库中间件03-mycat的helloworld 00:31:11分钟 2 C* ]: {% L7 g- Y l0 {
第33节数据库中间件04-mycat的初识 00:13:57分钟 $ v' Z& w2 M$ H7 I" I
第34节数据库中间件05-mycat的数据切分 00:13:50分钟 * U" P0 y0 V% K! d
第35节数据库中间件06-mycat的读写分离-01 00:11:16分钟 / E; P, q. s3 ^: i1 y9 p
第36节数据库中间件06-mycat的读写分离-02 00:24:06分钟 ( i- F5 d% @1 Y" F4 ~7 w( Z
第37节数据库中间件06-mycat的读写分离03-读写分离补充 00:03:37分钟 5 K M8 I7 v2 K& e2 q
第38节数据库中间件07-mycat的高可用-01 00:10:01分钟
第39节数据库中间件08-mycat的高可用-02 00:06:13分钟 3 D8 d( b: @0 T$ g, a# b& J
第40节数据库中间件09-mycat集群 00:08:08分钟 / g3 P6 g( ^: ?# C4 e' [
第41节mysql查询缓存 00:08:17分钟
第42节数据库切分概述 00:37:09分钟
第43节java环境配置 00:13:42分钟 6 @% H9 w: a2 v: t# u
第44节水平切分原理及单表切分后的操作 00:47:46分钟
第45节水平切分原理及单表切分后的操作-2 00:19:32分钟 , `$ S4 k ~ K$ G' I. F( M
第46节水平切分多表关联操作 00:38:14分钟
第47节垂直切分原理及操作 00:17:23分钟
第48节全局序列号 00:21:35分钟 + D) t9 f5 N+ s. n2 O
第49节数据库切分策略-分片枚举 00:35:49分钟 5 t5 [2 \! s% D8 ~( `
第50节数据库切分策略-hash 00:41:16分钟
第51节数据库切分策略-范围约定 00:17:20分钟 # |$ {& N; e' F. L1 ^
第52节数据库切分策略-取模 00:13:54分钟 8 |4 v& h( @ n, H* o
第53节数据库切分策略-按日期分片 00:17:43分钟 0 V* t" i) |* I9 X5 K9 `$ _
第54节全局表 00:04:27分钟 $ r A. i+ X9 z3 w+ [
第55节认识MyCat 00:13:55分钟 2 R* |3 S$ T- K
第56节部署MyCat 00:20:20分钟 - E& V" P. i% R0 ?
第57节使用MyCat完成简单的数据库分片 00:28:58分钟 ! x) x6 l1 y. T. l; q
第58节MyCat分片策略 00:13:08分钟
第59节MyCat全局表配置 00:05:18分钟 2 v; k8 C+ X! t! X
第60节MyCatER表配置 00:20:27分钟 " R2 a! j' @- x( h: Y# ~9 ]
第61节另外一种切分方式-使用客户端组件的方式实现数据库分 00:06:20分钟 5 y8 j6 _3 ^: h
第62节课程总结 00:01:56分钟 5 s4 n5 U7 j0 E- y4 |! i
|