漫画 | 历经40年,分布式通信太难了!

晚上11点,张大胖回到家中

突然,周边的时空发生了奇怪的变化

一座叫“分布式通信”的大楼出现在面前


张大胖迟疑地进入了第一层的大厅

rexec 是Unix上的一个命令,能够执行远程计算机上的程序,算是分布式通信的一个雏形。可是,在21世纪的张大胖看来......

张大胖没有和他纠缠,直接上了2楼

张大胖觉得Stub和Skeleton真是两个古怪的名称!都叫Proxy(代理)多好!

客户端和Stub在同一个进程中,它把请求发给Stub。 

Stub通过网络和Skeleton通信,使用约定好的格式发送、接收请求。 

这样才对客户端隐藏了网络,就像是调用本地方法一样。

但是怎么生成他们两个呢?

Java RMI看起来不错,但是张大胖也发现了弊端:

客户端和服务器端绑定很紧密,接口的任何改动都需要把新的Stub分发到客户端。

张大胖觉得Java RMI是一种非常落后的RPC,自己项目用过的Dubbo比它好多了,虽然也有类似Stub和Skeleton这样的东西,但是隐藏了,可以在内存中动态生成了。 

告别了RPC,张大胖来到3楼。

服务器端有个接口是getUser,需要提供的参数是用户ID, 用XML这么描述:

服务器端返回的数据,可以这么描述:

用XML表示请求和响应,就不用什么Stub和Skeleton了,直接用HTTP和XML就行。

一切都用XML来描述,这种感觉太好了!

可是,张大胖还是觉得少了点东西。

离开了XML-RPC,张大胖继续爬楼,来到了第4层

张大胖很喜欢User Service 的这个XML的接口描述文件,只要解析一下,就能得知接口的方法名,参数名。

正在看接口文件的时候,张大胖被三个人围住了。

程序员可以用WSDL来描述一个服务的接口信息,然后把服务提供者的信息注册到UDDI当中,客户端可以通过SOAP协议来调用这个服务。 

张大胖看到这么文绉绉的名称,就觉得应该是各大公司牵头制定的,果不其然。

在4楼转了一圈就发现,虽然有各大公司站台,但这些WSDL, SOAP实在是太难用了。

张大胖爬上了5楼

从动词转到名词是个太大的跨越,张大胖一时理解不了

话虽这么说,可是张大胖觉得这种方式挺简单的,充分利用了HTTP的特性,比楼下的Web Service 清爽太多了。

他打算继续上楼。

更多精彩技术漫画,尽在码农翻身

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值