00:00
各位,在刚才的内容中呢,我们完成了MYCL数据库的主从配置,包括通过测试我们也看到了我们在主数据库中添加了数据,然后在从数据库中也做了数据的同步,咱们刚才把这个买so中这个数据同步过程做了配置,然后做完之后呢,咱们下面就通过筛定DDBC来实现对主从做完之后这个数据的操作,那咱们看怎么来做。首先第一部分咱要用she定GBC,我们在刚才提到了she定GBC呢,并不会做到主从的数据这么一个布置,而他做的是什么呢?根据语义的这么一个变化来让你访问不同的数据库,我们看刚才我们写的有一句话,这句话根据语义的分析,什么叫语义,比如说你收语中有insert,有delete,有update,那这些操作它会执行主数据库,当你是此类的操作,它就执行我们的从数据库。所以现在我们通过筛定这BC这过程,那怎么做,首先还是在我们项目的配置文件中先配置它的这个。
01:16
读写分离的这么一个策略,把这个先做配置,那怎么配置,这写法比较固定,我现在在我给大家提供的这个文档中写到了,咱们先看一遍,然后咱们一会儿把它快速配出来。大家看到啊,因为咱们现在呢,做的是主从这么一种特点,然后咱们肯定有服务器,是不是有从服务器,而我需要同步数据库,是咱刚才配的这个叫user DB,咱看到就是里边的。这个数据库user DB这里,所以我们现在有一个主服务器,还有一个从服务器,主服务器咱需要在里边配一个数据源边,咱配置过了,然后还需要配一个从服务器,比如我这起名叫S0,是从服务器数据源,然后配置之后咱需要怎么做呢?大家看这步啊,就是建议你配置之后呢,这she定GBC并不知道谁是主,这是从,咱需要自己给它做个定义,这看我这里定义,这叫matter date,这叫s slave date,这是主服务器,这是从服务器,主服务器就是M0,从服务器就是S0,而这是我们的主从配置,并且咱们给这个起个名字叫做DS0。
02:32
DS0对应的数据库都是UDB,值里边有个主,有个从,所以这里写到是主库存库的逻辑,数据源的定义就是它实际是M0 S0,但是这两因为操作是同一个数据库,所咱统一起名叫DS0,最后再写上你的表,那个就是分布的规则,咱们在DS0中都是这个,比如说T,然后对它做我们的操作,所以现在通过这段配置,然后实现出这个。
03:01
筛定JBC读写分离的这个做法,那咱下面在代码中,我们把这个具体给他配置出来,咱们来写一下。我们来到代码中,首先还是把之前这个咱先给它复制一份,比如我们叫OB。零四啊,咱先保留,然后我在这个里边,就是里边把它这东西给它配置出来,咱给它打开,然后咱们看啊,这是咱们之前这个配置,因为现在我们要对这个user DB做主从那咱们之现在有user db3306,这指的是咱们的主服务器,现在我加一个从服务器,那怎么做里边第一个第一个数据源的名字,比如我叫这个S0啊,当然名字可以随便起,那叫A或者B叫W都可以。然后定义之后,我在下面这个位置写上我们那个就是。S0的这个数据源用它咱们做一个修改,就跟它结构是一样的,我这里边加上注释,这是我们配置那个主服务器,就是user DB。
04:09
主服器。它是3306,然后下面是我们那个user DB,它的从服务器。然后从服务器我们的名字叫S0,这里边我都改一下,改成这个。S0给它是这个名字,把这个最后修改,然后改完之后,后面改一下,这是连接池,这是驱动,然后这多少号要改成叫3307,包括用户密码,这是我们的第一份配置,加一个主存的两个数据源。一个是M0代表主服务器,这个S0代表总服务器,然后加上之后我们的第二部分,各位注意,因为现在咱有主和从,你要设置一下谁是主,还有谁是从,所以咱需要在里边加上我们的这个配置,我把这个给个位也是复制过来,不需要个位记,但是要求能给他知道每问什么意思。
05:08
然后咱们看啊,就是现在呢,因为我是从word文档中复制,你复制之后有个问题啊,就是它这个格式问题,咱需要把这格式稍微改一下,因为它这杠显示有点问题。这个各位特别注意,包括后面一样,这个需要改一下,咱给他改完,然后再说它们分别是什么意思。大家看啊,现在里边两行,第一行叫must date,第二行叫slave date什么意思?这代表我们的主服务器,这代表总服务器,然后现在因为主和从它们对应的都是user DB这个数据库,这咱们给它起一个名字叫DS0啊,这都叫DS0,这代表主服务器,这代表从服务器,现在咱们把这个配出来了,然后配置之后呢,最后再配置一下,就是你这个数据库和表的一个分布的一个规则。
06:03
那咱们最终把这个配置下,但是这个配置各位注意啊,之前呢,我应该在里边配置过一行代码,大家看这行就配置我们那个to层,因为咱之前它只在S0中,没有做主从,但是现在我们加上主从之后,如果你还这么做,这肯定有问题啊,他肯定是不对的,我把这先改一下啊,还是格式。您现在是报错了,所咱怎么做,因为现在是我们的主存库的这么一个做法,所以咱需要把之前这配置给它去掉,因为之前只是单一孔,然后这里边改成什么,改成我们这个DS0里边的tu啊,或者咱给它拿到上面来啊,放到这位置咱刚好咱看到。这里边,然后大家看,因为现在我们里边这个数据库有主和从,并且给咱们起个名字叫DS0,所以咱们就写DS0.t,它就表示做这个主从库里边表的这个操作,这样的话咱们就可以完成里边这个配置,它就是这么来做,这是一个具体配置。
07:09
然后这个写完之后,我把这个配置给各位写到我们的课件中来,最终咱们还是写代码,把这个做一个最后的测试,就看一下这种效果。这个啊,我先截过来,这是咱们刚才弄出一个效果,然后这里强调,因为咱们现在做这个主从是不是一主一从,你可以做一主多从。一主一从是咱这配置,如果一主多从怎么配置,就这也不复杂,咱们还是看一下它的官网里面有例子啊,咱们看这位置啊,多些分离,这里边例子就是一个一主多从,你看怎么做。主服务器,两个总服务器,每个都配置数据源,这没有什么变化,然后配置之后往下看,这里边你看啊,因为现在它有一主多从,所以你先做什么配置,你这个主服务器到从服务器那种就是规则,比如说你是随机还是什么轮询,还是什么规则,然后最终给它起个名字叫MS,包括这里边这代表主,这代表从,所以它里边也可以这么来做,跟咱做法类似,指这是一主多从,咱们是一主一从,所以咱们以这个为例,把它做这个配置。
08:22
这是一个。读写分离分这种策略的一个配置,就是分配策略啊,咱们做到了,然后做到之后,最后呢,咱们把这效果我们来做个测试,就是第二部分。咱们编写测试代码做个测试,而这测试代码不需要咱们单独写,就用咱们昨天那个代码就完全可以,就是咱们之前那代码已经可以做到了,那我们找到啊。咱看一下之前代码把这打开,因为之前呢,我们这里边有这么两个方法,就这个方法,这两个方法都是操作那个to册的,一个是添加,一个是查询,那咱用它又能够把这效果咱来试一下,比如一会儿我们做添加,它可定做这个主存的过程,咱做查询,那查询的话,它肯定是操作从库,然后添加操作是咱的主库,那现在我把这效果再来试一下,看它是不是我们最终这个结果。
09:19
那我们来啊做个测试,首先啊,咱看一下我们的原始表。我先把这个主数据库先打开。就是3306,然后咱们看啊,现在在t user表里边有这么两条记录,比如现在我做添加,为了区分名字改下我叫Lucy Mary,然后把这个咱们家的数据库,现在我把这个做执行。看他目前是有什么效果,是不是满足咱们的读写分离的这种机制。包括也看他能不能做到这种数据同步或者数据复制的过程,咱们测试啊。等它出来。
10:01
同学们,等待一下啊。然后这里边通过他的日志能看到他目前这个特点。咱们看啊,目前这里边一直行。咱看他没有报错,然后咱看他目前操作的是哪个数据库,咱往下看啊,大家看这位置,这里告诉我们操作谁。上面就是做判断,包括这个过程,最后你看操作是不是咱们这个M0的这个数据库,M0对应的是咱们的3306,咱看一下啊,我们代码中。把这打开,在代码里边,我们看到M0。对应的我们这是是不是3306,是不是咱们的主库,所以你看现在我做添加,他是不是想主库里边加这个数据啊,就是M0嘛,操作主库就是咱的读写分离,然后大家看数据在主库里边是不是有了,咱再连它的从数据库,因为它要做这个数据的同步。
11:00
咱把这个打开,打开从数据库,然后看里边Lucy Mary是不是加进来了,所以这样的话,咱们这个添加实验了我们的读写分类效果,然后这个做到之后,我们再是个查询,根据ID,咱查一下数据查询,如果效果正确的话,它是不是要查咱的从数据库,因为咱是读写分离嘛,那我现在把这个拿过来,咱把代码执行,看一下目前效果什么样的。咱来做一个测试。等待他执行完成,然后通过日志看一下最终的效果。那咱们看啊,最终成功了,然后咱看他目前查的那个数据库,大家清楚看到是谁。是不是S0啊,S0是不是咱们的从数据库,也就是我们那个3307库里边内容,所以现在我们就证明到了这个读写分离已经生效了,咱通过筛定JDBC也实现出理论效果,而筛定JBC是通过你的语义的变化,比你做添加、修改、删除,它执行主数据库,你执行查询操作,他去做我们的从数据库里边找到你的数据。
12:14
所以最终效果就是咱们演示这过程啊,现在我们就做到了,也就是到这里为止呢,咱就把这个筛定GDBC实现对读写分离之后数据操作这一过程我们就演示完了,这过程中呢,要各位掌握还是三部分,第一部分读写分离的概念,包括原理,基于这个blog这么一个监控过程,包括my soul中怎么配置读写分离,这里边每步希望各位按照这个我这个文档能给它快速配置出来,然后最后用she定JBC,在里边配置你的读写分离策略,最后写代码完成一个就行测试,如果你增加修改,删除,查询就是操作主库,如果你查询操作,操作我们的红库。
13:01
这过程我们就最终完成了啊,这是关于筛定JBC,实现读写分离的这么一个操作。
我来说两句