srpingcloud项目
srpingcloud项目组件的使用方法
@Bean
@LoadBalanced
public RestTemplate restTemplate(){
SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setReadTimeout(15000);//读取超时
requestFactory.setConnectTimeout(5000);//连接超时
return new RestTemplate(requestFactory);
}
ribbon:
ReadTime: 1000 # 单位是ms
ConnectTimeout: 1000 # 单位是ms
service-id: # 一般和Eureka Server上注册的服务名称一致,即与spring.application.name一致
ribbon:
ReadTime: 1000 # 单位是ms
ConnectTimeout: 1000 # 单位是ms
feign:
client:
config:
# 如果写成default,则表示通用配置
feignName:
connectTimeout: 5000 # 单位是ms
readTimeout: 5000 # 单位是ms
hystrix:
command:
<HystrixCommandKey>:
execution:
timeout:
enable: true
isolation:
thread:
timeoutMilliseconds: 1000
其中可在Hystrix Dashboard上看到,若设为default,则表示对所有Hystrix Command统一设置
zuul.host.max-per-route-connections=500
zuul.host.socket-timeout-millis=3000
zuul.host.connect-timeout-millis=500
https://www.cnblogs.com/zhangjianbin/p/7228606.html
认证(Authentication)和授权(Authorization),即你是谁,以及你能做什么。 在单体应用中,开发者可以通过简单的拦截器以及会话(Session)机制对用户的访问进行控制和记录。 在分布式系统中,由于业务逻辑封装各个微服务中,每个微服务都系统需要对用户的行为进行认证和许可, 于是就产生了两种可能方式: 第一种:通过一个中心化的权限管理系统,对用户的身份和权限进行统一的管理,可以做到一次授权,多次多点使用, 但是这个独立的安全微服务需要聚合各个微服务中权限控制逻辑,当添加一个新的基于不同业务逻辑实现的微服务就可能需要 在安全微服务中添加新的实现。 第二种:将安全控制分散到各个微服务中,有各个微服务根据自身的业务对用户的访问进行管理和控制。
它是一个开发的标准,通过紧凑或自包含的方式,定义了用于在各方之间发送的安全JSON对象。它是访问令牌和刷新令牌的载体
它由三部分组成,每部分通过.分割开,分别是: Header(头部)、Payload(有效负荷)、Signature(签名)
提供者不对异常做处理(特殊异常也可以捕获处理),消费者处理服务者的异常,消费者通过Hystrix熔断器来处理。
(1) 重写Feign的错误解码器decode()方法(ErrorDecoder.decode(String methodKey, Response response)):
先导知识:
{"timestamp":1595296761081,"status":500,"error":"Internal Server Error",
"exception":"com.hanxiaozhang.exception.InternalServerException",
"message":"系统繁忙,请稍后重试","path":"/order/1"}
处理:
使用"exception"对应类全限定名反射出该异常类,实例化该异常对象;然后返回该异常对象(详见:FeignClientErrorDecoder.java)。
(2) 在Hystrix的FallbackFactory中,将异常转换成Result类(对外统一响应格式),返回给用户(详见:OrderFeignClientFallbackFactory.java)
使用全局异常处理,详见GlobalExceptionHandler.java。启用时,在Controller上加@EnableGlobalException自定义注解
使用全局异常处理,详见GlobalExceptionHandler.java。启用时,在Controller上加@EnableGlobalException自定义注解
1.自定义error错误页面(ErrorHandlerController.java) 2.禁用zuul默认的异常处理filter(SendErrorFilter),自定义ErrorFilter
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。