00:00
好,同学们聊完了单机,下面唠唠集群,因为大家都清楚啊,这个实际工作当中的话,你不可能你们公司用的red是单机最差,最差也应该是个易主二层吧,你哨兵不配,你说我人肉运维我也认了,但你要跟我说你们公司的业务一台red就能扛得住,我不认为你们公司的业务这个量有多大,对吧,你跟人家聊的话,我们公司那个百万级的并发,或者千万级的并发,然后呢,Red是单机,怎么可能现在高并发这个东西它不是某一个技术,不是说你学了个GOUC,多线程编程,一个技术就能搞定,它是一整套体系,目前技术都是体系和体系的对抗,比如说go,对吧,和我们的。集图意义,整个架构技术体系的对抗,好,那么所以说呢,同学们,那么第二个你面试过程当中一定会被问到一个问题啊,同学你也有三年工作经验了,那么呃,我们就不再聊什么哈西迈底层源码这八股文了,那么说一个你过去三年工作经验当中,你印象最深刻的一次故障,请按照故障现象导致原因,解决方案优化建议给我们说一下你是如何从发现问题、分析问题、解决问题的,有没有什么拿得出手的故障现象?
01:13
你怎么跟他讲啊?我碰到最严重的故障就是他们看他连不通端口号。不起作用或者中文乱码对吧?所以这些呢是不OK的,好,那么同学们,那么接下来漏集群咱们要面对哪些问题,有哪一些错误呢?来吧,首先启动re这次集群六台实例,那么刚才给大家呢,已经全部启动了,那么现在啊,同学们noe假设我们连上了6381,那么老规矩no看一下那么1MASTER3MASTER5MASTER和之前的配置一样,奇素是master,偶数是我们的是么?Slave,那下面这个问题就来了,程序还是这么一个程序,那么下面我们的这个配置现在连的是什么?单机?那么这套你觉得还能用吗?100%不好使了,各位亲,所以我们接下来要第一次改写我们的,要么让它连接我们的red集群,来,同学们。
02:20
把这个拿下来。好,这个呢是集群的最大重试次数三次,这个是一个,第二个主要就是从刚以前的直地某台主机变成了什么class no集群节点,那么自然而然,兄弟们来,请按照你的实际情况,八幺在哪?然后呢,8384在哪台机器,然后呢八五。和你的八六在哪一台机器,请配置好,我们再说一遍啊,这个IP呢,请用自己的,我呢就不再过多的赘述了。好了,配完这个以后接下来干嘛?我们直接通过微服务访问我们的red集群,那么请大家呢,来尝试一下看看,好,启动我们的777微服务端口,好,我先暂停一下录屏服务启动成功,那么同学们,我们继续老规矩,微服务Java册的源代码除了改了个配置文件以外,其他什么都没动过。那么以前存单机可以,那么现在各位亲,我们来看看我们应该存哪呢?来吧,添加一个执行一下,请看后台多少是不是。
03:39
770啊,那么尾号。2786来吧同学们get order770同学们有没有因为这个时候什么刚好是不是落到6381,那么不妨我们再来一个好同学们现在是多少?ORDER13,那么来吧,同学们请看,Get order13同学们请看。
04:05
重定向到了多少?槽号是8909,那么是不是我们的6383这台机器大家请看我们呢,直接kiss新一下ORDER13,没有那些乱七八糟的序列化问题吧,而且中文也显示成功吧,对不对?那么再次复习一下啊,如果是像这样看的话呢,你应该是什么?Register client-A,首先输入密码,第二个6381,第三个集群要杠C进行路由传递,然后中文杠杠raw。好,同学们请看get拨打770同学们lawyer,现在可以看得出这个T没有乱码,这个值没有乱码,打完收购一套带走没问题吧,所以呢,同学们岁月静好。一切自然像大自然一样自然真的是这样吗?你可别忘了下面你跟面试官说的一些技术细节,讲一个有血有肉的故事,面试中央有点谈资,那么这个问题就跟面试官说,第一个面试官,我相信贵公司也肯定,嗯,上的是三主三从最经典的red子集群吧,啊,我上一家公司都比贵公司的规模还要小,我相信你们的技术这方面应该不会差。那么我突然碰到的问题呢,就是我们有一次red呢主从蛋了,我们大家都清楚,如果派到red集群的话。
05:28
咋整6381对吧,各位同学如果宕机了。那么相当于说这个槽号5460之前的是不是就没有了?那么当然我们马上会启动我们的容灾机制啊主从上位6384是不是会把6381给剃掉了,然后red集群这边是没有任何问题的,那么接下来问题是那你微服务程序这边会不会有问题呢?好,那么同学们带着这个问题我们呢,我来看一下一人为模拟6381意外单机,其实么,就是我们直接下车的好吧第二个re命令来验证各种读写命令,看看6384是否上位好吧,我们先完成这两个来同学们小塔蛋,6381这个都是老朋友了好吧,不再多废话,那么现在6384IN for replication来同学们现在是个什么样子?Slave为什么是不是还没有上位呢?给他点时间,妥了再来看啥情况,6384是不是一下子就上位了莱瓦,然后顺迅速的变成了我的MASTER6384。
06:38
没什么问题吧?那么弟兄们再来看c not,查一下6381FAIL。相当于说现在六台机器里面只剩下五台6381没了,只剩下23456,那么其他的6384MYSELF成功上位,那么来吧,同学们,假设set order啊,假设我就随便乱写。
07:03
11页没问题吧,同学们。那么6384这个哦,有一个序列号,OK,可以存进去吧,Get拨时机同学们请看我刚才乱七八糟写的这些东西,没有任何问题吧,说明什么也记我们的集群环境,没有任何问题,OKOK,那说明什么?如果6384这能读能写。OK,好。集群环境没问题,那么接下来我的问题就来了。那Java程序现在。突然发现后台是不是6381找不到了?好,找不到无所谓,我们做的是容错了高可用的系统,你要保证我某个集群宕机了,RA微服务反问你ready集群没有任何影响,就跟什么无感一样,没有感觉你后你内侧出问题了,凭什么影响我加va微服务呢?好,所以说此时我们理直气壮的依旧在新增订单啊,看好。
08:12
诶。哎。搞大发了,开始转圈圈了,听懂了吗?好,同学们请看,他说连接6381找不到,不对呀,你6381死了就死了,刚才我们也演示了c not死对不对?同学们,我6384活的好好的,我已经把6381取而代之了,你6381你去离了干什么?这么死心眼,你找不到来找我嘛,所以呢,这个时候同学们请看,我们等他们,等他一会啊,好。继续在这转,你告诉我这叫高可用吗?好,同学们,我们等他一会,他有些重试和超时的机制,那请看,终于圈圈是不是停了?哎,来,此时请看,大家看后台报什么错?第一种no future information找不到6381,第二种直接告诉你命令执行超过一分钟以后超时了。
09:19
哎,那这两个的话,要不我再来一次啊。又转圈圈了,哎呀,烦死了那同学们。
我来说两句