00:00
好,那么接下来呢,咱们就要用一个动图,把咱们那个RPC的交互过程给它啊。呃,我们来一起看一下啊。来,那么首先呢,咱们是不是有一些端点呢?哎,我这边的场景是什么,是不是jobva ma跟task去做一个交互啊,比如说提交任务的时候,对吧?好,那么首先我们说这个终端在构造的时候有一个什么。是不是一个东西叫service?对吧,有个东西叫service吧,啊,那这个service会去调用一个start service方法,对吧,我们说这个很重要对吧,那在这里面他做了什么事啊,是不是启动了rpc server,同时是不是也创建了一个什么。Act对吧?啊,这个艾是不是在server里面再往下,我们说这些终端是不是得需要明确的去触发启动啊。
01:01
是不是得去start它呀,整个终端啊好,那是不是调用它的start方法呀。诶同学们是不是调用start方法,那我们说这个start方法最终是谁调用的,是不server,所以你看我这边是谁出来的star,是不是server出来的start的方法,那我们另外一个知识点,不是说他会转发到代理吗?对吧,那我这边就统称叫VO handle了,对吧,它是不是调用到代理上面去了。好,那最终这个代理是不是把自己启动起来了,对吧,处理那个自己这边是不是处理控制消息,然后把自己启动起来了,好,那同样的这边右边的话我是简化了啊,我就没有向这边来回来回了简化一点啊,那这个时候这两个是不是都启动起来的状态。只有启动起来才能互相交流吧,你不启动怎么交流啊,你不开机别人怎么给你打电话,打不通吧,好,现在两个都开机了,接下来。
02:10
怎么呢?Job master要给task发消息,那么首先他的service是不是发起者啊?发起者跟谁连呢?对方的server连对不对,那么对方的server说我server是自己用的,我不给你啊,那我给你一个什么网关对吧,那这个时候他是不是就能通过网关去跟他交流了,好我们再继续点。接下来。是不是可以通过?这个网关远程调用对方的一些方法呀,也对方是不是task SQ的,你看它是不是又怼回来了,怼到谁上面啊。是不是对应对方的server对吧,那对方的server会怎么样?
03:02
所以把这个请求转发给代理啊,啊大家注意这边是各自有一个代理,但是我这边因为他逻辑很多,我就写在一起了啊。是不是转发给代理啊,那代理里面是不是方法对吧,那么如果是RPC请求,那是不是走这个Mo rpc啊,那之后点是不是先判断发送地址是不是本地啊。还记得那个判断吗?如果是本地呢?呃,这个有什么特点呢?本地是不是不需呃不需要序列化,因为不涉及到传输对吧?啊不用跨节点传输,不是涉及到网络的传输,是不需要虚拟化的,好,那么如果不是本地,那是不是用一个远程的呀。对吧,好,这个是先做了一个判断地址,接下来判断了一个什么。方法是否有返回值吧?那么如果是VO的,也就是无返回值,那是不是直接T告诉他就行了?好,那么有返回值那是什么方式啊?
04:06
哎,对,有返回值是不是20的。好,那ask的同时,他是不是还做了进一步的判断,要不要阻塞对吧,他判断类型是不是这个。Comp future,如果是这个类型表示什么?它不需要阻册了,阻阻册吧,他直接把这个future对象返回就可以了。那么如果类型。不是这个future,那是不是要阻塞明确的等待返回值啊,去get对吧,之后呢才会返回啊。你看最终这些里程是不是通过T也好,Ask的方式?请求到谁呀?是不是server里面的。之后呢,这个actor。干什么?是不是根据三种消息类型分别进行处理啊?
05:03
对吧,这个就是咱们一个整个过程,这中间你看涉及到一些概念,这个这个这个。这个这个这个是不是有点多啊,所以咱们前面是挨个都介绍过了,那那最终呢,大家呢啊,就是能够把整个一个过程。啊。呃,消化吸收记住那就OK了啊,前面都是一些介绍,那这个图因为我我是修改过了对吧,那大家看这个新的图就行了。
我来说两句