1、主要解决针对大型网站架构中持久化部分中,大量数据存储以及高并发访问所带来是数据读写问题。分布式是将一个业务拆分为多个子业务,部署在不同的服务器上。集群是同一个业务,部署在多个服务器上。
2、着重对数据切分做了细致丰富的讲解,从数据切分的原理出发,一步一步深入理解数据的切分,通过深入理解各种切分策略来设计和优化我们的系统。这部分中我们还用到了数据库中间件和客户端组件来进行数据的切分,让广大网友能够对数据的切分从理论到实战都会有一个质的飞跃。
学完本套课程以后能够达到的效果:
期望通过本课程能帮助大家学习到如何通过分布式+集群的方式来提高io的吞吐量,以及数据库的主从复制,主主复制,负载均衡,高可用,分库分表以及数据库中间件的使用。希望能够帮助大家更加清楚了解架构的工作模式,从而写出更高质量的代码。对于企业的架构人员可以优化企业架构。对于兴趣爱好者,可以作为一个很好的入门。
课程讲解过程中尽可能用简单的语言描述其中的原理,通过实例来帮助初学者快速上手。案例中代码全部手写,实例全部现场真实环境演示。
教程样例项目中用到的技术及相应的环境:
MySQL5.7 CentOS6.9 Vmware Spring3.x以上 JDK8 Maven XShell Xftp
教程中所有的与编程相关均使用Java来进行演示,但与编程语言无关,可使用任何编程语言进行测试。
课程大纲
1、课程概述
2、课程背景
3、纵观大型网站架构发展,总结持久化部分需要应对的问题
4、操作系统安装以及配置
5、在CentOS上通过yum安装mysql5.7
6、mysql初次见面-mysql5.7的用户以及安全策略
7、mysql初次见面续-mysql基本操作
8、认识主从复制
9、主从复制的准备工作01-mysql用户以及权限
10、主从复制的准备工作02-binlog日志详解
11、主从实战01-准备环境
12、主从实战02-主节点配置
13、主从实战03-从节点配置
14、java操作主从01
15、java操作主从02
16、主主复制
17、负载均衡概述以及环境准备
18、搭建负载均衡-01
19、搭建负载均衡-02
20、启动haproxy的监控功能
21、高可用以及环境准备
22、搭建keepalived
23、Keepalived配置简介
24、Keepalived配置邮件
25、Keepalived其他配置
26、分库分表概述
27、逻辑分表01-水平分表
28、逻辑分表02-水平分表续及垂直分表
29、表分区
30、数据库中间件01-认识mycat
31、数据库中间件02-mycat安装
32、数据库中间件03-mycat的helloworld
33、数据库中间件04-mycat的初识
34、数据库中间件05-mycat的数据切分
35、数据库中间件06-mycat的读写分离-01
36、数据库中间件06-mycat的读写分离-02
37、数据库中间件06-mycat的读写分离03-读写分离补充
38、数据库中间件07-mycat的高可用-01
39、数据库中间件08-mycat的高可用-02
40、数据库中间件09-mycat集群
41、mysql查询缓存
42、数据库切分概述
43、水平切分原理及单表切分后的操作
44、水平切分多表关联操作
45、垂直切分原理及操作
46、全局序列号
47、数据库切分策略-分片枚举
48、数据库切分策略-hash
49、数据库切分策略-范围约定
50、数据库切分策略-取模
51、数据库切分策略-按日期分片
52、数据库切分策略-其他切分策略
53、全局表
54、认识MyCat
55、部署MyCat
56、使用MyCat完成简单的数据库分片
57、MyCat分片策略
58、yCat全局表配置
59、MyCatER表配置
60、另外一种切分方式-使用客户端组件的方式实现数据库分
61、课程总结