SpringAop浅析(二)
介绍
接两年前的旧文SpringAop浅析,时隔两年再一次对SpringAop
相关源码进行分析,只能说之前阅读的不够透彻,理解的不扎实,再加上工作上常年忙于业务的处理,现在已经少有看源码的时间,不过最近不知道是因为什么打了鸡血,还是想再沉淀沉淀。
接两年前的旧文SpringAop浅析,时隔两年再一次对SpringAop
相关源码进行分析,只能说之前阅读的不够透彻,理解的不扎实,再加上工作上常年忙于业务的处理,现在已经少有看源码的时间,不过最近不知道是因为什么打了鸡血,还是想再沉淀沉淀。
我接手的一个服务没有依赖于公司建设项目一体化体系中的认证中心,导致这个服务自身需要支持认证授权模块,由于需求上只需要一个简单的登录模块,所以引入了spring-security
模块来进行认证授权相关处理。早上收到一个测试提出的bug
,服务在使用一段时间不使用后,再操作,会出现警告异常提示。定位问题发现是由于token
失效导致后端校验报错,由于这个校验是在filter
中处理,导致全局异常无法捕获,前端获取的异常结构与标准结构(约定异常体结构<msg,code,info>等)不符,导致前端也无法解析具体异常信息,所以界面上显示的是直接抛出的异常信息。
proxy_pass
是nginx
中常见的反向代理指令。
格式:proxy_pass {传输协议}{主机名}{URI}
http://
或者https://
IP:PORT
URI
:具体的访问地址两种方式都可以直接覆盖yaml
或者properties
配置中的同名配置项。
-D
(包括-X
)表示添加的参数是jvm
虚拟机变量。java
应用中通过System.getProperties("")
获取。--
表示添加的参数是操作系统的环境变量。java
应用中通过System.getEnv("")
获取。-D
参数要放置在-jar
命令之前,--
参数要放置在-jar
命令之后。
java -Dserver.port=8080 -Xms128m -jar –server.name=myApp
可通过jps
命令查看java
应用具体的参数值。
jps -v
:可以查看-D
、-X
参数示例:1 jar -Djava.util.Arrays.useLegacyMergeSort=true -Djava.security.egd=file:/dev/./urandom -Xms128m -Xmx512m
jps -m
:可以查看--
参数示例:1 jar --spring.profiles.active=dev --logging.config=logback-spring.xml
公司内网的服务是通过Rancher
进行编排,Rancher
有V1
和V2
两个版本,都是提供容器调度与编排,在V1
版本中可选不同的编排模式,比如cattle
、swarm
、kubernetes
。所以V1
时代,它给自己的定位是各种编排工具的上层,通过它去管理编排工具。由于k8s
后来发展势不可挡,所以V2
版本诞生,移除了其他类型的编排工具,只剩下k8s
,所以Rancher
的底层是采用k8s
编排,并对其功能进行了一些扩展和提供一些便捷工具,包括执行命令行,管理多个k8s
集群等。