1、spring boot 2.4.9
2、spring cloud 2020.0.3
3、服务注册中心有:Eureka和Nacos,可用Eureka。
Eureka相当于微服务架构中的“滴滴”。负责微服务的注册和发现工作,它记录了服务和服务地址的映射关系。在分布式架构中,服务会注册到Eureka注册中心,当服务需要调用其它服务时,就从Eureka找到服务的地址,进行调用。Eureka在Spring Cloud中的作用是用来作为服务治理实现服务注册和发现。Eureka主要涉及到三大角色:服务提供者、服务消费者、注册中心。 服务注册是指,各个微服务在启动时,将自己的网络地址等信息注册到Eureka,服务提供者将自己的服务信息,如服务名、IP等告知服务注册中心。 服务发现是指当一个服务消费者需要调用另外一个服务时,服务消费者从Eureka查询服务提供者的地址,并通过该地址调用服务提供者的接口。一个服务既可以是服务消费者,也可以是服务发现者。各个微服务与注册中心使用一定机制(例如心跳)通信。如果Eureka与某微服务长时间无法通信,Eureka会将该服务实例从服务注册中心中剔除,如果剔除掉这个服务实例过了一段时间,此服务恢复心跳,那么服务注册中心将该实例重新纳入到服务列表中,Eureka架构图,如图2-1所示。
4、服务调用,可用OpenFeign
Feign是一个声明式的HTTP客户端组件,它旨在是编写Http客户端变得更加容易。OpenFeign添加了对于Spring MVC注解的支持,同时集成了Spring Cloud LoadBalancer和Spring Cloud CircuitBreaker,在使用Feign时,提供负载均衡和熔断降级的功能。
5、服务降级,可用Resilience4j
Resilience4j提供了提供了一组高阶函数(装饰器),包括断路器,限流器,重试机制,隔离机制。你可以使用其中的一个或多个装饰器对函数式接口,lambda表达式或方法引用进行装饰。这么做的优点是你可以选择所需要的装饰器进行装饰。在使用Resilience4j的过程中,不需要引入所有的依赖,只引入需要的依赖即可。
6、服务网关,可用SpringCloud Gateway
SpringCloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。SpringCloud Gateway 作为 Spring Cloud 生态系统中的网关,目标是替代 Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zuul 2.0以上最新高性能版本进行集成,仍然还是使用的Zuul 2.0之前的非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。
7、服务配置,可用Spring Cloud Config
Spring Cloud Config是一个配置中心组件,能够把各个应用系统中的某些配置放在一个第三方中间件上进行统一维护,对于统一配置中心上的数据的变更需要推送到相应的服务节点实现动态更新,并且可以Git,SVN,本地文件等作为存储。
本文为资料整理,并非原创。