声明:所有文章只作为学习笔记用,转载非原创
http://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/
https://www.cnblogs.com/Rozdy/p/4877324.html
https://www.cnblogs.com/lichmama/p/4272826.html
#RPC框架
https://developer.51cto.com/art/201906/597963.htm
https://www.cnblogs.com/LBSer/p/4853234.html
由于各服务部署在不同机器,服务间的调用免不了网络通信过程,服务消费方每调用一个服务都要写一坨网络通信相关的代码,不仅复杂而且极易出错。
#implements extends[https://blog.csdn.net/weixin_39938767/article/details/80056922?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase]
与Extends的区别
extends,表示对父类的继承,可以实现父类,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。
implements,表示对接口的实现,接口通过关键字interface 进行定义。eg:public class S implements F,在接口F中对方法进行声明,在类S中对该方法进行实现。
如果有一种方式能让我们像调用本地服务一样调用远程服务,而让调用者对网络通信这些细节透明,那么将大大提高生产力,比如服务消费方在执行helloWorldService.sayHello("test")时,实质上调用的是远端的服务。这种方式其实就是RPC(Remote Procedure Call Protocol),在各大互联网公司中被广泛使用,如阿里巴巴的hsf、dubbo(开源)、Facebook的thrift(开源)、Google grpc(开源)、Twitter的finagle(开源/单词翻译:欺骗)等。
网友评论