干货满满张哈希
  • 76
    文章
  • 1
    专栏
  • 37294
    访问
  • 7
    粉丝
  • 7
    关注
  • 18
    获赞

干货满满张哈希 等级

男 | 后台 Leader | 网易
Mycat和javajfrunit的核心贡献者,贡献过OpenJDK,Spring Cloud. Bookeeper 等
  • 最新发表
  • 最多访问
  • 最多收藏
  • 最多评论
SpringCloud升级之路2020.0.x版-45. 实现公共日志记录

本系列代码地址:https://github.com/JoJoTec/springcloudparent我们这一节在前面实现的带有链路信息的 Publisher 的工厂的基础上,实现公共日志记录的 GlobalFilter。回顾下我们的需求:我们需要在网关记录每个请求的: HTTP 相关元素: URL 相关信息 请求信息,例如 HTTP HEA

506
0
0
SpringCloud升级之路2020.0.x版-44.避免链路信息丢失做的设计(2)

本系列代码地址:https://github.com/JoJoTec/springcloudparent我们在这一节我们将继续讲解避免链路信息丢失做的设计,主要针对获取到现有 Span 之后,如何保证每个 GlobalFilter 都能保持链路信息。首先,我们自定义 Reactor 的核心 Publisher 即 Mono 和 Flux 的工厂,将链路信息封

257
0
0
SpringCloud升级之路2020.0.x版-44.避免链路信息丢失做的设计(1)

本系列代码地址:https://github.com/JoJoTec/springcloudparent我们在这一节首先分析下 Spring Cloud Gateway 一些其他可能丢失链路信息的点,之后来做一些可以避免链路信息丢失的设计,之后基于这个设计去实现我们需要的一些定制化的 GlobalFilter Spring Cloud Gateway 其他的

45
0
0
SpringCloud升级之路2020.0.x版-43.为何 SpringCloudGateway 中会有链路信息丢失

本系列代码地址:https://github.com/JoJoTec/springcloudparent在开始编写我们自己的日志 Filter 之前,还有一个问题我想在这里和大家分享,即在 Spring Cloud Gateway 中可能发生链路信息丢失的问题。 主要冲突 Project Reactor 与 Java Logger MDC 之间的设计冲突P

76
0
0
SpringCloud升级之路2020.0.x版-42.SpringCloudGateway 现有的可供分析的请求日志以及缺陷

本系列代码地址:https://github.com/JoJoTec/springcloudparent网关由于是所有外部用户请求的入口,记录这些请求中我们需要的元素,对于线上监控以及业务问题定位,是非常重要的。并且,在这些元素中,链路信息也是非常重要的。通过链路信息,我们可以找到请求调用全链路相关的日志。并且,网关也是大部分请求链路起始的地方,记录请求中的

48
0
0
SpringCloud升级之路2020.0.x版-41. SpringCloudGateway 基本流程讲解(2)

本系列代码地址:https://github.com/JoJoTec/springcloudparent我们继续分析上一节提到的 WebHandler,经过将请求封装成 ServerWebExchange 的 HttpWebHandlerAdapter 之后,请求会经过 ExceptionHandlingWebHandler 全局 Web 处理异常处理器的接

52
0
0
SpringCloud升级之路2020.0.x版-41. SpringCloudGateway 基本流程讲解(1)

本系列代码地址:https://github.com/JoJoTec/springcloudparent接下来,将进入我们升级之路的又一大模块,即网关模块。网关模块我们废弃了已经进入维护状态的 zuul,选用了 Spring Cloud Gateway 作为内部网关。为何选择 Spring Cloud Gateway 而不是 nginx 还有 Kong 的原

60
0
0
SpringCloud升级之路2020.0.x版-40. spock 单元测试封装的 WebClient(下)

本系列代码地址:https://github.com/JoJoTec/springcloudparent我们继续上一节,继续使用 spock 测试我们自己封装的 WebClient 测试针对 readTimeout 重试针对响应超时,我们需要验证重试仅针对可以重试的方法(包括 GET 方法以及配置的可重试方法),针对不可重试的方法没有重试。我们可以通过 sp

58
0
0
SpringCloud升级之路2020.0.x版-40. spock 单元测试封装的 WebClient(上)

本系列代码地址:https://github.com/JoJoTec/springcloudparent我们来测试下前面封装好的 WebClient,这里开始,我们使用 spock 编写 groovy 单元测试,这种编写出来的单元测试,代码更加简洁,同时更加灵活,我们在接下来的单元测试代码中就能看出来。 编写基于 spock 的 springboot con

47
0
0
SpringCloud升级之路2020.0.x版-39. 改造 resilience4j 粘合 WebClient

本系列代码地址:https://github.com/JoJoTec/springcloudparent要想实现我们上一节中提到的: 需要在重试以及断路中加一些日志,便于日后的优化 需要定义重试的 Exception,并且与断路器相结合,将非 2xx 的响应码也封装成特定的异常 需要在断路器相关的 Operator 中增加类似于 FeignClient

57
0
0