1.前言
最近和搞中间件的同事聊了聊,他感叹了几句,如今最大的难处在于中间件太多了,不知道用哪个。社区有几款不错的中间件,mycat算是影响力比较大的吧(以前听一位哥们儿说他认为mycat是java写的,效率很低,然后就对mycat狂轰滥炸),oneproxy是我们楼教主的扛鼎巨著,还有mariadb社区那个延迟开源的收费软件maxscale。好咯,今天我们不讲这些高大上的中间件,今天我们说的这个中间件是percona现在主推的一款中间件:ProxySQL。
可能很多同志没有听过ProxySQL,我们也很难在中文社区看到他的一些资料。首先我不得不说的是ProxySQL几个优点,首先它足够的轻量化,其次性能也足够满足常规需求。他可以干哪些事情呢,基本上社区中间件可以做的事情,它都可以做,什么读写分离啊,故障容错啊,分库分表啊。
2.安装部署
2.1安装包下载
安装包有两个地方可以下载,
percona站点:
github:
选择适合自己操作系统以及相关版本吧,这里我们选择ProxySQL-1.2.2-1.x86_64.rpm。rpm包直接装好了。
2.2安装
直接使用rpm安装即可:
[root@hpc01 ~]# rpm -ivh ProxySQL-1.2.2-1.x86_64.rpm
2.3启动ProxySQL
[root@hpc01 ~]# sudo service ProxySQL start
Starting ProxySQL: DONE!
2.4ProxySQL相关文件
[root@hpc01 ProxySQL]# pwd
/var/lib/ProxySQL
[root@hpc01 ProxySQL]# ls -l
total 604
-rw-------. 1 root root 32768 Dec 24 23:25 ProxySQL.db
-rw-------. 1 root root 571154 Dec 24 23:29 ProxySQL.log
-rw-r--r--. 1 root root 5 Dec 24 23:25 ProxySQL.pid
[root@hpc01 ProxySQL]# ls -l /etc/ProxySQL.cnf
-rw-------. 1 root root 3588 Aug 4 21:37 /etc/ProxySQL.cnf
ProxySQL.db是SQLITE的数据文件,Proxysql很多东西是存储在这个迷你数据库里面的。ProxySQL.log是日志文件,排查问题好地方。ProxySQL.pid这个pid文件不多说了。ProxySQL.cnf是ProxySQL的一些静态配置项,比如一些启动选项,sqlite的数据目录等等。
2.5 ProxySQL的相关进程
[root@hpc01 ProxySQL]# ps -ef|grep ProxySQL
root 1575 1 0 23:25 ? 00:00:00 ProxySQL -c /etc/ProxySQL.cnf -D /var/lib/ProxySQL
root 1576 1575 0 23:25 ? 00:00:02 ProxySQL -c /etc/ProxyS