核心组件:Eureka、Ribbon、Feign、Zuul
-
Eureka注册中心原理
-
读写缓存优化并发冲突
-
如果你基于 sPring cloud 对外发布一个接口,实际上就是支持 http协议的,对外发布的就是-个最最普通的 Spring Mvc的 http接口
-
feign,他是对一个接口打了一个注解,他一定会针对这个注解标注的接口生成动态代理,然后你针对 feign的动态代理去调用他的方法的时候,此时会在底层生成 http协议格式的请求,/order/create?productid=1
-
Ribbon,底层的话,使用HTTP通信的框架组件,Httpclient,先得使用Ribbon 去从本地的 Eureka 注册表的缓存里获取出来对方机器的列表,然后进行负载均衡,选择一台机器出来,接着针对那台机器发送 Http请求过去即可
-
Zuul,配置一下不同的请求路径和服务的对应关系,你的请求到了网关,他直接查找到匹配的服务,然后就直接把请求转发给那个服务的某台机器,Ribbon 从Eureka本地的缓存列表里获取一台机器,负载均衡,把请求直接用 HTTP通信框架发送到指定机器上去