SprongCloud组件

2023-02-16 15:26:47 浏览数 (1)

服务注册中心

  1. Eureka http://docs.springcloud.cn/user-guide/eureka/
  • 停更不停用,Spring-Cloud Euraka是Spring Cloud集合中一个组件,它是对Euraka的集成,用于服务注册和发现。Eureka是Netflix中的一个开源框架。
  1. Zookeeper https://zookeeper.apache.org/
  • zookeeper是一个高性能、开源的分布式应用协调服务,它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如实现同步(分布式锁)、配置管理、集群管理。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端使用Java语言编写,并且提供了Java和C语言的客户端。
  1. Consul 中文文档 下载地址
  • Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更“一站式”,内置了服务注册与发现框架。
  1. Nacos https://nacos.io/zh-cn/docs/quick-start.html

服务调用

  1. Ribbon http://docs.springcloud.cn/user-guide/ribbon/
  • Spring Cloud Ribbon是一个基于HTTPTCP的客户端负载均衡工具,它基于Netflix Ribbon实现。
  1. LoadBalancer
  • 负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。负载均衡基本概念有:实服务、实服务组、虚服务、调度算法、持续性等,其常用应用场景主要是服务器负载均衡,链路负载均衡。
  1. Feign https://www.springcloud.cc/spring-cloud-greenwich.html
  • 已停更,Feign是Spring Cloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用接口,就可以调用服务注册中心的服务。
  1. OpenFeign https://www.springcloud.cc/spring-cloud-greenwich.html
  • penFeign是Spring Cloud 在Feign的基础上支持了Spring MVC的注解,如@RequesMapping等等。 OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口, 并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

断路器

  1. Hystrix(豪猪哥)停更

https://www.springcloud.cc/spring-cloud-greenwich.html

  • 中文含义是豪猪,因其背上长满棘刺,从而拥有了自我保护的能力。本文所说的Hystrix是Netflix开源的一款容错框架,同样具有自我保护能力。为了实现容错和自我保护。
  1. Resilience4j

https://camel.apache.org/components/3.14.x/others/resilience4j.html

  • Resilience4j是Spring Cloud Greewich版推荐的容错方案。由于Netflix对Hystrix停止了更新,所以Resilience4j可能会成为今后流行的容错解决方案。Resilience4j专为Java8以及函数式编程而设计。
  1. Sentinel

https://sentinelguard.io/zh-cn/

  • sentinel是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性.

服务网关

  1. Zull https://www.springcloud.cc/spring-cloud-greenwich.html
  • Zuul是Spring Cloud全家桶中的微服务API网关。
  • 所有从设备或网站来的请求都会经过Zuul到达后端的Netflix应用程序。作为一个边界性质的应用程序,Zuul提供了动态路由、监控、弹性负载和安全功能
  1. Zull2 https://github.com/dashprateek/zuul2-sample
  2. Gateway https://www.springcloud.cc/spring-cloud-greenwich.html
  • Spring Cloud Gateway 可以看做是一个 Zuul 1.x 的升级版和代替品,比 Zuul 2 更早的使用 Netty 实现异步 IO,从而实现了一个简单、比 Zuul 1.x 更高效的、与 Spring Cloud 紧密配合的 API 网关。

服务配置

  1. Config

https://www.springcloud.cc/spring-cloud-greenwich.html

  • Spring Cloud Config项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。
  1. Apollo

https://gitee.com/angelinfo/apollo#https://gitee.com/nobodyiam/apollo

  • Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。
  1. Nacos https://nacos.io/zh-cn/docs/quick-start.html

服务总线

  1. Bus https://www.springcloud.cc/spring-cloud-greenwich.html
  2. Nacos https://nacos.io/zh-cn/docs/quick-start.html

0 人点赞