欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows实现mysql读写分离amoeba

程序员文章站 2022-06-07 10:54:01
...
好消息,百度网盘专业搜索网站上线了
打开瞧一瞧:http://bitar.cn
[url]http://hvang1988.iteye.com/blog/2237076 [/url]

上边的地址是配置主从,在次基础上实现读写分离。
主库写,主从读

=========策略=========
database proxy负责管理client实际访问database的路由策略,采用开源框架amoeba。


主从搭建完成之后,使用amoeba(阿米巴)搭建database proxy
1、


amoeba 和mysql主从结合
1、下载地址:
http://dldx.csdn.net/fd.php?i=278779237492620&s=012734f3a04d7300af4dcf800c8110d7

2、解压后修改
dbServers.xml
	相当于模板,可以配置port,schema,user,password(连接数据库的用户)
	<dbServer name="abstractServer" abstractive="true"> 
	

	//可以覆盖模板的属性,相当于单点连接池 
	<dbServer name="master"  parent="abstractServer">
		<factoryConfig>
			<property name="port">3306</property>
			<!-- mysql ip -->
			<property name="ipAddress">127.0.0.1</property>
		</factoryConfig>
	</dbServer>
	//可以覆盖模板的属性,相当于单点连接池 
	<dbServer name="slave"  parent="abstractServer">
		<factoryConfig>
			<property name="port">3307</property>
			<!-- mysql ip -->
			<property name="ipAddress">127.0.0.1</property>
		</factoryConfig>
	</dbServer>
amoeba.xml
	配置 amoeba的端口和ip
	<service name="Amoeba for Mysql" class="com.meidusa.amoeba.mysql.server.MySQLService">
	
	配置amoeba连接的用户名和密码
	<property name="authenticateProvider">
		<property name="user">test</property>
		<property name="password">123456</property>

	<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">
		<property name="defaultPool">master</property>
		<property name="writePool">master</property>
		<property name="readPool">slave</property>

启动:
执行 bin/launcher.bat
	会开启端口,然后在java程序中写amoeba的地址和用户密码
	jdbc.url=jdbc:mysql://localhost:8066/jinbu?useUnicode=true&characterEncoding=utf8
	jdbc.username=test
	jdbc.password=123456

ok
可在主从sql日志中看到读写分离了
相关标签: mysql