开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情
组件
- springcloud Hoxton.SR10
- springboot2.3.9.RELEASE
- nacos
- feign
- ribbon
- Gateway
Nacos注册中心 2.2.5.RELEASE
Nacos是阿里出的一个springcloud组件,跟eureka一样同样是注册中心,用于服务注册、服务发现,但功能性更加丰富,国内用的比较多。Nacos需要安装,分别有linux版本和win版本。
Nacos与eureka的共同点:
-
都支持服务注册和服务拉取。
-
都支持服务提供者心跳方式做健康检测。
Nacos与Eureka的区别:
-
Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
-
临时实例心跳不正常会被剔除,非临时实例则不会被剔除
-
Nacos支持服务列表变更的消息推送模式,服务列表更新更及时
-
Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。
Ribbon负载均衡
-
Ribbon 是一个基于 Http 和 TCP 的客服端负载均衡工具,它是基于 Netflix Ribbon 实现的。
-
它不像 spring cloud 服务注册中心、配置中心、API 网关那样独立部署,但是它几乎存在于每个 spring cloud 微服务中。包括 feign 提供的声明式服务调用也是基于该 Ribbon实现的。
-
ribbon 默认提供很多种负载均衡算法,例如 轮询、随机 等等。甚至包含自定义的负载均衡算法。
Feign远程调用 2.2.7.RELEASE
Feign是一个声明式的http客户端,官方地址:github.com/OpenFeign/f…
使用Feign的步骤:
-
引入Feign的maven依赖。
-
添加@EnableFeignClients注解。
-
编写FeignClient接口。
-
使用FeignClient中定义的方法进行接口远程调用。
Gateway服务网关 2.2.7.RELEASE
Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。
Gateway网格是所有微服务的统一入口。
特性:请求路由、权限控制、限流。
在application.yml文件中配置路由规则