00:00
好,同学们,我们继续上一讲,完成了西塔server服务器的安装,你可以把它理解为西塔就是一个分布式事物的服务器,有点像前面啊,你看阿里的思想,如果你要服务注册,我就给你整个耐克,如果你要熔断和限流,我就给你整个S一样分布式事物我又给你整个西塔,换句话说,它呢,有点类似于啊,它的设计思想理念尽量的啊。跟主业务,主业务剥离出来。这个是如来佛祖,如来佛祖周围是不是也需要一大堆护法金刚啊,如果你需要佛务注册,那克上手,如果你需要熔断和限流,我们的三上来,如果你需要我们的分布式事物,我们的C塔过来,那么这样的话就是周围一圈是不是有一个保障体系啊,有一个业务支撑的体系和组建来保证你业务主流业务的。
01:00
减负和你主要业务逻辑的顺利进行,这样的话就是可以给程序员的经验。集中好好的,最终就是这句话非常关键,那么是不是就是我们可以更加更好的专注于。业务逻辑,换句话说,这块用着大家是不是才舒服呀?好,那上一讲我们完成了我们的CTA安装,那么大家可以看看啊,我们。说的简单,按照它官网的只需要标这么一个注解,但是为了标这么一个注解,你下面的越简单,但是下面的沉淀和积累是不是需要越厚实啊,那下面我们来看。由于啊,还是回到我们的这个业务。我们现在啊玩的呢,是一个西塔官网上的一个分布式交易解决方案,那么我们的业务逻辑主要是驱动订单。库存和账户,那换句话说下订单减库存扣钱OK,那么至少我们这123就需要有三个数据库,好那么同学们,所以说我们这儿要做一下订单、库存、账户、业务数据库的准备,这一节完了以后,下一节才是我们订单、库存、账户业务微服务Java编码才能开始好那么下面先把底子打好,再在上面去干我们的业务逻辑误在浮沙之上筑高台,好那么兄弟们一以下的演示啊,都需要先有Nico,再说西塔要保证两个都OK啊,先注意先。
02:39
How,要不然西塔他找不到,找不到他就会报这个错,没有有效的服务去连接,OK,那么所以说一定一两个都要有,二先来考后西塔,这是第一步,第二步分布式事物的业务说明。我们这儿过来创建三个微服务。订单库存账户。
03:03
用户下单会在订单服务中创建一个订单,甚至有一个订单编号流水号,然后通过远程调用库存服务,那么是不是减库存,然后来扣减下单商品的库存之后再通过。远程调用,就调第三个微服务,用账户服务来扣减用户里面的钱,最后在订单服务中修改订单,订单的状态为已完成,比方说现在我刚下单,我还没付款呢,初始状态是零,这个叫待支付,然后呢,如果我们订单下单成功,然后库存扣减成功,然后账户支付成功,那么。加了一张订单,减了个库存,减了个余额,那么这个时候。一条龙完成三个,要么一起成功,要么一起失败,那么订单服务假设他有个订单状态将会从零变成一,从待支付变成已支付,那么很显然该操作跨越三个数据库,有两次远程调用,我们待会儿是不是会发生分布式事物,那么让它发生了以后,看看我们用西塔如何来,是如何来治理和管控起来。
04:15
简单。完活以后,那么就是三步,下订单,靠库存减余额或者叫减账户,没问题吧,这是我们的业务说明,接下来我们要创建业务数据库,来吧,首先西塔下划线,我。Storage和account订单库存账户,那么这三个库就叫这么个三个库的名字,没问题吧,我们自己订的啊,这个倒不是那个西塔给你写好的,这是我们自己写的,听懂了吧?那你这个系统要有下订单,你这个订单有哪些字段,那肯定是你自己说了算,那么下面我们的建表色那么和我们的建库S那么。Ctrl a。全选,跑到我们这儿随便选一个库啊,听到,然后把这三句话按照杨哥的脑图笔记一扎一起执行,那么是不是唰唰建了三个库啊,那么这些呢,我已经建好了,因为杨哥那个之前备课或者说自己做研发的时候都已经建好了,我就不再删了,重建。换句话说,兄弟们,笔记发给大家,CTRL,诶,全选CTRLC粘到这儿,然后一执行下面了,以后将会有C塔订单库,C塔库存库,西塔账户库,建了三个database数据库,会吧,这不会就说不过去了,O不OK,那么下面。
05:36
这是我们的。创建业务数据库完成,那么下面按照上上述的三个库分别建对应的业务表,那么是不是我们在你看我这写的非常详细啊,订单库下面建订单表。库存库上面建库存表,账户库上面建什么?我们的账户余额表,那么基本上是不是实现了三个不同的库,三个不同的表分家了,听懂,那么下面我们来看一下我们的t order订单由这三个分别是用户ID,产品ID,数量余额,比方说零是订单创建招,一是已完成,零就是还没干,一就是已完成,简单吧,那么兄弟们我们选择这一段SQ。
06:24
然后。粘到我们的西塔订单库里面一直行,兄弟们,这个时候下面就会生成一张t order这么一张表,那么同学们请看一下这些没有任何问题吧O不OK,好,那么兄弟们这些完火以后。一样的,我们的什么订单库完成,那么接下来是不是什么库存表,那么库存表呢也是一样,粘贴这个,插入一点库存的信息,比方说现在产品ID是一,总共有100个used是什么。已用的库存一开始没人买,下面这个是re do,这个是剩余库存,那么现在总的有100个没有人用过,是零个,那么现在是不是剩余的,是不是就100个,然后插入了以后直接来执行一下我们的select OK,那么第三一个,那么以此类推,就是我们的账户么?用户ID总的额度是多少?已用的是多少,剩余额度是多少?很简单,也是跟刚才一样好吗?那么完活这个就是我们的。
07:31
三个库分别建了对应的三个业务表,那么订单库存账户粘C就行了,请各位亲不用去手写好吗?来第四步,按照三个库分别创建对应的回滚日志,啊,因为啊,它可能有异常的情况,那么顺利他异常了,我们是不是roll back,那么到最后我们需要通过这些回滚日志来组织事务好。三个库下都需要建,注意各自的回滚日志表,各记各站,听懂了吧?那么所以说在看复目录下面有个DB安度log个点circleq,那么把这个CQ给我粘出来,然后来进行我们相应的。
08:19
回滚记录的配置啊,那么下面请看DB two下划线落个点CQ,这么说能跟上,那么在三个库下面各自去粘贴么?最终你的建表的SL,这个是官网上的ctrl a,每个库下面去执行一个,那么最终我们得到的效果就是。一有一个西塔的总括,这个括有三张表二。有我们的订单库啊,有我们一张订单表,并且有一个订单库下面的。日志回滚表,OK,那么订单库,然后呢,我们的storage库存库也有一个安度的回滚的,也有我们的余额库,账户库也有一张账户库的表和我们回滚的日志表听懂,所以说最终现在就形成了四个库,然后呢是三张主要的业务表,并且每个业务库下面都有一个安度洛的回滚日志记录表。
09:21
频导,那么这个就是我们什么业务数据库的准备。
我来说两句