分布式业务系统,就是把原来用 Java 开发的一个大块系统,给拆分成多个子系统,多个子系统之间互相调用,形成一个大系统的整体。
1.系统拆分
如果是那种代码量多达几十万行的中大型项目,团队里有几十个人,那么如果不拆分系统,开发效率极其低下,问题很多。但是拆分系统之后,每个人就负责自己的一小部分就好了,可以随便玩儿随便弄。分布式系统拆分之后,可以大幅度提升复杂系统大型团队的开发效率。
1.1 如何拆分
大部分的系统,是要进行多轮拆分的
分布式服务框架
说一下的 Dubbo 的工作原理?注册中心挂了可以继续通信吗?
Dubbo 支持哪些序列化协议?说一下 Hessian 的数据结构?PB 知道吗?为什么 PB 的效率是
最高的?
Dubbo 负载均衡策略和高可用策略都有哪些?动态代理策略呢?
Dubbo 的 SPI 思想是什么?
如何基于 Dubbo 进行服务治理、服务降级、失败重试以及超时重试?
分布式服务接口的幂等性如何设计(比如不能重复扣款)?
分布式服务接口请求的顺序性如何保证?
如何自己设计一个类似 Dubbo 的 RPC 框架?