Spring Cloud 学习笔记
文章平均质量分 69
Spring Cloud 学习笔记 一步一步探索分布式微服务的世界。
stary1993
随遇而安是种生活态度,也是种处世方法!
展开
-
Spring Cloud 学习笔记十五:搭建微服务工程之Knife4j 介绍及使用
目录Knife4j 介绍及使用Knife4j 介绍及使用Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-ui的ui皮肤项目。具体介绍见官方文档 https://doc.xiaominfo.com/knife4j/documentation/description.html 。在pom.xml中引入 Knife4j 的依赖包,代码如下:<!-- knife4j导出swagger文档 -->&原创 2021-03-29 14:18:35 · 1947 阅读 · 1 评论 -
Spring Cloud 学习笔记十四:搭建微服务工程之使用 Zuul 聚合多个微服务的 Swagger 文档
目录使用 Zuul 聚合多个微服务的 Swagger 文档使用 Zuul 聚合多个微服务的 Swagger 文档在 Zuul 中进行聚合操作的原因是不想每次都去访问独立服务的文档,通过网关统一整合这些服务的文档方便使用。在网关中加入 Swagger 的依赖,代码如下所示。<!-- swagger --><dependency> <groupId>io.springfox</groupId> <artifactId&原创 2021-03-29 13:44:02 · 207 阅读 · 1 评论 -
Spring Cloud 学习笔记十四:搭建微服务工程之Swagger 介绍及使用
目录Swagger 介绍及使用Swagger 介绍及使用Swagger 是一个规范且完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口,可以让人和计算机拥有无须访问源码、文档或网络流量监测就可以发现和理解服务的能力。当通过 Swagger 进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger 消除了调用服务时可能会有的猜测。原创 2021-03-26 09:29:56 · 741 阅读 · 0 评论 -
Spring Cloud 学习笔记十三:搭建微服务工程之Spring Boot Admin 监控告警服务
目录Spring Boot Admin 监控告警服务邮件警报钉钉警报Spring Boot Admin 监控告警服务在微服务架构下,服务的数量少则几十,多则上百,所以对服务的监控必不可少。如果是以前的单体项目,启动了多少个项目是固定的,可以通过第三方监控工具对其进行监控,然后实时告警。在微服务下,由于服务数量太多,并且可以随时扩展,这个时候第三方的监控功能就不适用了,不过我们可以通过 Spring Boot Admin 连接注册中心来查看服务状态,这个只能在页面查看。很多时候我们原创 2021-03-25 17:44:05 · 486 阅读 · 1 评论 -
Spring Cloud 学习笔记十三:搭建微服务工程之Spring Boot Admin 集成 Eureka 项目搭建
目录Spring Boot Admin 集成 Eureka 项目搭建Spring Boot Admin 集成 Eureka 项目搭建向 blog-admin-server 中增加 Eureka 的依赖,代码如下所示:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-c原创 2021-03-25 17:39:05 · 182 阅读 · 0 评论 -
Spring Cloud 学习笔记十三:搭建微服务工程之Spring Boot Admin 的介绍及使用
目录Spring Boot Admin 的介绍及使用Spring Boot Admin 的介绍及使用Spring Boot 有一个非常好用的监控和管理的源软件,这个软件就是 Spring Boot Admin。该软件能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。主要的功能点有: 显示应用程序的监控状态 应用程序上下线监控 查看 JVM,线程信息 可视化的查看日志以及下载日志文件原创 2021-03-24 16:03:33 · 218 阅读 · 0 评论 -
Spring Cloud 学习笔记十二:搭建微服务工程之使用 OAuth2 实现认证
目录使用 OAuth2 实现认证什么情况下需要用 OAuth2实现统一认证功能搭建认证服务端创建用户客户端(密码模式)测试认证功能用 JWT 替换 redisTokenOAuth2 授权码模式使用 OAuth2 实现认证OAuth 2 有四种授权模式,分别是授权码模式(authorization code)、简化模式(implicit)、密码模式(resource owner password credentials)、客户端模式(client credentials原创 2021-03-20 20:55:08 · 830 阅读 · 0 评论 -
Spring Cloud 学习笔记十一:搭建微服务工程之基于 JWT 创建统一的认证服务
目录基于 JWT 创建统一的认证服务JWT(Json Web Token)是什么JWT 工具类封装认证接口服务提供方进行调用认证服务消费方申请 TokenFeign 调用前统一申请 Token 传递到调用的服务中RestTemplate 调用前统一申请 Token 传递到调用的服务中Zuul 中传递 Token 到路由的服务中基于 JWT 创建统一的认证服务JWT(Json Web Token)是什么JWT(Json Web Token)是为了在网络应用环境间原创 2021-03-19 14:09:43 · 314 阅读 · 2 评论 -
Spring Cloud 学习笔记十:搭建微服务工程之整合 Zipkin 进行服务跟踪
目录整合 Zipkin 进行服务跟踪Zipkin 数据收集服务项目集成 Zipkin 发送调用链数据过滤不想跟踪的请求用 RabbitMq 代替 Http 发送调用链数据用 Elasticsearch 存储调用链数据整合 Zipkin 进行服务跟踪Zipkin 是 Twitter 的一个开源项目,是一个致力于收集所有服务的监控数据的分布式跟踪系统,它提供了收集数据和查询数据两大接口服务。有了 Zipkin 我们就可以很直观地对调用链进行查看,并且可以很方便地看出服务之间的调用原创 2021-03-18 09:50:11 · 353 阅读 · 0 评论 -
Spring Cloud 学习笔记九:搭建微服务工程之Sleuth 与 ELK(日志分析系统)配合使用
目录Sleuth 与 ELK(日志分析系统)配合使用Sleuth 与 ELK(日志分析系统)配合使用虽然实现了服务调用之间的链路追踪,但是这些日志是分散在各个机器上的,就算出现问题了,我们想快速定位,也得从各个机器把日志整合起来,再去查问题。这个时候就需要引入日志分析系统了,比如 ELK,可以将多台服务器上的日志信息统一收集起来,在出问题的时候我们可以轻松根据 traceId 来搜索出对应的请求链路信息。ELK 由三个组件组成: Elasticsearch 是个开源分布式搜索引擎,原创 2021-03-17 11:23:07 · 343 阅读 · 1 评论 -
Spring Cloud 学习笔记九:搭建微服务工程之使用 Sleuth 在应用中进行日志跟踪
目录使用 Sleuth 在应用中进行日志跟踪使用 Sleuth 在应用中进行日志跟踪首先我们需要在跟踪的服务中集成 Sleuth,所有需要跟踪的服务都加上依赖: <!-- sleuth --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clou原创 2021-03-17 11:19:51 · 126 阅读 · 0 评论 -
Spring Cloud 学习笔记八:搭建微服务工程之Apollo 架构设计介绍
目录Apollo 架构设计介绍Apollo 架构设计介绍Apollo 架构设计流程,具体内容介绍如下:架构设计流程Config Service 服务于 Client(项目中的 Apollo 客户端)对配置的操作,提供配置的查询接口。 提供配置更新推送接口(基于 Http long polling)。 Admin Service服务于后台 Portal(Web 管理端),提供配置管理接口。Meta Server Meta Server 是对 Eur.原创 2021-03-16 09:06:58 · 236 阅读 · 2 评论 -
Spring Cloud 学习笔记八:搭建微服务工程之Apollo 在客户端中使用
目录Apollo 在客户端中使用普通 Java 项目中使用Meta Server 配置AppId 配置Environment 配置监听配置变化事件Spring Boot 中使用Placeholder 注入配置Java Config 使用方式@ConfigurationProperties 使用方式Spring Annotation 支持Apollo 在客户端中使用普通 Java 项目中使用创建一个 module 模块 blog-apollo-na.原创 2021-03-16 08:59:55 · 162 阅读 · 0 评论 -
Spring Cloud 学习笔记八:搭建微服务工程之Apollo Portal 管理后台的使用
目录Apollo Portal 管理后台的使用Apollo Portal 管理后台的使用打开 Portal 地址 http://localhost:8070,首先看到的是登录页面,默认的账号是 apollo,密码是 admin。输入之后点击登录即可跳转到首页。登录页面首页会展示当前登录用户管理的所有项目列表,还有收藏、搜索等功能。控制台点击 SampleApp 可以跳转到项目的主页面。应用主页点击新增配置按钮可以添加单条配置。配置界面批量添加可以使用文本模原创 2021-03-15 14:26:18 · 257 阅读 · 0 评论 -
Spring Cloud 学习笔记八:搭建微服务工程之Apollo 本地部署
目录Apollo 本地部署环境准备下载快速启动安装包初始化数据库修改数据库连接信息启动 Apollo 配置中心Apollo 本地部署为了让大家更快地上手了解 Apollo 配置中心,官方准备了一个快速启动的安装包,能够在几分钟内完成本地环境部署,启动 Apollo 配置中心。本地部署只适用于开发环境,生产环境需要采用分布式部署,教程后面会为大家讲解怎么进行分布式部署。环境准备Apollo 采用 Java 语言开发,部署环境必须安装了 Java,版本要求:Ja.原创 2021-03-15 09:50:47 · 250 阅读 · 0 评论 -
Spring Cloud 学习笔记八:搭建微服务工程之Apollo(分布式配置中心)核心概念及核心功能介绍
目录Apollo(分布式配置中心)核心概念及核心功能介绍Apollo 的核心功能点Apollo 核心概念Apollo(分布式配置中心)核心概念及核心功能介绍Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于 Spring Boot 和 Spring Cloud 开发,打包后可以直接运行,不需要额外安装 Tomcat 等应用容器。原创 2021-03-15 09:13:43 · 243 阅读 · 0 评论 -
Spring Cloud 学习笔记七:搭建微服务工程之Gateway 实战案例
目录Gateway 实战案例限流熔断回退跨域统一异常处理重试机制Gateway 实战案例限流开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。API 网关作为所有请求的入口,请求量大,我们可以通过对并发访问的请求进行限速来保护系统的可用性。目前限流提供了基于 Redis 的实现,我们需要增加对应的依赖,代码如下所示: <!-- redis-reactive --> <dependency> .原创 2021-03-10 09:16:38 · 214 阅读 · 0 评论 -
Spring Cloud 学习笔记七:搭建微服务工程之Gateway 全局过滤器(GlobalFilter)
目录Gateway 全局过滤器(GlobalFilter)Gateway 全局过滤器(GlobalFilter)全局过滤器作用于所有的路由,不需要单独配置,我们可以用它来实现很多统一化处理的业务需求,比如权限认证、IP 访问限制等。接口定义类 org.springframework.cloud.gateway.filter.GlobalFilter,具体代码如下所示:public interface GlobalFilter { Mono<Void> filter(原创 2021-03-10 09:02:27 · 741 阅读 · 0 评论 -
Spring Cloud 学习笔记七:搭建微服务工程之Gateway 过滤器工厂的使用
目录Gateway 过滤器工厂的使用AddRequestHeader 过滤器工厂RemoveRequestHeader 过滤器工厂SetStatus 过滤器工厂RedirectTo 过滤器工厂自定义 Gateway 过滤器工厂Gateway 过滤器工厂的使用GatewayFilter Factory 是 Spring Cloud Gateway 中提供的过滤器工厂。Spring Cloud Gateway 的路由过滤器允许以某种方式修改传入的 HTTP 请求或输出的 HTTP原创 2021-03-09 09:06:26 · 357 阅读 · 0 评论 -
Spring Cloud 学习笔记七:搭建微服务工程之Gateway 的常用路由断言工厂
目录Gateway 的常用路由断言工厂Path 路由断言工厂Query 路由断言工厂Method 路由断言工厂Header 路由断言工厂自定义路由断言工厂Gateway 的常用路由断言工厂Spring Cloud Gateway 内置了许多路由断言工厂,可以通过配置的方式直接使用,也可以组合使用多个路由断言工厂。接下来为大家介绍几个常用的路由断言工厂类。Path 路由断言工厂Path 路由断言工厂接收一个参数,根据 Path 定义好的规则来判断访问的 URI 是.原创 2021-03-08 16:26:21 · 212 阅读 · 1 评论 -
Spring Cloud 学习笔记七:搭建微服务工程之Gateway 整合 Eureka 路由转发
目录Gateway 整合 Eureka 路由转发Gateway 整合 Eureka 路由转发创建一个 module 模块 blog-spring-cloud-gateway,然后添加依赖增加 Spring Cloud Gateway 的依赖,代码如下所示: <!-- spring-gateway --> <dependency> <groupId>org.springframework.cloud&l原创 2021-03-08 16:18:43 · 629 阅读 · 2 评论 -
Spring Cloud 学习笔记七:搭建微服务工程之Gateway 核心概念和工作原理
目录Gateway 核心概念和工作原理Gateway 核心概念和工作原理Spring Cloud Gateway 是 Spring 官方基于 Spring 5.0、Spring Boot 2.0 和 Project Reactor 等技术开发的网关,Spring Cloud Gateway 旨在为微服务架构提供一种简单有效的、统一的 API 路由管理方式。Spring Cloud Gateway 作为 Spring Cloud 生态系中的网关,其目标是替代 Netflix Zuul,它不仅提原创 2021-03-08 16:12:26 · 332 阅读 · 3 评论 -
Spring Cloud 学习笔记六:搭建微服务工程之Zuul 请求响应信息输出
目录Zuul 请求响应信息输出Zuul 请求响应信息输出系统在生产环境出现问题时,排查问题最好的方式就是查看日志了,日志的记录尽量详细,这样你才能快速定位问题。下面带大家学习如何在 Zuul 中输出请求响应的信息来辅助我们解决一些问题。熟悉 Zuul 的朋友都知道,Zuul 中有 4 种类型过滤器,每种都有特定的使用场景,要想记录响应数据,那么必须是在请求路由到了具体的服务之后,返回了才有数据,这种需求就适合用 post 过滤器来实现了。代码如下所示:@Componentpubl原创 2021-03-05 17:14:51 · 457 阅读 · 0 评论 -
Spring Cloud 学习笔记六:搭建微服务工程之查看 Zuul 的路由端点和过滤器信息
目录查看 Zuul 的路由端点和过滤器信息查看 Zuul 的路由端点和过滤器信息当 @EnableZuulProxy 与 Spring Boot Actuator 配合使用时,Zuul 会暴露一个路由管理端点 /routes和一个过滤器端点 /filters。借助这两个端点,可以方便、直观地查看以及管理 Zuul 的路由和过滤器信息。首先在 blog-zuul-gateway 的 pom.xml里添加依赖: <!-- spring actuator -->原创 2021-03-05 17:08:10 · 112 阅读 · 0 评论 -
Spring Cloud 学习笔记六:搭建微服务工程之使用 Zuul 实现容错回退功能、高可用
目录使用 Zuul 实现容错回退功能、高可用容错机制回退机制Zuul 高可用使用 Zuul 实现容错回退功能、高可用Zuul 主要功能就是转发,在转发过程中我们无法保证被转发的服务是可用的,这个时候就需要容错机制及回退机制。容错机制容错,简单来说就是当某个服务不可用时,能够切换到其他可用的服务上去,也就是需要有重试机制。在 Zuul 中开启重试机制需要依赖 spring-retry。首先在 pom.xml 中添加 spring-retry 的依赖,代码如下所示:.原创 2021-03-05 16:37:31 · 206 阅读 · 0 评论 -
Spring Cloud 学习笔记六:搭建微服务工程之Zuul 过滤器介绍及使用(传递数据、拦截请求和异常处理)
目录Zuul 过滤器介绍及使用(传递数据、拦截请求和异常处理)过滤器类型请求生命周期使用过滤器过滤器禁用过滤器中传递数据过滤器拦截请求过滤器中异常处理Zuul 过滤器介绍及使用(传递数据、拦截请求和异常处理)过滤器类型Zuul 中的过滤器跟我们之前使用的 javax.servlet.Filter 不一样,javax.servlet.Filter 只有一种类型,可以通过配置 urlPatterns 来拦截对应的请求。而 Zuul 中的过滤器总共有 4 种类.原创 2021-03-04 09:38:08 · 346 阅读 · 3 评论 -
Spring Cloud 学习笔记六:搭建微服务工程之Zuul 路由配置详解
目录Zuul 路由配置详解指定具体服务路由路由前缀本地跳转Zuul 路由配置详解当 Zuul 集成 Eureka 之后,其实就可以为 Eureka 中所有的服务进行路由操作了,默认的转发规则就是“API 网关地址+访问的服务名称+接口 URI”。在给服务指定名称的时候,应尽量短一点,这样的话我们就可以用默认的路由规则进行请求,不需要为每个服务都定一个路由规则,这样就算新增了服务,API 网关也不用修改和重启了。默认规则举例: API 网关地址:http://localh原创 2021-03-04 09:18:04 · 167 阅读 · 1 评论 -
Spring Cloud 学习笔记六:搭建微服务工程之Zuul 网关的介绍及使用
目录Zuul 网关的介绍及使用Zuul 网关的介绍及使用Zuul 是 Netflix OSS 中的一员,是一个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul 能够与 Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心是过滤器,通过这些过滤器我们可以扩展出很多功能,比如: 动态路由:动态地将客户端的请求路由到后端不同的服务,做一些逻辑处理,比如聚合多个服务的数据返回。 请求监控:可以对整个系统的请求进行监控原创 2021-03-03 10:02:36 · 127 阅读 · 0 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之使用 Turbine 实现集群监控
目录使用 Turbine 实现集群监控使用 Turbine 实现集群监控在实际应用中,单个实例的监控数据没有多大的价值,我们更需要的是一个集群系统的监控信息,这时我们就需要 Turbine。Turbine 是用来监控集群的,通过它来汇集监控信息,并将聚合后的信息提供给 Hystrix Dashboard 来集中展示和监控。Turbine 是聚合服务器发送事件流数据的一个工具。Hystrix 只能监控单个节点,然后通过 dashboard 进行展示。实际生产中都为集群,这个时候我们可以通过原创 2021-03-02 11:31:46 · 219 阅读 · 0 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之使用 Hystrix Dashboard(熔断仪表盘)查看监控数据
目录使用 Hystrix Dashboard(熔断仪表盘)查看监控数据使用 Hystrix Dashboard(熔断仪表盘)查看监控数据Hystrix Dashboard 是一款针对 Hystrix 进行实时监控的工具,通过 Hystrix Dashboard 可以直观地看到各 Hystrix Command 的请求响应时间,请求成功率等数据。在 pom.xml 中添加 dashboard 的依赖,代码如下所示: <!-- hystrix-dashboard --&原创 2021-03-01 14:04:49 · 163 阅读 · 0 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之Hystrix 的实时监控功能
目录Hystrix 的实时监控功能Hystrix 的实时监控功能在微服务架构中,Hystrix 除了实现容错外,还提供了实时监控功能。在服务调用时,Hystrix 会实时累积关于 HystrixCommand 的执行信息,比如每秒的请求数、成功数等。更多的指标信息请查看官方文档:https://github.com/Netflix/Hystrix/wiki/Metrics-and-Monitoring。Hystrix 监控需要两个必备条件:必须有 Actuator 的依赖,代码如原创 2021-03-01 13:53:48 · 497 阅读 · 3 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之Hystrix 缓存与合并请求
目录Hystrix 缓存与合并请求结果缓存缓存清除合并请求Hystrix 缓存与合并请求缓存在开发中经常用到,我们常用 Redis 这种第三方的缓存数据库对数据进行缓存处理。结果缓存在 Hystrix 中也为我们提供了方法级别的缓存。通过重写 getCacheKey 来判断是否返回缓存的数据,getCacheKey 可以根据参数来生成。这样,同样的参数就可以都用到缓存了。改造之前的 MyHystrixCommand,在其中增加 getCacheKey 的重写实现,代.原创 2021-02-26 16:37:41 · 151 阅读 · 1 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之Feign 整合 Hystrix 实现容错处理
目录Feign 整合 Hystrix 实现容错处理Fallback 方式FallbackFactory 方式Feign 中禁用 HystrixFeign 整合 Hystrix 实现容错处理在属性文件中开启 Feign 对 Hystrix 的支持:feign.hystrix.enabled=trueFallback 方式在 Feign 的客户端类上的 @FeignClient 注解中指定 fallback 进行回退:@FeignClient(value = ".原创 2021-02-26 16:23:43 · 100 阅读 · 0 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之使用 Hystrix 实现容错处理
目录使用 Hystrix 实现容错处理使用 Hystrix 实现容错处理创建一个 module 模块,取名为 blog-hystrix-demo,在项目中增加 Hystrix 的依赖,代码如下所示: <!-- spring mvc,etc. --> <dependency> <groupId>org.springframework.boot</groupId> &l原创 2021-02-25 11:11:39 · 161 阅读 · 4 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之Hystrix 资源隔离策略(线程、信号量)
目录Hystrix 资源隔离策略(线程、信号量)信号量策略配置线程隔离策略配置Hystrix 资源隔离策略(线程、信号量)Hystrix 的资源隔离策略有两种,分别为线程池和信号量。那我们为什么需要资源隔离呢?在一个分布式系统中,服务之间都是相互调用的,例如,我们容器(Tomcat)配置的线程个数为 1000,服务 A — 服务 N,其中服务 F 的并发量非常的大,需要 500 个线程来执行,此时,服务 F 又挂了,那么这 500 个线程很可能就夯死了,那么剩下的服务,总共可用的线程原创 2021-02-25 08:59:29 · 346 阅读 · 0 评论 -
Spring Cloud 学习笔记五:搭建微服务工程之Hystrix(熔断器)介绍及使用
目录Hystrix(熔断器)介绍及使用简单使用回退支持Hystrix(熔断器)介绍及使用Hystrix 是 Netflix 针对微服务分布式系统采用的熔断保护中间件,相当于电路中的保险丝。在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止级联失败和提供回退选项来实现这一点,所有这些都可以提高系统的整体弹性。在微服务架构下,很多服务都相互依赖,如果原创 2021-02-24 14:42:01 · 103 阅读 · 1 评论 -
Spring Cloud 学习笔记四:搭建微服务工程之Feign 的自定义配置及使用
目录Feign 的自定义配置及使用日志配置契约配置Basic 认证配置超时时间配置客户端组件配置GZIP 压缩配置编码器解码器配置使用配置自定义 Feign 的配置继承特性多参数请求构造Feign 的自定义配置及使用日志配置有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 的日志了,以此让 Feign 把请求信息输出来。首先定义一个配置类,代码如下所示:@Configurati...原创 2021-02-24 14:31:34 · 564 阅读 · 0 评论 -
Spring Cloud 学习笔记四:搭建微服务工程之使用 Feign 调用服务接口
目录使用 Feign 调用服务接口集成 Feign使用 Feign 调用接口使用 Feign 调用服务接口Feign 是一个声明式的 REST 客户端,它能让 REST 调用更加简单。Feign 供了 HTTP 请求的模板,通过编写简单的接口和插入注解,就可以定义好 HTTP 请求的参数、格式、地址等信息。而 Feign 则会完全代理 HTTP 请求,我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Spring Cloud 对 Feign 进行了封装,使其支持 Spr原创 2021-02-23 14:40:13 · 329 阅读 · 0 评论 -
Spring Cloud 学习笔记三:搭建微服务工程之Ribbon 配置详解
目录Ribbon 配置详解常用配置代码配置 Ribbon配置文件方式配置 Ribbon重试机制Ribbon 配置详解常用配置禁用 Eureka当我们在 RestTemplate 上添加 @LoadBalanced 注解后,就可以用服务名称来调用接口了,当有多个服务的时候,还能做负载均衡。这是因为 Eureka 中的服务信息已经被拉取到了客户端本地,如果我们不想和 Eureka 集成,可以通过下面的配置方法将其禁用。# 禁用 Eurekaribbon.eurek原创 2021-02-22 16:51:59 · 510 阅读 · 0 评论 -
Spring Cloud 学习笔记三:搭建微服务工程之Ribbon 自定义负载均衡策略
目录Ribbon 自定义负载均衡策略Ribbon 自定义负载均衡策略通过实现 IRule 接口可以自定义负载策略,主要的选择服务逻辑在 choose 方法中。下面自定义负载策略,直接返回服务列表中第一个服务,代码如下所示:public class MyRule implements IRule { private ILoadBalancer lb; @Override public Server choose(Object key) {原创 2021-02-22 16:29:31 · 117 阅读 · 0 评论