内容简介:分布式系统的那些事儿(三) - 系统与系统之间的调用
系统与系统之间的调用通俗来讲,分为本地同一台服务器上的服务相互调用与远程服务调用,这个都可以称之为RPC通信。浅白点讲,客户访问服务器A,此时服务器要完成某个动作必须访问服务器B,服务器A与B互相通信,相互调用,A访问B的时候,A挂起,等待B的响应,B响应返回相应的数据个A,A再返回给用户,这就是一个很简单的栗子。
举个常见栗子,用户上传图片,用户上传图片首先会经过自身的服务器,然后再对图片进行处理,此时图片处理放在图片服务器中进行,那么我们只需要调用图片服务器提供的接口即可,然后等待响应返回的图片地址,此时我们队它进行额外的处理,保存到数据库然后在返回到前端进行显示。
再不明白就说说这次的顺丰和菜鸟数据安全事件,就是你调用我我调用你这样的一些列RPC通信。
其实在多年以前,系统之间的通信通过建立tcp协议来进行交互,非常麻烦,而现如今使用RPC的话那么就简单的多了,很多细节方面的事我们无需关注,比如socket啊,数据的转换啦解析啦等等。
RPC通信在系统之间的主要数据格式会以json为主,当然也有xml的形式,但是不多,不过很多老系统还是都会以xml为主。
在传输过程中,系统和系统之间的通信通过网络,而通信并不会保证每次都会成功,所以各类错误也一定要完善,就像咱们有时候对接第三方接口那样,会提供很多的错误码供我们分析,甚至还有超时请求的响应时间配置等等。对于这一系列的异常以及错误,我们一定要捕获并且处理,不然在顶端的客户不知道系统发生了什么而一直等着,这样是不人性化的。
系统之间通信收到网络的影响很多时候响应会比较慢,此时的用户可能会在客户端多次点击按钮,这样被调用的服务端就会执行多次,那么就要考虑系统的幂等性,这个不多说了,以前的帖子里有讲过。
好了,先讲这么多吧...
以上所述就是小编给大家介绍的《分布式系统的那些事儿(三) - 系统与系统之间的调用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 大型分布式系统现场,阿里大牛带你实战分布式系统
- 漫谈分布式系统(一):为什么要有分布式系统
- 分布式系统-->(关于系统应用的基本概念)
- 分布式监控系统 WGCLOUD,新增支持32位操作系统
- 分布式系统关注点——构建「易测试」系统的“六脉神剑”
- 分布式系统指南
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。