Mysql 基于 Amoeba 的 读写分离(2)
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE amoeba:configuration SYSTEM "amoeba.dtd">
<amoeba:configuration xmlns:amoeba="http://amoeba.meidusa.com/"><proxy><!-- service class must implements com.meidusa.amoeba.service.Service --><service name="Amoeba for Mysql" class="com.meidusa.amoeba.net.ServerableConnectionManager"><!-- Amoeba 端口号 --><property name="port">8066</property><!-- bind ipAddress --><!-- <property name="ipAddress">127.0.0.1</property>--><property name="manager">${clientConnectioneManager}</property><property name="connectionFactory"><bean class="com.meidusa.amoeba.mysql.net.MysqlClientConnectionFactory"><property name="sendBufferSize">128</property><property name="receiveBufferSize">64</property></bean></property><property name="authenticator"><bean class="com.meidusa.amoeba.mysql.server.MysqlClientAuthenticator"><!-- Amoeba 账号,密码 --><property name="user">root</property><property name="password">root</property><property name="filter"><bean class="com.meidusa.amoeba.server.IPAccessController"><property name="ipFile">${amoeba.home}/conf/access_list.conf</property></bean></property></bean></property></service><!-- server class must implements com.meidusa.amoeba.service.Service --><service name="Amoeba Monitor Server" class="com.meidusa.amoeba.monitor.MonitorServer"><!-- port --><!-- default value: random number<property name="port">9066</property>--><!-- bind ipAddress --><property name="ipAddress">127.0.0.1</property><property name="daemon">true</property><property name="manager">${clientConnectioneManager}</property><property name="connectionFactory"><bean class="com.meidusa.amoeba.monitor.net.MonitorClientConnectionFactory"></bean></property></service><runtime class="com.meidusa.amoeba.mysql.context.MysqlRuntimeContext"><!-- proxy server net IO Read thread size --><property name="readThreadPoolSize">20</property><!-- proxy server client process thread size --><property name="clientSideThreadPoolSize">30</property><!-- mysql server data packet process thread size --><property name="serverSideThreadPoolSize">30</property><!-- per connection cache prepared statement size --><property name="statementCacheSize">500</property><!-- query timeout( default: 60 second , TimeUnit:second) --><property name="queryTimeout">60</property></runtime></proxy><!-- Each ConnectionManager will start as threadmanager responsible for the Connection IO read , Death Detection--><connectionManagerList><connectionManager name="clientConnectioneManager" class="com.meidusa.amoeba.net.MultiConnectionManagerWrapper"><property name="subManagerClassName">com.meidusa.amoeba.net.ConnectionManager</property><!-- default value is avaliable Processors <property name="processors">5</property>--></connectionManager><connectionManager name="defaultManager" class="com.meidusa.amoeba.net.MultiConnectionManagerWrapper"><property name="subManagerClassName">com.meidusa.amoeba.net.AuthingableConnectionManager</property><!-- default value is avaliable Processors <property name="processors">5</property>--></connectionManager></connectionManagerList><!-- default using file loader --><dbServerLoader class="com.meidusa.amoeba.context.DBServerConfigFileLoader"><property name="configFile">${amoeba.home}/conf/dbServers.xml</property></dbServerLoader><queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter"><property name="ruleLoader"><bean class="com.meidusa.amoeba.route.TableRuleFileLoader"><property name="ruleFile">${amoeba.home}/conf/rule.xml</property><property name="functionFile">${amoeba.home}/conf/ruleFunctionMap.xml</property></bean></property><property name="sqlFunctionFile">${amoeba.home}/conf/functionMap.xml</property><property name="LRUMapSize">1500</property><!-- 默认数据库,主数据库 --><property name="defaultPool">master</property><!-- 写数据库 --><property name="writePool">master</property><!-- 读数据库,dbServer.xml 中配置的 虚拟数据库,数据库池 --><property name="readPool">slaves</property><property name="needParse">true</property></queryRouter>
</amoeba:configuration>
- <?xml version="1.0" encoding="gbk"?>
- <!DOCTYPE amoeba:rule SYSTEM "rule.dtd">
- <amoeba:rule xmlns:amoeba="http://amoeba.meidusa.com/">
- <tableRule name="message" schema="test" defaultPools="server1">
- </tableRule>
- </amoeba:rule>
<?xml version="1.0" encoding="gbk"?>
<!DOCTYPE amoeba:rule SYSTEM "rule.dtd">
<amoeba:rule xmlns:amoeba="http://amoeba.meidusa.com/"><tableRule name="message" schema="test" defaultPools="server1"></tableRule>
</amoeba:rule>
- tail -f ./log/mysql.log
tail -f ./log/mysql.log
- [mysql@prx1 mysql]$ tail -f log/mysql.log
- 370 Query SET SESSION sql_mode=''
- 370 Query SET NAMES utf8
- 370 Query SHOW FULL TABLES
- 370 Query SHOW COLUMNS FROM `t_message`
- 370 Query SHOW COLUMNS FROM `t_user`
- 370 Query SHOW PROCEDURE STATUS
- 370 Query SHOW FUNCTION STATUS
- 110813 15:21:11 370 Query SHOW VARIABLES LIKE 'character_set_server'
- 370 Query SHOW FULL COLUMNS FROM `test`.`t_message`
- 110813 15:21:12 370 Query SHOW CREATE TABLE `test`.`t_message`
- 110813 15:22:40 374 Connect test_user@192.168.14.129 on test
- 375 Connect test_user@192.168.14.129 on test
- 376 Connect test_user@192.168.14.129 on test
- 110813 15:23:40 370 Query insert into t_message values(1, 'c1')
- 110813 15:24:07 377 Connect test_user@192.168.14.129 on test
- 378 Connect test_user@192.168.14.129 on test
- 379 Connect test_user@192.168.14.129 on test
- 110813 15:24:15 370 Query insert into t_user values(8, 'n8', 'p8')
- 110813 15:24:24 370 Query SHOW FULL COLUMNS FROM `test`.`t_user`
- 370 Query SHOW CREATE TABLE `test`.`t_user`
- 110813 15:24:35 370 Query SHOW FULL COLUMNS FROM `test`.`t_message`
- 370 Query SHOW CREATE TABLE `test`.`t_message`
[mysql@prx1 mysql]$ tail -f log/mysql.log370 Query SET SESSION sql_mode=''370 Query SET NAMES utf8370 Query SHOW FULL TABLES370 Query SHOW COLUMNS FROM `t_message`370 Query SHOW COLUMNS FROM `t_user`370 Query SHOW PROCEDURE STATUS370 Query SHOW FUNCTION STATUS
110813 15:21:11 370 Query SHOW VARIABLES LIKE 'character_set_server'370 Query SHOW FULL COLUMNS FROM `test`.`t_message`
110813 15:21:12 370 Query SHOW CREATE TABLE `test`.`t_message`
110813 15:22:40 374 Connect test_user@192.168.14.129 on test375 Connect test_user@192.168.14.129 on test376 Connect test_user@192.168.14.129 on test
110813 15:23:40 370 Query insert into t_message values(1, 'c1')
110813 15:24:07 377 Connect test_user@192.168.14.129 on test378 Connect test_user@192.168.14.129 on test379 Connect test_user@192.168.14.129 on test
110813 15:24:15 370 Query insert into t_user values(8, 'n8', 'p8')
110813 15:24:24 370 Query SHOW FULL COLUMNS FROM `test`.`t_user`370 Query SHOW CREATE TABLE `test`.`t_user`
110813 15:24:35 370 Query SHOW FULL COLUMNS FROM `test`.`t_message`370 Query SHOW CREATE TABLE `test`.`t_message`
- [mysql@prx2 mysql]$ tail -f log/mysql.log
- 317 Connect test_user@192.168.14.129 on test
- 318 Connect test_user@192.168.14.129 on test
- 110813 15:35:30 315 Query SELECT @@sql_mode
- 110813 15:35:32 315 Query SELECT @@sql_mode
- 110813 15:35:44 315 Query SELECT @@SQL_MODE
- 110813 15:35:46 315 Query SELECT @@SQL_MODE
- 110813 15:37:18 319 Connect test_user@192.168.14.129 on test
- 320 Connect test_user@192.168.14.129 on test
- 110813 15:37:19 321 Connect test_user@192.168.14.129 on test
- 110813 15:37:26 246 Quit
- 110813 15:38:21 315 Query SELECT @@SQL_MODE
- 110813 15:38:22 42 Query BEGIN
- 42 Query insert into t_message values(1, 'c1')
- 42 Query COMMIT /* implicit, from Xid_log_event */
- 110813 15:38:50 322 Connect test_user@192.168.14.129 on test
- 323 Connect test_user@192.168.14.129 on test
- 324 Connect test_user@192.168.14.129 on test
- 110813 15:38:58 42 Query BEGIN
- 42 Query insert into t_user values(8, 'n8', 'p8')
- 42 Query COMMIT /* implicit, from Xid_log_event */
- 110813 15:39:08 315 Query SELECT @@SQL_MODE
- 110813 15:39:19 315 Query SELECT @@SQL_MODE
- 110813 15:44:08 325 Connect test_user@192.168.14.129 on test
- 326 Connect test_user@192.168.14.129 on test
- 327 Connect test_user@192.168.14.129 on test
[mysql@prx2 mysql]$ tail -f log/mysql.log317 Connect test_user@192.168.14.129 on test318 Connect test_user@192.168.14.129 on test
110813 15:35:30 315 Query SELECT @@sql_mode
110813 15:35:32 315 Query SELECT @@sql_mode
110813 15:35:44 315 Query SELECT @@SQL_MODE
110813 15:35:46 315 Query SELECT @@SQL_MODE
110813 15:37:18 319 Connect test_user@192.168.14.129 on test320 Connect test_user@192.168.14.129 on test
110813 15:37:19 321 Connect test_user@192.168.14.129 on test
110813 15:37:26 246 Quit
110813 15:38:21 315 Query SELECT @@SQL_MODE
110813 15:38:22 42 Query BEGIN42 Query insert into t_message values(1, 'c1')42 Query COMMIT /* implicit, from Xid_log_event */
110813 15:38:50 322 Connect test_user@192.168.14.129 on test323 Connect test_user@192.168.14.129 on test324 Connect test_user@192.168.14.129 on test
110813 15:38:58 42 Query BEGIN42 Query insert into t_user values(8, 'n8', 'p8')42 Query COMMIT /* implicit, from Xid_log_event */
110813 15:39:08 315 Query SELECT @@SQL_MODE
110813 15:39:19 315 Query SELECT @@SQL_MODE
110813 15:44:08 325 Connect test_user@192.168.14.129 on test326 Connect test_user@192.168.14.129 on test327 Connect test_user@192.168.14.129 on test
- [mysql@prx3 mysql]$ tail -f log/mysql.log
- 110813 15:35:08 305 Connect test_user@192.168.14.129 on test
- 306 Connect test_user@192.168.14.129 on test
- 307 Connect test_user@192.168.14.129 on test
- 110813 15:35:31 304 Query SELECT @@sql_mode
- 304 Query SELECT @@sql_mode
- 110813 15:35:44 304 Query SELECT @@SQL_MODE
- 110813 15:35:46 304 Query SELECT * FROM t_message t
- 110813 15:37:18 308 Connect test_user@192.168.14.129 on test
- 309 Connect test_user@192.168.14.129 on test
- 310 Connect test_user@192.168.14.129 on test
- 110813 15:38:21 8 Query BEGIN
- 8 Query insert into t_message values(1, 'c1')
- 8 Query COMMIT /* implicit, from Xid_log_event */
- 110813 15:38:50 311 Connect test_user@192.168.14.129 on test
- 312 Connect test_user@192.168.14.129 on test
- 313 Connect test_user@192.168.14.129 on test
- 110813 15:38:58 304 Query SELECT @@SQL_MODE
- 8 Query BEGIN
- 8 Query insert into t_user values(8, 'n8', 'p8')
- 8 Query COMMIT /* implicit, from Xid_log_event */
- 110813 15:39:08 304 Query select * from t_user
- 110813 15:39:19 304 Query select * from t_message
- 110813 15:44:08 314 Connect test_user@192.168.14.129 on test
- 315 Connect test_user@192.168.14.129 on test
- 316 Connect test_user@192.168.14.129 on test
[mysql@prx3 mysql]$ tail -f log/mysql.log
110813 15:35:08 305 Connect test_user@192.168.14.129 on test306 Connect test_user@192.168.14.129 on test307 Connect test_user@192.168.14.129 on test
110813 15:35:31 304 Query SELECT @@sql_mode304 Query SELECT @@sql_mode
110813 15:35:44 304 Query SELECT @@SQL_MODE
110813 15:35:46 304 Query SELECT * FROM t_message t
110813 15:37:18 308 Connect test_user@192.168.14.129 on test309 Connect test_user@192.168.14.129 on test310 Connect test_user@192.168.14.129 on test
110813 15:38:21 8 Query BEGIN8 Query insert into t_message values(1, 'c1')8 Query COMMIT /* implicit, from Xid_log_event */
110813 15:38:50 311 Connect test_user@192.168.14.129 on test312 Connect test_user@192.168.14.129 on test313 Connect test_user@192.168.14.129 on test
110813 15:38:58 304 Query SELECT @@SQL_MODE8 Query BEGIN8 Query insert into t_user values(8, 'n8', 'p8')8 Query COMMIT /* implicit, from Xid_log_event */
110813 15:39:08 304 Query select * from t_user
110813 15:39:19 304 Query select * from t_message
110813 15:44:08 314 Connect test_user@192.168.14.129 on test315 Connect test_user@192.168.14.129 on test316 Connect test_user@192.168.14.129 on test
转载于:https://blog.51cto.com/zhyuxuan/911742
Mysql 基于 Amoeba 的 读写分离(2)相关推荐
- Mysql 基于 Amoeba 的 读写分离
首先说明一下amoeba 跟 MySQL proxy在读写分离的使用上面的区别: 在MySQL proxy 6.0版本 上面如果想要读写分离并且 读集群.写集群 机器比较多情况下,用mysql pro ...
- MySQL 案例实战--MySQL 基于Mycat实现读写分离
MySQL 基于Mycat实现读写分离 前言 一.什么是读写分离? 二.MySQL 读写分离解决方案 三.MySQL 基于Mycat实现读写分离 四.Mycat-web 管理部署 前言 本环境是基于 ...
- MySQL主从复制和基于Amoeba的读写分离部署
文章目录 MySQL主从复制和基于Amoeba读写分离 什么是主从复制? 为什么要有MySQL主从复制? 什么是读写分离? 一.MySQL主从复制原理 二.主从复制的工作过程 三.主从复制方式 1.异 ...
- mysql5.6主从复制与基于amoeba实现读写分离
Mysql5.6主从复制 1.特性分析说明: mysql 5.6支持多线程复制的机制并且mysql 5.6还引用了GTID的概念,使得其复制功能的配置.监控及管理变得更加易于实现,且更加健壮. TID ...
- mysql amoeba 事务_MySQL基于Amoeba实现读写分离
在实际的生活环境中,如果对数据库的读和写都在同一个数据库服务中操作,无论是在安全性,高可用还是高并发等各个方面都不能完全满足实际需求的,因此一般来说都是通过主从复制的方式来同步数据,再通过读写分离来提 ...
- mysql基于mysql-proxy和amoeba的读写分离以及tcpdump+wireshark工具验证(上)
mysql基于mysql-proxy和amoeba的读写分离 以及tcpdump+wireshark工具验证 [实验部署准备] 1,首先对后端节点部署主从关系. 2,然后前端MySQL-proxy对后 ...
- MySQL的主从复制、读写分离(amoeba)
目录 一.MySQL主从复制 1.1 MySQL复制的类型 1.2 工作原理 1.3 mysql的四种同步的方式 二.MySQL的读写分离 2.1 什么是读写分离 2.2 读写分离的好处 2.3 常见 ...
- 【纯干货】Amoeba实现MySQL主从同步与读写分离
[纯干货]Amoeba实现MySQL主从同步与读写分离 一.简介 amoeba简介 Amoeba(变形虫)项目,该开源框架于2008年开始发布一款 Amoeba for Mysql软件.这个软件致力于 ...
- 【MySql】mysql之主从复制和读写分离搭建
[MySql]mysql之主从复制和读写分离搭建 文章目录 [MySql]mysql之主从复制和读写分离搭建 1主从复制 1.1MySql支持从复制类型 1.2主从复制的原理 1.3主从复制的工作过程 ...
最新文章
- 【深度学习入门到精通系列】遗传算法 (Genetic Algorithm)
- 获得供应商最近一次报价:OVER(PARTITION BY)函数用法的实际用法
- GDCM:gdcm::PixelFormat的测试程序
- php pdo预处理查询,关于php:从PDO预处理语句中获取原始SQL查询字符串
- vscode 新建php模板,使用vscode快速建立vue模板
- 第2章 Python 数字图像处理(DIP) --数字图像基础1 - 视觉感知要素 - 亮度适应与辨别
- c语言指针自定义函数,c语言函数指针定义,指针函数和函数指针的区别
- 鸿星尔克与钉钉签署专属音视频合作 全国5千家门店均可接入
- 学习老男孩linux全程班决心书
- 腾讯:干掉头条,先拿抖音开刀!
- python匿名函数就是没有名字的函数_python 之 匿名函数
- Linux爆本地提权漏洞 请立即更新udev程序
- PHP使用redis设置锁
- WinServer 2012 R2 搭建域控服务器、文件服务器并配置权限
- MFC 程序设计读书体会
- Sentaurus TCAD 2013 在RedHat7.0 Linux系统的安装教程
- tensorflow获取动态shape
- 布局万花筒:UIColletionview
- 魔兽世界开服一条龙服务端架设服务器搭建
- ubuntu提示根目录存储空间不足的解决办法
热门文章
- android mac测试地址,android获取有线网的Mac地址
- Java项目:OA办公自动化系统设计和实现(java+springboot+freemarker+mysql+maven+mybatis+jpa)
- String.hashCode 哈希值出现重复?
- python银行家算法代码_避免死锁的银行家算法C++程序实现
- python捕获异常后处理_python异常捕获处理
- 算法(2)KMP算法
- 样式集(二) 信息填写样式模板
- 13-flutter 加载图片
- iOS 中 load 和 initialize的实现顺序
- RubyGems 库发现了后门版本的网站开发工具 bootstrap-sass