VC中文网-VC-MFC编程论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 703|回复: 10
打印 上一主题 下一主题

Mysql读写分手集群中间件—Atlas完美配置,So easy!5分钟弄定!

[复制链接]

12

主题

43

帖子

29

金币

连长

Rank: 7Rank: 7Rank: 7

积分
126

新兵

跳转到指定楼层
楼主
发表于 2018-11-27 12:46:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

昨天发了《Mysql主从复制完美配置,So easy!5分钟弄定!》,是Mysql主从复制双机集群的配置体例,有需要的朋友可以点我头像进去查看。

今天继续昨天的话题,主从复制配置完成以后我们该怎么用?

单机Mysql情况下,我们这样用:

java应用通过jdbc(Mybatis,Hibernate等)连接到mysql,中间需要配置连接URL:

很熟悉吧?对,这个URL里的192.168.1.1和3306就是Mysql的IP和端口

主从复制的集群咋办?

很显然不克不及在上面的URL里面写上两个IP和端口吧!请欢迎我们的大神Atlas进场。

Atlas是奇虎360公司开源的数据库中间件,可以作为代办署理,实现数据库集群情况下一系列复杂的功能。

Atlas能干啥?


    读写分手

    从库负载均衡

    自动分表

    IP过滤

    SQL语句黑白名单

    DBA可平滑上下线DB

    自动摘除宕机的DB

看看这一堆功能,头晕,我们先实现一个小目标:配置Mysql连接URL的时候把IP和端口换成Atlas的IP和端口,Atlas就能自动帮我们实现读写分手!把我们的Java应用跑起来!

弥补一点:Atlas的Github地址:

https://github.com/Qihoo360/Atlas

再弥补一点:同样作为数据库中间件,Mysql官方也有一个,不过那个玩意实在不咋地!一身毛病。Atlas是以那个为蓝本修改的。

再再弥补一点:另外公司还有很多另外中间件,好比mycat,cobar等等。我没用过, 有兴趣的请自己百度

Atlas安装摆设:

wget https://github.com/Qihoo360/Atlas/releases/download/2.2.1/Atlas-2.2.1.el6.x86_64.rpm

yum install Atlas-2.2.1.el6.x86_64.rpm

下面命令是加密,加密啥呢?Atlas作为代办署理要连接Mysql,需要用户名密码,Atlas需要把mysql的密码保存在配置文件中,那么很显然不克不及保存明文吧?于是我们用下面命令加密一下,然后写到配置文件中,用眼睛看到的是xxxooo乱码,可是Atlas能看懂!

执行命令:

/usr/local/mysql-proxy/bin/encrypt 要加密的mysql密码

获得 xxxooo 一堆,好了,保存好,后面要用

修改配置文件:

vi /usr/local/mysql-proxy/conf/test.cnf

给Atlas配置一个管理员用户名:

admin-username = user

管理员密码:

admin-password = xoxoxo

Atlas监听的工作接口IP和端口;下面暗示1234端口连接Atlas来发送SQL请求。

proxy-address = 0.0.0.0:1234

上一篇我们配置好的主Mysql的ip和端口:

proxy-backend-addresses = 192.168.1.1:3306

从Mysql的ip和端口配置(可以配置多个从mysql,中间加,),每个从Mysql后面可以加@,再加数字,用来暗示权重的凹凸,不加的话暗示权重相同。另外,默认情况下这里配置的mysql都是只读(就是“只读取数据”,写入数据会自动分派到主Mysql),如果也想从主mysql读,需要把主mysql的IP和端口也配置进去

proxy-read-only-backend-addresses = 192.168.1.2:3306,192.168.1.3:3306

数据库密码配置,上面加密出来的那个xxxooo还记得么?用在这里!另外,主从Mysql要配置一个相同的用户myuser(同用户名,同密码),便利Atlas使用。

pwds = myuser:xxxooo

启动Atlas

进入/usr/local/mysql-proxy/bin

./mysql-proxyd test start 启动Atlas。

./mysql-proxyd test restart 重启Atlas。

./mysql-proxyd test stop 停止Atlas。

启动后测试

ps -ef | grep mysql-proxy

查看进程是否存在。没问题的话执行如下:

mysql -hAtlas主机的ip -P1234 -u用户名 -p

回车,填写密码,回车!这个用法跟mysql连接是一致的。看看是否能连接上,如果连上了,请注意!这可是用atlas

作为代办署理实现的连接!不再是直接连接mysql了!

回归到Java应用

做到了上面几步,说明atlas已经成功跑起来了,再用java应用连接时URL配置IP和端口使用atlas的IP和端口,后面Atlas会自动将写入请求发送到主Mysql,将读请求发送到从Mysql,而你写入到主Mysql的信息会自动的同步到从Mysql(同步这个事是Mysql自己干的,跟Atlas没关系了)

OK!就说到这里,其实我写的工具,在github上也都有!这里只帮你先跑起来,后面详细的研究请多多实践!

弥补一点,昨天有朋友问我,主从复制的情况下,会不会呈现主库写完以后,同步到从库有延迟?谜底是100%的,虽然绝大部分情况下延迟较小,可是也不克不及忽略,究竟结果哪怕1ms在某些业务中也是不允许的,怎么办?Atlas提供了方案:

执行select 时,在select语句前加上 /*master*/ 这样就会从主Mysql强制读了!

OK!感激关注!

更多内容回复查看:
游客,如果您要查看本帖隐藏内容请回复
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

15

主题

55

帖子

34

金币

连长

Rank: 7Rank: 7Rank: 7

积分
150

新兵

沙发
发表于 2018-11-27 12:46:37 | 只看该作者
顶顶更健康,关注了
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

12

主题

35

帖子

26

金币

连长

Rank: 7Rank: 7Rank: 7

积分
105

新兵

板凳
发表于 2018-11-27 12:46:44 | 只看该作者
给我一小时也弄欠好
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

19

主题

45

帖子

41

金币

连长

Rank: 7Rank: 7Rank: 7

积分
129

新兵

地板
发表于 2018-11-27 12:46:55 | 只看该作者
说的这么牛,我就想问事务解决了吗!不懂
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

10

主题

50

帖子

21

金币

连长

Rank: 7Rank: 7Rank: 7

积分
150
5#
发表于 2018-11-27 12:47:23 | 只看该作者
生产环境用的何等?
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

14

主题

60

帖子

28

金币

连长

Rank: 7Rank: 7Rank: 7

积分
180
6#
发表于 2018-11-27 12:48:23 | 只看该作者
跟mycat啥区别啊
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

14

主题

48

帖子

29

金币

连长

Rank: 7Rank: 7Rank: 7

积分
117
7#
发表于 2018-11-27 12:48:32 | 只看该作者
第一次听嗣魅这个软件
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

12

主题

107

帖子

355

金币

团长

Rank: 10Rank: 10Rank: 10

积分
453

小资土豪新兵论坛好爱者爱心

8#
发表于 2018-11-27 12:49:04 | 只看该作者
赞!希望多发干货
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

8

主题

45

帖子

16

金币

连长

Rank: 7Rank: 7Rank: 7

积分
135
9#
发表于 2018-11-27 12:49:27 | 只看该作者
fabric不克不及读写分手吗
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码

4

主题

48

帖子

15

金币

连长

Rank: 7Rank: 7Rank: 7

积分
135

新兵

10#
发表于 2018-11-27 12:49:32 | 只看该作者
C VC C++ MFC 汇编 函数 脚本 辅助 多开 注入 内存 插件 破解 基址 窗口 大漠 绑定 编程 交流 论坛 实例 源码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

VC中文网 - 豫ICP备14012807号|小黑屋|联系客服|金币冲值|VC中文网

GMT+8, 2019-11-20 06:32 , Processed in 0.187500 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表
pk10投注技巧分享