SpringCloud组件介绍

92 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第10天,点击查看活动详情

组件

  • springcloud Hoxton.SR10
  • springboot2.3.9.RELEASE
  • nacos
  • feign
  • ribbon
  • Gateway

Nacos注册中心 2.2.5.RELEASE

nacos.io/zh-cn/docs/…

Nacos是阿里出的一个springcloud组件,跟eureka一样同样是注册中心,用于服务注册、服务发现,但功能性更加丰富,国内用的比较多。Nacos需要安装,分别有linux版本和win版本。

Nacos与eureka的共同点:

  1. 都支持服务注册和服务拉取。

  2. 都支持服务提供者心跳方式做健康检测。

Nacos与Eureka的区别:

  1. Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式

  2. 临时实例心跳不正常会被剔除,非临时实例则不会被剔除

  3. Nacos支持服务列表变更的消息推送模式,服务列表更新更及时

  4. Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式。

Ribbon负载均衡

  1. Ribbon 是一个基于 Http 和 TCP 的客服端负载均衡工具,它是基于 Netflix Ribbon 实现的。

  2. 它不像 spring cloud 服务注册中心、配置中心、API 网关那样独立部署,但是它几乎存在于每个 spring cloud 微服务中。包括 feign 提供的声明式服务调用也是基于该 Ribbon实现的。

  3. ribbon 默认提供很多种负载均衡算法,例如 轮询、随机 等等。甚至包含自定义的负载均衡算法。

Feign远程调用 2.2.7.RELEASE

Feign是一个声明式的http客户端,官方地址:github.com/OpenFeign/f…

使用Feign的步骤:

  1. 引入Feign的maven依赖。

  2. 添加@EnableFeignClients注解。

  3. 编写FeignClient接口。

  4. 使用FeignClient中定义的方法进行接口远程调用。

Gateway服务网关 2.2.7.RELEASE

Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。

Gateway网格是所有微服务的统一入口。

特性:请求路由、权限控制、限流。

在application.yml文件中配置路由规则

image.png