包含标签 微服务 的文章
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启动参数。