1、网关
使用zuul实现网关,外部访问服务的统一入口,日志、鉴权等操作一般在网关服务中处理
2、服务注册与发现
服务治理和注册中心:dubbo、eureka、nacos和zookeeper(注册中心)等
服务提供者统一注册到注册中心,服务消费者从注册中心拉取可用的服务列表到本地
3、配置中心化和自动更新
配置中心化:springcloud-config和nacos等
可以实现公共配置,个性化配置分离,远端更新配置自动同步到本地,项目无需重启即可生效
4、服务的负载均衡
服务的负载均衡:Nginx、ribbon、feign等
Nginx主要是为服务提供者做负载均衡,需安装配置Nginx
ribbon主要是在服务消费端自主对服务提供者做负载均衡,粒度更小(可自定义负载规则)
feign内置了ribbon,主要作用是简化项目之间接口调用
5、服务熔断和服务降级
fegin和Hystrix联合实现服务熔断和服务降级:
服务熔断(feign,在服务提供方故障时采取备选方案(服务提供端配置),防止故障扩散);
服务降级(一般配置在客户端(需要在客户端配置中开启),在请求外围方法失败时,允许调用服务的降级方法(一般消费端配置))