最近用到了rpc框架thrift,之前面试的时候也遇到过面试官问rpc的框架。但是之前没用过,所以也不知道这个东西的使用场景是什么,更别说是怎样实现的了。
现在知道了rpc是用来调用别人的服务获得结果,但是使用起来就像调用自己本地方法一样。
那么它是怎么做到这种能力的呢?看到一篇文章讲解了rpc的简单演进 https://mp.weixin.qq.com/s/5iYJn1WuIARHMGT73_0Yhw
遗留问题:
(1)最后这个版本的代理模式是怎么生成IproductService对象的呢?里边是怎么记录了InvocationHandler信息的?IproductService接口只定义了三个方法而已。
这个问题其实就是:代理模式是啥?怎么用的?
(2)根据我的使用经验,接口、方法都是可以被代理的。实现方法就是用一个更高一层的接口,这个接口可以传递接口名、方法名、参数。是这样吗?
(3)服务是如何注册的呢?是不是有一个管理中心?也就是说要用rpc框架,需要有一个管理中心?
好像不是,之前写过小demo,不需要管理中心,但是client需要输入server端的地址和端口建立连接。
微服务的场景下是用管理中心的?