加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

分库分表,读写分离后,数据库中间件扮演了一个怎样的角色?

发布时间:2019-01-31 14:12:28 所属栏目:MySql教程 来源:李立敏
导读:副标题#e# 分库分表,读写分离会带来哪些问题? 前面一篇文章图解分布式系统架构(看推荐阅读)大概讲了一下分库分表,以及读写分离出现的场景,分库分表为了解决高并发和海量数据的问题。 分库后会出现新的问题 1、跨库join问题 如有2个库,订单库,用户库

server.xml是Mycat服务器参数调整和用户授权的配置文件(省略了一些配置,后面2个配置文件一样)

  1. <mycat:server xmlns:mycat="http://io.mycat/">  
  2.     <user name="root" defaultAccount="true">  
  3.         <property name="password">123456</property>  
  4.         <property name="schemas">TESTDB</property>  
  5.     </user>  
  6. </mycat:server> 

schema.xml是逻辑库,逻辑表定义以及分片定义的配置文件

  1. <mycat:schema xmlns:mycat="http://io.mycat/">  
  2.     <!--逻辑库名-->  
  3.     <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100">  
  4.        <!--rule的值和rule.xml的实现对应-->  
  5.         <table name="tb_test" dataNode="dn1,dn2,dn3" rule="auto-sharding-long" />  
  6.     </schema>  
  7.     <!--dataHost可以配置不同主机上的数据库,这里为了演示就配置了一个主机上的不同数据库-->  
  8.     <dataNode name="dn1" dataHost="localhost1" database="db1" />  
  9.     <dataNode name="dn2" dataHost="localhost1" database="db2" />  
  10.     <dataNode name="dn3" dataHost="localhost1" database="db3" />  
  11.     <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"  
  12.               writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">  
  13.         <!--心跳语句-->  
  14.         <heartbeat>select user()</heartbeat>  
  15.         <!--这里我本地mycat配了一个远程mysql-->  
  16.         <writeHost host="hostM1" url="远程mysql的ip地址:3306" user="root"  
  17.                    password="2014">  
  18.         </writeHost>  
  19.     </dataHost>  
  20. </mycat:schema> 

rule.xml是分片规则的配置文件

  1. <mycat:rule xmlns:mycat="http://io.mycat/">  
  2.     <tableRule name="auto-sharding-long">  
  3.         <rule>  
  4.             <!--根据哪个列进行分片-->  
  5.             <columns>id</columns>  
  6.             <!--分片规则,连续分片-->  
  7.             <algorithm>rang-long</algorithm>  
  8.         </rule>  
  9.     </tableRule>  
  10.     <function name="rang-long"  
  11.        <!--分片规则的实现类-->  
  12.         class="io.mycat.route.function.AutoPartitionByLong">  
  13.         <!--分片规则配置文件-->  
  14.         <property name="mapFile">autopartition-long.txt</property>  
  15.     </function>  
  16. </mycat:rule> 

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读