程序笔记   发布时间:2022-07-19  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了DAY 129 docker大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1 分库分表

1 数据量到达一定程序,需要拆分    -水平拆    -垂直拆2 水平分库,垂直分库3 水平分表,垂直分表4 垂直分库:不同业务的表,放到不同库  垂直分表:user表有10个字段1000万条数据,使用一对一做垂直分表    5 水平分库:以及分成4个表,分到4个库中  水平分表:4000w条数据,分到4个表中        6 分库分表方案    -hash取模和range范围方案    -range范围分,会出现热点问题,简洁好操作,扩容不需要迁移数据    -hash不存在热点问题,需要hash函数,操作复杂,但扩容迁移数据痛苦    7 @H_320_3@mysql:做分库分表    -开源数据库中间件-@H_320_3@myCat,做分库分表8 @H_320_3@mycat:基于 Java 开发的,实现了 @H_320_3@mySQL 公开的二进制传输协议,巧妙地将自己伪装成一个 @H_320_3@mySQL Server,目前市面上绝大多数 @H_320_3@mySQL 客户端工具和应用都能兼容9 centos上安装Mycat    -jdk1.8以上    10 centos上安装jdk 1.8    -下载tar.gz,创建文件夹    @H_320_3@mkdir /usr/local/java    -解压    tar -zxvf jdk-8u291-linux-x64.tar.gz    -配置环境变量    #vim 打开profile    vim /etc/profile    #在最后一行输入    export JAVA_HOME=/usr/local/java/jdk1.8.0_291    export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar    export PATH=$PATH:${JAVA_HOME}/bin    #使配置生效    source /etc/profile    #检查    java -version    11 安装Mycat    解压即用    ./@H_320_3@mycat start     ./@H_320_3@mycat stop    ./@H_320_3@mycat console # 前台启动,错误会显示        12 在两台机器上安装mysqldocker run -di --name=test1_mysql -p 3306:3306 -e @H_320_3@mYSQL_ROOT_password=123456 @H_320_3@mysql:5.7docker run -di --name=test2_mysql -p 3307:3306 -e @H_320_3@mYSQL_ROOT_password=123456 @H_320_3@mysql:5.713 @H_320_3@mycat的配置文件    sever.xml:综合配置数据库的相关信息,端口,内存占用,创建账号,密码    scheR_700_11845@a.xml:对数据库表结构的定义    rule.xml:指定相关算法,来实现不同的分片数据库        14 通过range范围来分表15 通过hash分表最终配置文件如下以后使用mysql客户端链接Mycat之间操作即可
<?xml version="1.0"?><!DOCTYPE mycat:scheR_700_11845@a SYSTEM "scheR_700_11845@a.dtd"><@H_320_3@mycat:scheR_700_11845@a xmlns:mycat="http://io.mycat/">    <scheR_700_11845@a name="TESTDB" checkSQLscheR_700_11845@a="true" sqlMaxLimit="100" randomDataNode="dn1">        <table name="user" primaryKey="id" dataNode="dn1,dn2" rule="auto-sharding-long" autoIncrement="true"               fetchStoreNodeByJdbc="true">        </table>        <table name="order" primaryKey="id" dataNode="dn1,dn2" rule="sharding-by-murmur" autoIncrement="true"               fetchStoreNodeByJdbc="true">        </table>    </scheR_700_11845@a>    <dataNode name="dn1" dataHost="localhost1" database="lqz"/>    <dataNode name="dn2" dataHost="localhost2" database="lqz"/>    <dataHost name="localhost1" @H_320_3@maxCon="1000" @H_320_3@minCon="10" balance="0"              writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">        <heartbeat>SELEct user()</heartbeat>        <!-- can have multi write hosts -->        <writeHost host="hostM1" url="jdbc:mysql://106.15.189.205:3306" user="root"                   password="123456">        </writeHost>    </dataHost>    <dataHost name="localhost2" @H_320_3@maxCon="1000" @H_320_3@minCon="10" balance="0"              writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1" slaveThreshold="100">        <heartbeat>SELEct user()</heartbeat>        <!-- can have multi write hosts -->        <writeHost host="hostM1" url="jdbc:mysql://106.15.189.205:3307" user="root"                   password="123456">        </writeHost>    </dataHost>    </@H_320_3@mycat:scheR_700_11845@a>

autopartition-long.txt

# range start-end ,data node index# K=1000,M=10000.0-500K=0500K-1000K=1

2 远程链接Linux开发

本质原理就是本地一份代码,远程一份代码本地右键执行时,使用的解释器是远程的,把结果执行完,又传递回来

 

 

大佬总结

以上是大佬教程为你收集整理的DAY 129 docker全部内容,希望文章能够帮你解决DAY 129 docker所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。