Spring Cloud官方介绍

原标题:Spring认证|Spring Cloud官方介绍

Spring Cloud 提供了多种不同的功能,允许您在自己的应用程序中使用一致性的 API,开发人员选择最适合您的应用程序需求的功能。

支持的实现

Netfix Hystrix

弹性4J

哨兵

春季重试

核心概念

要在您的代码中创建生产,您可以使用CircuitBreakerFactoryAPI。当您在类路径中包含Spring Cloud Circuit Breaker starter 时,将自动为您创建一个实现此API 的bean。给个使用此API 的非常简单的例子

@服务

公共静态类 DemoControllerService {

私人休息模板休息;

私人断路器工厂 cbFactory;

公共 DemoControllerService(RestTemplate 休息,CircuitBreakerFactory cbFactory){

this.rest = 休息;

this.cbFactory = cbFactory;

}

公共字符串慢(){

return cbFactory.create("slow").run(() -> rest.getForObject("/slow", String.class), throwable -> "fallback");

}

}

该CircuitBreakerFactory.createAPI将创建一个命名类的一个实例CircuitBreaker。该运行方法采用一个供应商和一个功能。这就是您要包装在供应时中的代码。Function是法院跳闸这将执行的回退。将传递Throwable导致回退被触发的函数。如果您不想提供后备,您可以选择退出后备。

反应式代码中的

如果 Project Reactor 在类路径上,那么您也可以使用 ReactiveCircuitBreakerFactory 用于响应式代码。

@服务

公共静态类 DemoControllerService {

私有 ReactiveCircuitBreakerFactory cbFactory;

私有 WebClient webClient;

公共演示控制器服务(WebClient webClient,ReactiveCircuitBreakerFactory cbFactory){

this.webClient = webClient;

this.cbFactory = cbFactory;

}

公共单声道慢(){

return webClient.get().uri("/slow").retrieve().bodyToMono(String.class).transform(

it -> cbFactory.create("slow").run(it, throwable -> return Mono.just("fallback")));

}

}

该ReactiveCircuitBreakerFactory.createAPI 将创建一个命名类的一个实例ReactiveCircuitBreaker。该方法应该采用MonoorFlux 使其包装在国外中。您可以选择配置一个回退功能,如果回跳闸通过Throwable导致失败退,则该回退将被调用。

Spring启动配置

Spring Cloud BOM 提供以下启动器

Hystrix - org.springframework.cloud:spring-cloud-starter-netflix-hystrix

弹性4J - org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j

反应性弹性4J - org.springframework.cloud:spring-cloud-starter-circuitbreaker-reactor-resilience4j

春季重试—— org.springframework.cloud:spring-cloud-starter-circuitbreaker-spring-retry

哨兵—— org.springframework.cloud:spring-cloud-starter-circuitbreaker-sentinal

未完待续……

(0)

相关推荐

  • 《Spring Cloud微服务实战》.pdf

    回复"面试"获取全套面试资料 Spring Cloud是一系列框架的有序集合. 微服务是可以独立部署.水平扩展.独立访问(或者有独立的数据库)的服务单元. Spring Cloud ...

  • Spring Boot 2.4发布了,但Spring Cloud用户不推荐着急升级

    前段时间Spring Boot发布了本年度最后一个重要更新版本:Spring Boot 2.4.0. 最近在社群里也开始有讨论关于Spring Boot 2.4的一些使用问题.我发现有很多Spring ...

  • Hystrix 配置参数全解析

    前言 不久前在部门周会上分享了 Hystrix 源码解析之后,就无奈地背上了专家包袱,同事们都认为我对 Hystrix 很熟,我们接触 Hystrix 更多的还是工作中的使用和配置,所以很多人一遇到 ...

  • Soul网关插件之Spring Cloud

    com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve ...

  • 《Spring Cloud与Docker微服务架构实战》.pdf

    回复"面试"获取全套面试资料 什么是微服务架构? 微服务架构是一种架构模式,它提倡将单一的应用程序划分为一组小的服务,服务之间互相调用.互相配合,为用户提供最终价值. 每个服务运营 ...

  • 最新Spring Boot 与Spring Cloud版本对应关系

    Spring Boot Spring Cloud(企业架构源码可以加求球:叁五三陆二肆柒二伍玖) 1.2.x Angel版本 1.3.x Brixton版本 1.4.x Camden版本 1.5.x ...

  • 解析Spring Cloud经典面试问题

    Spring Cloud是个工具集,整合了各种组件.例如Eureka.Ribbon.Feign等.本文整理关于Spring Cloud的面试问题,希望对你有帮助. 问:什么是Netflix Feign ...

  • Spring-cloud学习笔记---分布式架构统一认证主流实现方案 Spring Cloud OAuth2介绍

    Spring-cloud学习笔记-分布式架构统一认证主流实现方案 1. 微服务架构下统⼀认证思路 认证 :验证⽤户的合法身份,⽐如输⼊⽤户名和密码,系统会在后台验证⽤户名和密码是否合法,合法的前提下, ...

  • 一篇文章搞懂 Spring Cloud 是什么

    概念定义 提起微服务,不得不提 Spring Cloud 全家桶系列,Spring Cloud 是一个服务治理平台,是若干个框架的集合,提供了全套的分布式系统解决方案.包含了:服务注册与发现.配置中心 ...

  • Spring Cloud 系列之 Netflix Eureka 注册中心

    服务注册中心是服务实现服务化管理的核心组件,类似于目录服务的作用,主要用来存储服务信息,譬如提供者 url 串.路由信息等.服务注册中心是微服务架构中最基础的设施之一. 在微服务架构流行之前,注册中心 ...

  • Spring Cloud 系列之 Consul 注册中心

    Netflix Eureka 2.X https://github.com/Netflix/eureka/wiki 官方宣告停止开发,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka ...

  • Spring Cloud 系列之 Feign 声明式服务调用(一)

    什么是 Feign Feign 是 Spring Cloud Netflix 组件中的一个轻量级 RESTful 的 HTTP 服务客户端,实现了负载均衡和 Rest 调用的开源框架,封装了 Ribb ...

  • spring cloud Feign使用@RequestLine注解问题

    来源:https://blog.csdn.net/zxl646801924/article/details/80626522 spring boot 项目需要调用其它项目的接口试使用spring cl ...

  • Spring Cloud OpenFeign 动态Url

    版权声明:本文为CSDN博主「markix」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明. 原文链接: https://blog.csdn.net/qq_31772 ...

  • Spring Cloud 系列之 Feign 声明式服务调用(二)

    本篇文章讲解 Feign 性能优化的问题,Gzip压缩.HTTP连接池.请求超时等. Feign 性能优化 Gzip 压缩 gzip 介绍:gzip 是一种数据格式,采用 deflate 算法压缩数据 ...