一、
下载
amoeba
代码
首先先到网站(
http://sourceforge.net/projects/amoeba
)上下载
amoeba for Mysql
代码。然后解压到
C:/amoeba
目录。增加系统环境变量:
amoeba.home = C:/amoeba
二、
准备
mysql
数据库
Server1
:
localhost schema: test table: test_table2
Server2
:
10.2.224.241 schema: test table: test_table2
表名称
test_table1
结构为:
`ID` INTEGER(11) NOT NULL,
`NAME` VARCHAR(250) COLLATE gbk_chinese_ci DEFAULT NULL,
先插入一些模拟数据。
三、
修改配置文件
找到amoeba.xml配置,修改mysql代理服务器配置信息:
-
<server>
-
<!-- proxy server绑定的端口 -->
-
<property name="port"
>
8066
</property>
-
-
<!-- proxy server绑定的IP -->
-
<property name="ipAddress"
>
127.0
.
0.1
</property>
-
-
<!-- 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>
-
-
<!-- socket Send and receive BufferSize(unit:K) -->
-
<property name="netBufferSize"
>
100
</property>
-
-
<!-- Enable/disable TCP_NODELAY (disable/enable Nagle's algorithm). -->
-
<property name="tcpNoDelay"
>
true
</property>
-
-
<!-- 对外验证的用户名 -->
-
<property name="user"
>root</property>
-
-
<!-- 对外验证的密码 -->
-
<property name="password"
>admin</property>
-
-
</server>
我设置的监控端口为:8066。
配置两个数据库服务器地址,分别对应Server1和Server2。
修改查询规则文件:
-
<tableRule name=
"test_table2"
schema=
"test"
defaultPools=
"server2,server1"
>
-
-
-
<rule name="rule1"
>
-
<parameters>ID</parameters>
-
<expression><![CDATA[ ID <= 20
]]></expression>
-
<defaultPools>server1</defaultPools>
-
<readPools>server1</readPools>
-
<writePools>server1</writePools>
-
</rule>
-
-
<rule name="rule2"
>
-
<parameters>ID</parameters>
-
<expression><![CDATA[ ID > 20
]]></expression>
-
<defaultPools>server2</defaultPools>
-
<writePools>server2</writePools>
-
<readPools>server2</readPools>
-
</rule>
-
</tableRule>
规则:以ID=20为界。
OK,配置文件配置好了以后,我们可以执行:${amoeba.home}/bin/amoeba.bat ,启动代理服务器。
四、
编写查询代码
五、
查询结果
-
siteName:
10.2
.
224
.241_test_table1_14
-
siteName:10.2
.
224
.241_test_table1_15
-
siteName:10.2
.
224
.241_test_table1_16
-
siteName:test_table2_14
-
siteName:test_table2_15
-
siteName:test_table2_16
-
耗费时间:156
我现在只是模拟简单的规则查询,后面我们将逐步深入了解。
分享到:
相关推荐
提供mysql数据库读写分离的最佳方案 减轻mysql数据库压力,使用分布式数据库。为企业提供最佳解决方案。
Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据。这 儿集中式是一个相对概念,客户端不需要知道某种数据的物理存储地。避免这种逻辑出现在业务端, 大大简化了客户端操作分布式...
Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性...
Amoeba在分布式数据库领域将致力解决数据切分,应付客户端“集中式”处理分布式数据
Amoeba for MySQL致力于MySQL的分布式数据库前端代理层,它主要在应用层访问MySQL的时候充当query 路由功能,专注 分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户端透明。具有负载均衡、高可用性...
Amoeba属于分布式数据库代理开发框架,专注于分布式数据库 proxy 开发。座落与Client、DB Server(s)之间。对客户 端透明。具有负载均衡、高可用性、sql过滤、读写分离、可路由相关的query到目标数据库、可并发请 求...
Cobar是由 Alibaba 开源的 MySQL 分布式处理中间件,它可以在分布式的环境下看上去像传统数据库一样提供海量数据服务。 Cobar自诞生之日起, 就受到广大程序员的追捧,但是自2013年后,几乎没有后续更新。在此情况下...
这个软件基于Java致力于MySQL的分布式数据库前端代理层,处于在应用和数据库之间,对客户端透明,它主要在应用层访问MySQL的时候充当SQL路由功能,解析应用传递过来的SQL语句,专注于分布式数据库代理层(Database ...
03-mysql主从复制介绍及分布式数据库架构实现介绍.avi 04-主从同步的应用场景及切换从库不丢数据多方案介绍.avi 05-mysql数据库读写分离介绍及企业生产实现方案.avi 06-根据企业业务拆分业务应用到不同的从库思想....
Amoeba主要解决以下问题: a). 数据切分后复杂数据源整合 b). 提供数据切分规则并降低数据切分规则给数据库带来的影响 c). 降低数据库与客户端连接 d). 读写分离路由 通过Amoeba实现读写分离