- 博客(6)
- 收藏
- 关注
原创 Ribbon对于SocketTimeOutException重试的坑以及重试代码解析
背景本文基于Spring-Cloud, Daltson SR4微服务一般多实例部署,在发布的时候,我们要做到无感知发布;微服务调用总会通过Ribbon,同时里面会实现一些重试的机制,相关配置是:#最多重试多少台服务器ribbon.MaxAutoRetriesNextServer=2#每台服务器最多重试次数,但是首次调用不包括在内ribbon.MaxAutoRetries=1在发布时,为了适应E
2017-12-26 21:00:47 26054 18
原创 spring feign http客户端连接池配置以及spring zuul http客户端连接池配置解析
背景一般在生产项目中, Feign会使用HTTP连接池而不是默认的Java原生HTTP单路由单长连接;而是使用连接池。Zuul直接使用Ribbon的Http连接池;Feign和网关Zuul的RPC调用,实际上都是HTTP请求。HTTP请求,如果不配置好HTTP连接池参数的话,会影响性能,或者造成堆积阻塞,对于其中一个微服务的调用影响到其他微服务的调用。源代码类比解析本文基于Spring Cloud
2017-12-08 16:04:55 16197 8
原创 Zuul监控Endpoint过滤
Spring Cloud Actuator有很多监控接口,但是当我们在zuul上面配置了类似于/**的映射后,这些监控接口也会被转发,避免这种情况,加入配置:zuul.ignoredPatterns = /info,/loggers,/metrics,/health,/mappings,/beans,/dump,/heapdump,/env,/configprops,/trace,/loadBala
2017-12-21 21:28:25 6192 1
原创 Spring @Conditional相关
最本质的需求是根据条件加载Bean。 Spring4 提供了实现方案 — @Conditional ,可以通过条件判断创建 Bean 。示例:// java config@Configurationpublic class TestBeanConfig { // 根据条件创建, 条件写在TestConditional类里 @Bean @Conditional(TestCon
2017-12-21 21:27:24 4148
原创 Redis巧用合集
Redis批量删除某个规则的keyredis-cli -h redis.host -p 6379 keys "key:*" |xargs redis-cli -h redis.host -p 6379 del
2017-12-19 22:05:44 4090
转载 HTTP Keep-Alive是什么?如何工作?
HTTP Keep-Alive在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd服务器的吞吐率(更少的tcp连
2017-12-08 11:05:55 4302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人