包含标签 微服务 的文章

Zuul源码分析(2)Filter分析

前言

前一篇文件中我们分析了zuul对Filter请求了不同的阶段划分了多个生命周期即FilterType。接下来我们继续分析每一个FilterType的具体的Filter有哪些,他们都干了什么。

ZuulFilters运行流程图

  • 前面我们分析完了zuul的一个生命周期,下面我们在来仔细的看一下每个生命周期具体使用到的Filter
……

阅读全文

Zuul源码分析(1)生命周期

前言

  • Zuul在Spring Cloud Netfilx 体系中扮演着接入者网关的角色。
  • 本质上来说Zuul本身就是一系列的filters, 可以类比Servlet框架的Filter。按照生命周期我们可以分为四种类型(pre,route,post,err)分别对应请求过程。你可以从com.netflix.zuul.FilterProcessor类里面找到所有的生命周期处理。
  • 为什么我们要去了解它?比如我们想在网关统一对用户进行鉴权,进行JWT的解析和参数转换,比如我们想实现自己的httpClient,再比如我们想在后端业务微服务返回的结果内进行一些特别的处理,比如脱敏啊,比如去掉一些字段啊。
……

阅读全文

记SpringCloud 1.X 升级到2.x

前言

  • 前后花了两周多个时间完成了 Spring Boot 1.5.6.RELEASE & Spring Cloud Dalston.SR4 升级到 Spring Boot 2.0.6.RELEASE & Spring Cloud Finchley.SR2 & spring-cloud-netflix 2.0.2.RELEASE 的工作。
  • 总结一下遇到的一些问题
……

阅读全文

如何构建springcloud微服务中的异常处理体系

需求

  • 对于我们的任何系统而言一般分为正常的业务流程和异常业务流程
  • 我们希望业务在编写正常的业务逻辑的时候,无需去考虑处理异常的业务流程,异常对于正常的业务是完全分离的,透明的。
  • 我们希望前端也能有一套异常处理体系(在前后端分离下尤为重要)

目标

  • 搭建异常处理体系流程,统一的进行异常的管理和对应的处理(包括前后端)
  • 利用spring提供的全局异常处理器完成后端的server异常统一处理
  • 利用zuul的ErrorFilter统一处理网关相关异常
  • 利用Feign对异常的处理方式,及其扩展,完成服务调服务(S2S)时候异常透明的传递。
  • 利用dvs 的 app.use 方法注册自己的全局异常处理器插件,完成前端的异常流程体系
……

阅读全文

如何构建SpringBoot的Docker镜像

目标

  • 自定义Dockerfile构建一个生产可用的jre base image
  • 配置maven-docker-plugin插件完成从源码的 打包fatjar -> build docker image with fatjar -> push image
  • 支持docker对JVM相关参数的配置。比如Xmx,Xms,以及完全自定义的java启动参数。
……

阅读全文