00:00
那么。接下来就是public string。Goods,那么有这么一个方法。约定。好,那么这呢,我们也就是拜。Good,这波兄弟们OK吧,那么这儿呢?很简单,我们先干这么一个,那么就是red点二怎么操作o of value,相当于这个就是我们的string string.get什么动到我们里面的一个key。出现这段代码就相当于get某个T。那么。得到的结论是什么?看看。库存的数量够不够,OK,那么干脆这样啊,同学们,我这儿呢就是。Delete goods 001把它先把它删掉,重新来。Goods某个商品,001号商品可以是一本书啊,可以是一部汽车,一套房子。
01:02
一个游戏机随便啦,骗了多少?100个听到,那么现在就是我的库存里面GET001有100个商品,OK吗?那么现在。我这句话的意思就是这个呢。用Java操作以后,相当于就是我们的get这个命令没问题吧,来看看我这个库存够不够。没问题吧,那么这个时候呢,我们呢,再做个转换吧。Good number。好吧,那么现在就等于这个,然后呢,干一件什么事呢,看看你会不会空了,如果说你空了,这就是那零。这么一个,那么再做一个int点的。这么一个转换啊,就写一些简单的了,那么这个K呢。我们就是我们刚才所写的GOODS001商品产品的商品的编号是多少001,那么对于这个K,那么是不是就是我们刚才的这个GOODS00先丢进来,意思就是说我不管假设啊,我先用手机下单点一下买一个买一个,那买之前我是不是得看看库存够不够嘛,先从里面去取,看看我这现在取出来多少。
02:18
如果为难了我们把执照返回去,零就说明库存没了,真真正正的。这个商品数量如果是零,那不用说不用买了,对吧,否则的话就需要假设这个现在的库存量还剩56个,那么就把这个死卷做一个转换好,那么接下来就该写个最简单的啊,因为重要的不是一些程序,是我们的分布式组的这个思想那么good。这个如果真实的商品数是大于零的,说明怎么着是不是能够卖呀,OK,那么int。Real真实货物数,那么现在就是剩余的库存数啊,那么这个就是。这个减几啊。减一,因为只要库存还大于零够,那么现在是不是比方说有52个现在当前的库存,那么可以卖大于零,52是大于零可以卖52减一,那么说明第52号商品,第52个商品被卖出去,那么现在是不是还真实的库存还剩51个,听懂好,那么现在呢?
03:21
继续,那么是不是我们的string template点?For这么一个,接下来干嘛?Set key和value是不是就要选这么一个方法,OK吧,那么这个key。我这写简单啊,这个K我就不用在上面再定义一个什么常量了,这些不重要啊,我们写个最简单的程序对吧,接下来是不是我们这个。String,第2OF,那么再把这个这个。变换一下,作为一个string重回我们的red OK吧,那么这样呢,我们为了方便,那么我们在后台也打出来,前台也打出来,好看啊。
04:02
成功。买到。商品。库存。还剩下,那么同学们你懂的,现在这个库存是不是就是这个才是我们真真真正的库存的这一波没什么问题吧,然后呢,这个后台打出来。还剩多少件?这波同学们OK吧,那么还剩下。这么一个,还剩多少件?OK。隔开一点,那这写什么呢?服务。端口服务提供。端口是哪个?那么现在是不是就是我们现在这个serve。这一波同学们能跟上,相当于说,如果我购买成功了。控制台打印出这么一句话,就告诉你,比方说现在100件商品买卖出去一件以后,还剩下99件,提供者是谁?1111,这台服务器提供的OK吧,那么我们呢,返回前台。那么就是。
05:08
成功买到商品,现在呢?这句话直接。再拷贝一次。就行了,我们呢,也就不写了,可以不OK,那么否则的话啊,我们写个简单的,那么就是。我们这儿喽。弄过来那各种意外吧,好吧,那么各种意外的话呢,那么。好说,那么比如说是这个。商品。已经受气。或者兽王吧。已经说完。或者说是什么。嗯,活动结束,反正就是各种意外情况吧,或者是调用超时等等等等,那么。
06:02
欢迎下次。关林。欢迎,欢迎下次光临。这一波同学们OK吧。那么现在呢,我们。一样。提供了服务器端口号。好吧。那么最后我们瑞泰也就干脆把前台的这句话。打印回去。同学们,没有任何问题吧,这一波O不OK,好的,那么如果不出什么意外,那么现在如果我们联通是不是启动我们的这个微服务。我按照我们刚才的计划,那么是不是我本机local host1111这个端口一点就能够看到我们的库存减少啊,好,那么同学们我们呢。直接呢,把我们的一号机先启动起来,好暂停一下录屏,大家看我们的一号机就是我们的1111,这台服务器正式成功启动,那么。
07:03
我们目前啊,我们的在库存里面001号商品是100个,那么来看一下我们呢,直接local host。1111,哎,大家请看我点一下第100号商品是不是就被我卖出去了,然后现在库存是不是还剩下99件,服务提供端口是11111号机给我们提供的,整体意思就是这个情况,那么同学们请看,不出意外,后台是不是也打印出相关的,我们前后台是为了到后面我会调错这个时候呢,给大家好看。那么接下来的事情呢,我们将会把一号的这个程序原模原样的考到我们的二号这个。服务器上再把二号机启动来看看跟我们的效果有没有什么不一样,好,那么这个时候同学们。我们呢,也和刚才一样啊,找到我们的二号机,因为我们这是新写的啊,那我们呢,这就粘一下代码来和去呢,是二号模块啊,和我们之前的一模一样,我一怎么写的,二我就怎么粘,全部粘过来,这波同学们没有任何问题吧,那么一样的话术,一样的话语,唯一不一样的啊,同学们就是在我们这端口号是2222OK,那么好了,同学们现在一号机和二号都是原模原样的,那么我再把我们的二号机干嘛启动起来,保证两个服务都是OK的,好,我先暂停一下录屏,那么二号机也已经成功启动,那么大家请看现在的话呢,是不是我们的两台机器都OK了。
08:40
那么这个时候二号机的端口是多少?2222。点一下,那么同学们不出意外,现在是不是应该是第99号商品卖出去,库存只剩下98件,服务提供端口是2222,那么结合我们之前讲的,如果你要是有一点基础的话,你懂的,我是不是前面会挡着一个N啊,把它从单机版现在是两个微服务各自分别部署。
09:07
直接找一,直接找二,那么接下来我们N式配成是不是121212,慢慢的把它们延伸和变形啊。好,那么再来看看我们的库存,现在是不是98个。说明我们基础构建的环境全部成立,一切OK,那么再回到我们的1111OK,那么同学们97件还是111这个小程序。根本就没有任何含金量,听懂根本不难,我们只是带着大家从零开始,一步步构建,那接下来同学们就需要你。业务逻辑就这么一点,到目前为止,我们这个超卖的这么一个,待会儿要演示秒杀超卖会导致故障的一个小DEMO,一个小程序,一个基础类的小程序,到目前为止彻底构建完成。那么这点。
10:00
重要的请大家后续跟着我一步一步的给大家说明为什么会有。我们的。这个贝斯案列接下来就请大家来吐槽和找茬,我看看你能不能够把杨哥所写的这个程序,注意它没有错,听懂了吧?单机版下面没有错,你不管怎么点都OK的清楚了吧,那后台该有什么也会有。一号机你看该有什么,是不是也有啊,那么接下来的问题就是单机的时候。没有什么问题,下面请后续同学们跟着我来找茬。友情温馨提示啊,这个时候就告诉大家。大概。有九个bug,我看你能找出来几个,然后现在当前这个通过的这个啊。就是你看到我们这个这个秒杀超卖通过的这个贝斯案例,目前呢,OK,它只是1.0版的程序,最终我们要写到9.0版,听懂了吧,再完善它,这个就是面试题,要考你的,谈谈你对分布式所的理解。
11:09
删key的时候会出现哪些问题?面试官考的是个过程,不是让你告诉我,我洛克按落,我会用。好,那么同学们。把案例发给大家,自己本地搭建,自己去看看,我这个要是这段小代码在高并发多线程下面会有哪些问题。好,同学们。基础案例搭建到这儿结束,下面开始一起来找茬。
我来说两句