面试总结day3:springboot多环境配置、如何优雅的停止线程、gateway作用应用场景
1.springboot多环境配置
application-dev.properties:开发环境
application-test.properties:测试环境
application-uat.properties:验收环境
application-prod.properties:生产环境
spring.profiles.active=进行指定
2.springboot如何优雅的停止线程
1.正常运行结束
2.stop结束
3.interpret结束
4.使退出标志退出线程
3.gateway作用以及应用场景
1.鉴定权限
在gateway的拦截器中拦截到请求后,对请求进行权限验证,
1)、判断该接口是否携带token的请求头信息
String token = exchange.getRequest().getHeaders().getFirst(“Authorization”);
2)、如果没有则跳去登录页面进行 登录获取token信息,如果有则开始校验token信息
3)、传入token与请求路径,根据token去redis中获取登录信息包括手机号姓名等一些基本信息,再根据手机号去redis中当做key去获取相关权限信息
4)、如果同个账号多次登录则会在redis中手机号码对应的value会更新token的值(手机号对应的value是hash类型。)
5)、如果接口权限包含请求路径则放行
2.路由
gateway根据路由与断言去转发请求到指定的服务,gateway服务中的配置文件中配置
3.灰度发布、限流
每秒钟一次请求http://127.0.0.1:8080/product-service/payment/get/1?userId=11 没问题,如果连续每秒钟多次请求改地址,则部分请求会出现返回429错误码。