1. 什么是中间件
传统的架构模式就是 应用连接数据库直接对数据进行访问,这种架构特点就是简单方便。
但是随着目前数据量不断的增大我们就遇到了问题:
单个表数据量太大
单个库数据量太大
单台数据量服务器压力很大
读写速度遇到瓶颈
当面临以上问题时,我们会想到的第一种解决方式就是 向上扩展(scale up) 简单来说就是不断增加硬件性能。这种方式只能暂时解决问题,当业务量不断增长时还是解决不了问题。特别是淘宝,facebook,youtube这种业务成线性,甚至指数级上升的情况
此时我们不得不依赖于第二种方式: 水平扩展 。 直接增加机器,把数据库放到不同服务器上,在应用到数据库之间加一个proxy进行路由,这样就可以解决上面的问题了。
2. 中间件与读写分离
很多人都会把中间件认为是读写分离,其实读写分离只是中间件可以提供的一种功能,最主要的功能还是在于他可以 分库分表;
而在读写分离结构中并没有这些分库分表规则,他只能在众多读节点中load balance随机进行分发,它要求各个节点都要存放一份完整的数据。
3. Atlas主要功能:
读写分离
从库负载均衡
自动分表
IP过滤
SQL语句黑白名单
DBA可平滑上下线DB
自动摘除宕机的DB
3. 安装、配置:
rpm –i Atlas-2.2.1.el6.x86_64.rpm
vim /usr/local/mysql-proxy/conf/test.cnf
cd /usr/local/mysql-proxy/bin
./mysql-proxyd test start
ps -ef | grep mysql-proxy
mysql -h127.0.0.1 -P1234 -u用户名 -p密码
show variables like "server_id"; (测试读写是否成功)
后续内容下次更新....