自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大漠知秋的加油站

你就当我的烂笔头吧

  • 博客(40)
  • 资源 (1)
  • 收藏
  • 关注

原创 Zuul 添加 Header

  在网关层添加新的 Header 信息是很常见的,比如天剑唯一id、时间戳等。  如下伪代码添加 Header 头:@Component@Slf4jpublic class ModifyHeaderFilter extends ZuulFilter {...... @Override public Object run() throws ZuulException { ...

2018-10-31 17:29:03 4456

原创 Zuul 使用 OKHttp 替换 HttpClient

引入依赖<!-- OKHttp 支持 --><dependency> <groupId>com.squareup.okhttp3</groupId> <artifactId>okhttp</artifactId></dependency>开启 OKHttp 支持### Ribbo

2018-10-31 17:24:45 3869

原创 Zuul 修改请求体内容

样例代码:/** * @Author:大漠知秋 * @Description:修改请求体内容 * @CreateDate:4:35 PM 2018/10/31 */@Component@Slf4jpublic class ModifyRequestEntityFilter extends ZuulFilter { @Override public String...

2018-10-31 17:19:59 2444

原创 Zuul 上传文件

  Zuul 的上传文件功能是从 Spring Boot 及成果来的,所以直接进行 Spring Boot 的相关配置即可spring: servlet: multipart: # 是否启用分段上传支持,默认:true enabled: true # 最大单个文件大小。值可以使用后缀“MB”或“KB”分别表示兆字节或千字节。默认:1MB ...

2018-10-31 16:22:41 1237

原创 Zuul 基于 Eureka 元数据的弧度发布

文章目录灰度发布概述灰度发布概述  灰度发布,是指在系统迭代新功能时的一种平滑过渡的上线发布方式。灰度发布是在原有系统的基础上,额外增加一个新版本,这个新版本包含我们需要待验证的新功能,随后用负载均衡器引入一小部分流量到这个新版本应用,如果整个过程没有出现任何差错,再平滑地把线上系统或服务一步步替换成新版本,至此完成了一次灰度发布,如下图所示:  这种发布方式由于可以在用户无感知的情况下完...

2018-10-31 16:09:00 1168 2

原创 Zuul Filter

文章目录简介Filter 类型Zuul 原生 Filter简介  Zuul 的核心逻辑是由一系列紧密配合工作的 Filter 来实现的,它们能够在进行 HTTP 请求或者响应的时候执行相关操作。可以说,没有 Filter 责任链,就没有如今的 Zuul,更不可能构成功能丰富的网关。基本上你想要在网关实现的功能都要与 Filter 有关。它是 Zuul 中最为开放与核心的功能。 Zuul Fil...

2018-10-30 17:51:43 18434

原创 Zuul 重试

  在生产环境中,总会因为种种原因(无论是网络、性能等)导致档次请求的失败,这时候就需要使用到重试了,Zuul 可以结合 Ribbon(默认集成)进行重试。引入依赖<dependency> <groupId>org.springframework.retry</groupId> <artifactId>sp

2018-10-30 15:57:13 1367

原创 Zuul 重定向问题

  客户端通过 Zuul 请求认证服务,认证成功之后重定向到一个欢迎页,但是发现重定向的这个欢迎页的 host 变成了这个认证服务的 host,而不是 Zuul 的 host,如下图所示,直接暴露了认证服务的地址,我们可以在配置里面解决掉这个问题。### 网关配置zuul: routes: demo-order: path: /do/** serviceI...

2018-10-30 13:59:08 9582 4

原创 Zuul 不向后端服务传递指定 Headers

### 网关配置zuul: routes: demo-order: path: /do/** serviceId: demo-order stripPrefix: true # 不向后端服务传递的敏感头信息 sensitiveHeaders: Cookie,Set-Cookie,Authorization...

2018-10-30 13:56:15 1965

原创 Zuul 屏蔽服务和指定路径

  有时我们的一些后端服务并不想暴露出去,我们可以通过屏蔽服务或者路径的方式来进行实现:### 网关配置zuul: routes: demo-order: path: /do/** serviceId: demo-order stripPrefix: true # 忽略的服务,有些后端服务是不需要让网管代理的,防止服务侵入 ignored...

2018-10-30 13:54:44 1993

原创 Zuul 路由前缀

  给被 Zuul 代理的服务添加统一的前缀:### 网关配置zuul: routes: # 使用 prefix 添加前缀 prefix: /pre demo-order: path: /do/** serviceId: demo-order  这样访问网关的时候实际就是:/pre/do/add,实际代理到后端服务的请求路径是:/do/add...

2018-10-30 13:52:22 4017 2

原创 Zuul 路由配置

文章目录单实例 serviceId 映射单实例 url 映射使用 Ribbon 的负载均衡路由forward 本地跳转路径映射规则加载顺序通配符单实例 serviceId 映射详细配置### 网关配置zuul: # 路由信息配置 routes: # 针对某个服务的配置,可自定义 demo-order: # 访问的路径,此处要以 '/do/' 开头 ...

2018-10-30 13:44:22 5506 1

原创 Zuul 入门

文章目录功能简介  Zuul is the front door for all requests from devices and web sites to the backend of the Netflix streaming application.  Zuul 是从设备和网站到后端应用程序所有请求的前门,为内部服务提供可配置的对外 URL 到服务的映射关系,基于 JVM 的后端路由...

2018-10-30 11:09:42 562

原创 Spring Boot Admin 使用

文章目录服务端客户端  Spring Boot Admin 主要是用来监控基于 Spring Boot 的项目,在 Actuator 的基础上封装了一层 UI。  相应的也提供了许多功能,如:服务监控、日志级别管理、运行信息查看、环境参数配置等。服务端引入依赖<!-- Spring Cloud Admin Server --><dependency> ...

2018-10-29 17:40:42 2403 1

原创 Hystrix 配置说明

文章目录配置参数Hystrix 线程调整配置参数  Hystrix 配置项比较多,下面整理了一下常用的一些配置配置项默认值推荐值说明feign.hystrix.enabled高版本中:falsetrue是否开启 Hystrix 对 Feign 的支持hystrix.command.default.execution.isolation.strategy...

2018-10-29 16:27:17 424

原创 Hystrix 异常处理机制

文章目录错误类型错误信息获取错误类型  Hystrix 的异常处理中,有5种出错的情况下会被 fallback 所截获,从而触发 fallback,这些情况是:FAILURE:执行失败,抛出异常。TIMEOUT:执行超时。SHORT_CIRCUITED:断路器打开。THREAD_POOL_REJECTED:线程池拒绝。SEMAPHORE_REJECTED:信号量拒绝。  有一种...

2018-10-29 15:21:36 3106

原创 Hystrix Turbine

  Hystrix Dashboard 在集群环境下的作用基本上可以忽略,所以需要一种方式来聚合整个集群下的监控状况,Turbine就是用来聚合所有相关的 hystrix.stream 流的解决方案,最后在 Hystrix Dashboard 中显示出来。...

2018-10-29 15:02:40 480

原创 Hystrix Dashboard

文章目录简介搭建工程要点记录简介  Hystrix Dashboard 仪表盘是根据系统一段时间内发生的请求情况来展示的可视化面板,这些信息是每个 HystrixCommand 执行过程中的信息,这些信息是一个指标集合和具体的系统运行情况。搭建工程  这里在原有的基础上新建一个 Hystrix Dashboard 工程。引入依赖<!-- Spring Cloud Hystr...

2018-10-29 14:12:19 1439

原创 Hystrix 入门

文章目录简介简介  官方是这么说的:  Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable re...

2018-10-29 11:01:38 166

原创 Ribbon 脱离 Eureka 进行负载

在一些特殊的情况下,我们可能并不希望 Ribbon 直接使用 Eureka 的注册列表进行负载,想要手动指定一个或者多个注册服务,从而使用另外的一个或者多个注册列表进行负载。先禁用 Ribbon 的 Eureka 功能:### Ribbon 配置ribbon: # Eureka 配置 eureka: # 禁止使用 Eureka enabled: false...

2018-10-26 23:01:41 1215

原创 Ribbon 饥饿加载

  Ribbon 在进行客户端负载均衡的时候并不是在启动时就加载上下文,而是在实际请求的时候才去创建,因此这个特性往往会让我们的第一次调用显得颇为疲软乏力,严重的时候会引起调用超时。所以我们可以通过指定 Ribbon 具体的客户端的名称来开启饥饿加载,即在启动的时候便加载所有配置项的应用程序上下文。  如下是在未开启饥饿加载时,第一次请求会打印的日志:开启 Ribbon 饥饿加载方式:...

2018-10-26 17:50:27 2198

原创 Ribbon 超时与重试

  在 Spring Cloud Finchley 版 Ribbon 的重试机制是默认开启的,默认重试一次。针对单个服务的重试与超时配置:### 针对单个服务的 Ribbon 配置demo-goods: ribbon: # 基于配置文件形式的 针对单个服务的 Ribbon 负载均衡策略 NFLoadBalancerRuleClassName: com.netfli...

2018-10-26 17:44:23 6667

原创 Ribbon 负载均衡策略配置

文章目录Ribbon 的负载均衡策略全局策略设置增加 Ribbon 负载均衡策略配置类基于注解的针对单个服务的 Ribbon 负载均衡策略注解方式配置文件方式  这个负载策略配置说白了就是让 Ribbon 这个客户端负载均衡器怎么进行访问服务提供者列表。是轮流访问?随机访问?权重?等。Ribbon 的负载均衡策略策略类命名说明RandomRule随机策略随机选择 S...

2018-10-26 10:51:45 11178 2

原创 Ribbon 入门

文章目录Ribbon 简介入门案例引入依赖在启动类中注入配置编写 ControllerRibbon 简介  Ribbon 是一个客户端负载均衡器(Nginx 为服务端负载均衡),它赋予了应用一些支配 HTTP 与 TCP 行为的能力,可以得知,这里的客户端负载均衡也是进程内负载均衡的一种。它在 Spring Cloud 生态内是一个不可缺少的组件,少了它,服务便不能横向扩展,这显然是有违云原生...

2018-10-25 18:14:51 783

原创 Feign Client 第一次请求超时

  有时,在项目启动之后,第一次进行 Feign 请求时,会超时。这是因为,Hystrix 开启之后的默认超时时间是 1 秒,如果在这一秒内还没有做出响应那么就会超时,进入 fallback 代码。由于 Bean 装配和懒加载机制等,Feign 在首次请求的时候相对较慢。下面三种方法可以解决 1 秒问题:将 Hystrix 的超时时间调高,如:### Hystrix 配置hystrix:...

2018-10-25 17:25:21 6932

原创 Feign Client Upload File

  早期的 Feign 是不支持文件上传的,后来支持了,但是有部分缺陷,需要一次性读取到内存中再编码发送。引入 Feign Client 文件上传依赖<!-- Feign Client 上传文件支持 --><dependency> <groupId>io.github.openfeign.form</groupId&g

2018-10-25 15:56:45 1913

原创 Feign GET 多参数传递

  Spring MVC 是支持 GET/POST 多参数传递的,但是 Feign 并没有实现所有的 Spring MVC 的功能,暂时是不支持 GET 的 POJO 传递方法。一般的解决办法有一下三种:把 POJO 拆散成一个一个单独的属性放在方法参数里。把方法参数变成 Map 传递。使用 GET 传递 @Requestbody,但此方式违反 RESTFul 规范。  以上三种方法...

2018-10-25 15:13:42 11314

原创 Feign 默认 Client 替换

文章目录使用 HTTP Client 替换掉 Feign 默认 Client使用 OKHttp 替换掉 Feign 默认 Client  Feign 在默认情况下使用的是 JDK 原生的 URLConnection 发送HTTP请求,没有连接池,但是对每个地址会保持一个长连接,即利用 HTTP 的 persistence connection。我们可以用 Apache 的 HttpClient...

2018-10-25 14:10:28 7880

原创 Feign Client 超时配置

文章目录Ribbon 超时配置Hystrix 超时配置开启 Hystrix  Feign 其实是一种包装,把复杂的 Http 请求包装成我们只需写一两个注解就可以搞定的地步。他底层使用的还是 Ribbon。  Feign 的调用,总共分为两层,即 Ribbon 的调用和 Hystrix(熔断处理) 的调用,高版本的 Hystrix 默认是关闭的。Ribbon 超时配置  如果出现上图...

2018-10-24 18:28:01 28902 2

原创 Feign Client Logger Configuration

文章目录针对每一个 Feign 配置日志级别增加 Logger.Level Bean针对每一个 Feign 配置日志级别### Feign Logger Level 配置logging: level: # 此处要将对应 Feign 的日志界别设置成 DEBUG,因为 Feign 的 Logger.Level 只对 DEBUG 作出响应 com.lynchj.demoorder...

2018-10-24 17:16:26 1923 1

原创 Feign 开启 GZIP 压缩

  Spring Cloud Feign 支持对请求和响应进行GZIP压缩,以提高通信效率。注意:Spring Cloud 版本:Finchley.RELEASE配置文件新增### Feign 配置feign: compression: request: # 开启请求压缩 enabled: true # 配置压缩的 MIME TYPE...

2018-10-24 15:19:08 5630

原创 Feign 基本使用

文章目录Feign 概述什么是 FeignFeign 入门案例引入依赖Feign 接口编写Controller结果Feign 工作原理@FeignClient 注解  在开发 Spring Cloud 微服务的时候,我们知道,服务之间都是以 HTTP 接口的形式对外提供服务的,因此消费者在进行调用的时候,底层就是通过 HTTP Client 的这种方式进行访问。当然我们可以使用JDK原生的 U...

2018-10-24 15:07:32 62431 6

原创 Eureka 常见故障

文章目录Eureka Server 全部不可用Eureka Client 启动前 Eureka Server 全部不可用Eureka Client 运行时 Eureka Server 不可用Eureka Server 部分不可用Client 端Server 端Eureka Server 全部不可用Eureka Client 启动前 Eureka Server 全部不可用  如果 Eureka...

2018-10-24 13:45:07 4978

原创 Eureak 开启 HTTPS

文章目录

2018-10-23 18:17:08 425

原创 Eureka 开启 HTTP Basic 认证

文章目录Eureka Server 配置引入依赖增加 Spring Security 配置类增加配置信息  在真正的生产环境中,我们最不能忽视的就是安全问题,我们的 Eureka Server 是有自己的一套 REST API 服务的,如果不进行认证的话,岂不是知道的人就能进行注册操作?进行下线操作?Eureka Server 配置引入依赖  要启用 Eureka Server 的安全...

2018-10-23 15:13:23 1026

原创 Eureka Server 高可用

文章目录

2018-10-23 14:07:25 900

原创 Eureka 参数调优

文章目录

2018-10-22 18:45:34 9828 3

原创 Eureka 的设计理念

文章目录概述服务实例如何注册到服务中心服务实例如何从服务中心剔除服务实例信息的一致性问题AP 优于 CPPeer to Peer 架构主从复制对等复制客户端服务端SELF PRESERVATION 设计概述  作为一个服务注册以及发现中心,需要解决很多问题。服务实例如何注册到服务中心  本质上就是在服务启动的时候,需要调用 Eureka Server 的 REST API 的 regi...

2018-10-22 17:41:35 706

原创 Eureka Server REST API

文章目录REST API 介绍REST API 实战查询所有应用实例根据 AppId 查询根据 AppId 及 instanceId 查询根据 instanceId 查询注册新应用实例注销应用实例暂停/下线应用实例恢复应用实例应用实例发送心跳修改应用实例元数据REST API 介绍  Eureka 在 GitHub 的 wiki 上专门写了一篇《 Eureka REST operations》...

2018-10-22 15:29:59 17323 4

原创 Eureka 入门

文章目录简介Eureka服务发现的技术选型案例1. 创建父级工程2. 创建 Eureka Server Module3. 创建 Eureka Client简介Eureka  Eureka 是 Netfix 公司开源的一款服务发现组件,该组件提供的服务发现可以为负载均衡、Failover 等提供支持,如下图所示。Eureka 包括 Eureka Server 及 Eureka Client。E...

2018-10-22 13:44:46 524

DOSBox+0.74.3+win32

DOSBox+0.74.3+win32

2022-05-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除