课程目标
目标 1:理解 MyCat 分片,能够配置 MyCat 分片目标 2:掌握 Nginx 的安装与静态网站部署
目标 3:掌握 Nginx 的静态网站部署
目标 4:理解 Nginx 的反向代理与负载均衡,能够配置反向代理与负载均衡目标 5:了解品优购的整体部署方案
1.开源数据库中间件-MyCat
如今随着互联网的发展,数据的量级也是撑指数的增长,从 GB 到 TB 到 PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求。这个时候 NoSQL 的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。
但是,在有些场合 NoSQL 一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候 NoSQL 肯定是无法满足的,所以还是需要使用关系性数据库。如果使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储。
1.1 MyCat简介
Mycat 背后是阿里曾经开源的知名产品——Cobar。Cobar 的核心功能和优势是 MySQL 数据库分片,此产品曾经广为流传,据说最早的发起者对 Mysql 很精通,后来从阿里跳槽了,阿里随后开源的 Cobar,并维持到 2013 年年初,然后,就没有然后了。
Cobar 的思路和实现路径的确不错。基于 Java 开发的,实现了 MySQL 公开的二进制传输协议,巧妙地将自己伪装成一个 MySQL Server,目前市面上绝大多数 MySQL 客户端工具和应用都能兼容。比自己实现一个新的数据库协议要明智的多,因为生态环境在哪里摆着。
Mycat 是基于 cobar 演变而来,对 cobar 的代码进行了彻底的重构,使用 NIO 重构了网络模块,并且优化了 Buffer 内核,增强了聚合,Join 等基本特性,同时兼容绝大多数数据库成为通用的数据库中间件。
简单的说, MyCAT 就是: 一个新颖的数据库中间件产品支持 mysql 集群, 或者
mariadb cluster,提供高可用性数据分片集群。你可以像使用 mysql 一样使用 mycat。对于开
发人员来说根本感觉不到 mycat 的存在。

Java之品优购部署_day02(1)_第1张图片

MyCat 支持的数据库:
Java之品优购部署_day02(1)_第2张图片

1.1 MyCat下载及安装
1.1.1 MySQL安装与启动
JDK:要求 jdk 必须是 1.7 及以上版本
MySQL:推荐 mysql 是 5.5 以上版本
MySQL 安装与启动步骤如下:( 步骤 1-5 省略 )
(1)将 MySQL 的服务端和客户端安装包(RPM)上传到服务器
Java之品优购部署_day02(1)
(2)查询之前是否安装过 MySQL
rpm -qa|grep -i mysql

(3)卸载旧版本 MySQL
rpm -e --nodeps 软件名称

(4)安装服务端
rpm -ivh MySQL-server-5.5.49-1.linux2.6.i386.rpm

(5)安装客户端
rpm -ivh MySQL-client-5.5.49-1.linux2.6.i386.rpm

(6)启动 MySQL 服务
service mysql start
(7)登录 MySQL
mysql -u root
(8)设置远程登录权限
GRANT ALL PRIVILEGES ON . TO 'root'@'%'IDENTIFIED BY '123456' WITH GRANT OPTION;
在本地 SQLyog 连接远程 MySQL 进行测试
1.1.1 MyCat安装及启动
MyCat:
MyCat 的官方网站:
http://www.mycat.org.cn/
下载地址:
https://github.com/MyCATApache/Mycat-download
第一步:将 Mycat-server-1.4-release-20151019230038-linux.tar.gz 上传至服务器
第二步:将压缩包解压缩。建议将 mycat 放到/usr/local/mycat 目录下。
tar -xzvf Mycat-server-1.4-release-20151019230038-linux.tar.gz
mv mycat /usr/local
第三步:进入 mycat 目录的 bin 目录,启动 mycat
./mycat start
停止:
./mycat stop
mycat 支持的命令{ console | start | stop | restart | status | dump }
Mycat 的默认端口号为:8066