面试官们“爱不释手”的分布式系统架构到底是什么?( 七 )

比如,各个子系统走restful接口调用,那么就是http调用,这时比如传送过去一个对象,就要自己搞成一个json,然后一次调用失败后重试怎么做?

另外,一般来说都是集群部署,目标系统有多个实例,那么自己还要写一个负载均衡算法,如何每次随机从多个目标机器中挑选一个来调用?

还有,如果目标系统扩容新部署了一个实例,或者服务器故障下线了一个实例,如何动态让调用方感知到呢? 诸如此类的很多问题,如果不用服务框架的话,自己这么瞎搞,会遇到各种各样的问题。

上述过程,用一张图给大家呈现一下:

面试官们“爱不释手”的分布式系统架构到底是什么?

如果选用了某一个分布式服务框架,就需要深入的掌握这个框架的使用与底层原理,比如 dubbo 就需要搞明白以下的一些问题:

dubbo的工作原理?

dubbo支持的序列化协议?

dubbo的负载均衡和高可用策略?动态代理策略?

推荐阅读