springcloud
由以下⼏个核⼼组件构成:
Eureka
:各个服务启动时,
Eureka Client
都会将服务注册到
Eureka Server
,并且
Eureka Client
还可以反过来从
Eureka Server
拉
取注册表,从⽽知道其他服务在哪⾥
Ribbon
:服务间发起请求的时候,基于
Ribbon
做负载均衡,从⼀个服务的多台机器中选择⼀台
Feign
:基于
Feign
的动态代理机制,根据注解和选择的机器,拼接请求
URL
地址,发起请求
Hystrix
:发起请求是通过
Hystrix
的线程池来⾛的,不同的服务⾛不同的线程池,实现了不同服务调⽤的隔离,避免了服务雪崩
的问题
Zuul
:如果前端、移动端要调⽤后端系统,统⼀从
Zuul
⽹关进⼊,由
Zuul
⽹关转发请求给对应的服务
注册中⼼还可以⽤
zookeeper