绝代码农 发表于 2021-7-4 12:53:40

Amoeba新版本MYSQL读写分离配置

  
官方简介
Amoeba的中文意思是变型虫
主要解决:

  • 降低 数据切分带来的复杂多数据库结构
• 提供切分规则并降低 数据切分规则 给应用带来的影响
• 降低db 与客户端的连接数

  • 读写分离


个人简单描述
可能你还没明白Amoebla这鬼东西主要干麻的呢!比方说PHP环境众所周知,PHP没有数据连接池,如果PHP环境下MYSQL访问量大时会蹦掉,除非配置Cluster集群,而Amoeba就是在PHP程序和MYSQL之间,充当一个缓冲的作用。


准备工作
  

[*]Server:192.168.1.208 #Amoeba
[*]Server:192.168.1.11#NDBD1(主)
[*]Server:1921.68.1.13#NDBD2(从)
[*]注:11和13两台服务器上,事先请安装好MYSQL单向步,不会配置访问http://skyson.blog.51cto.com/2497647/556600
[*]另请安装MYSQL版本必须5.1以上,因为新版的Amoeba2.10对5.1以下版本不稳定。

  




结构图
https://blog.51cto.com/skyson/../p_w_upload/201107/114602424.jpg








Step 1:配置Amoeba192.168.2.8读写分离


[*]1:解压安装包
[*]
  # mkdir /usr/local/amoeba
# tar -zxf amoeba-mysql-binary-2.1.0-RC5.tar.gz -C /usr/local/amoeba/
  
[*]


  
[*]2:进入配置目录,浏览文件
[*]
  # cd /usr/local/amoeba/
# ll
total 88
drwxr-xr-x 2 root root    4096 Jul 26 11:57 benchmark
drwxr-xr-x 2 root root    4096 Feb 28 09:25 bin
-rw-r--r-- 1 root root    3983 May 18 13:43 changelogs.txt
drwxr-xr-x 2 root root    4096 Jul 26 11:57 conf
drwxr-xr-x 3 root root    4096 Jul 26 11:57 lib
-rw-r--r-- 1 root root 34520 May 18 13:43 LICENSE.txt
-rw-r--r-- 1 root root    2031 May 18 13:43 README.html
  
[*]3:进入主配置文件目录
[*]
  # cd conf/
# ls
access_list.conf    amoeba.xml      dbServers.xml    functionMap.xml    log4j.xml    ruleFunctionMap.xml
amoeba.dtd                dbserver.dtd    function.dtd   log4j.dtd                rule.dtd   rule.xml
  

  

[*]在这里我主要介绍配置 amoeba.xml、dbServers.xml、 log4j.xml 三个主要的配置文件,其它文件没有特殊需要默认就可以了夺
[*]4:vi amoeba.xml 修改主配置文件


[*]4.1)把默认端口8066改成3306


[*]
  <property name="port">3066</property>
  
[*]4.2)把默认连接用户名和密码改成自己的
[*]
  <property name="user">sky</property>

                                                                              <property name="password">123456</property>
  
[*]4.3)把默认的客户端线程数,请求数及服务端回应数改成200,300,300
[*]
  <property name="readThreadPoolSize">200</property>

                                                <!-- proxy server client process thread size -->
                                                <property name="clientSideThreadPoolSize">300</property>

                                                <!-- mysql server data packet process thread size -->
                                                <property name="serverSideThreadPoolSize">300</property
  
[*]4.4)把默认注释掉的读写分离选项,把注释去掉并readpool修改成server2
[*]
  <!--
                              -->
                              <property name="writePool">server1</property>
                              <property name="readPool">server2</property>


  

  



  
[*]最终改变成如下:
[*]

  

  



[*]6:修改log4j.xml 取消日志文件生成(太大了,磁盘很容易满)
[*]
  <param name="file" value="${amoeba.home}/logs/project.log"/>
改成
<param name="file" value="<!>/dev/null]]>"/>
  


[*]7:性能优化,打开bin/amoeba
[*]
  
DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"
改成
DEFAULT_OPTS="-server -Xms512m -Xmx512m -Xmn100m -Xss1204k"
  
[*]8:启动amoeba
[*]
  nohup /usr/local/amoeba/bin/amoeba start 2>&1 >/dev/null &
  










  
页: [1]
查看完整版本: Amoeba新版本MYSQL读写分离配置