SpringCloud的概念
1,SpringCloud主要是应用的拆分。
一个应用拆分之后,如图。系统复杂度越来越高,拆分服务。
服务的高可用性问题,订单服务用负载均衡通过路由去找某一个可用的库存服务。
服务治理:服务注册 服务发现。
具体的框架实现:阿里巴巴的dubbo(功能单一) 当当的dubbox
RPC:dubbo基于TCP。例如:订单服务想请求库存服务,订单服务里面有个接口他代理了库存服务的一系列服务,他可能采用了一些到动态代理,在最底层采用序列化交互模式。
通信协议:hessian json webservice(很少见了 老古董)
网关:一个用户请求是不可能直接访问订单服务和库存服务的。要经过一个网关的转发才能访问。可以做:同济路由,访问次数,安全校验。
断路器:例如:订单请求库存了,某个库存服务反应非常弱,第一个请求超时了,第二个又好了,断路器就是把这个请求切换,让后面这个请求不会从这个请求从这个走了,提升用户请求的做法。
分布式配置:订单服务和库存服务每一个服务放一些重复的配置,修改的时候要一个一个的改,集中配置在某一个地方,一修改所有的服务拿到最新的配置。
SpringCloud基于Springboot