
Spring Cloud
低调的杉菜
这个作者很懒,什么都没留下…
展开
-
Spring Cloud 参数
encrypt说明名称 默 认 描述 encrypt.fail-on-error true 标记说,如果存在加密或解密错误,进程将失败。 encrypt.key 对称密钥。作为一个更强大的替代方案,考虑使用密钥库。 encrypt.key-store.al...转载 2019-04-24 14:27:28 · 264 阅读 · 0 评论 -
Spring Cloud Feign 性能优化
关键字:com.netflix.hystrix.exception.HystrixRuntimeException; timeout; could not be queued for execution看到的暂时不知道性能如何1、替换 tomcat首先,把 tomcat 换成 undertow,这个性能在 Jmeter 的压测下,undertow 比 tomcat 高一倍第一步,p...转载 2019-07-03 18:37:17 · 593 阅读 · 0 评论 -
Hystrix线程隔离技术解析-线程池(转)
https://github.com/rubberbox/isolation-threadpool先看一下认识HystrixHystrix是Netflix开源的一款容错框架,包含常用的容错方法:线程隔离、信号量隔离、降级策略、熔断技术。在高并发访问下,系统所依赖的服务的稳定性对系统的影响非常大,依赖有很多不可控的因素,比如网络连接变慢,资源突然繁忙,暂时不可用,服务脱机等。我们要构建...转载 2019-07-09 16:11:28 · 277 阅读 · 0 评论 -
spring coud Feign常用配置
Ribbon配置在Feign中配置Ribbon非常简单,直接在application.properties中配置即可,如:# 设置连接超时时间ribbon.ConnectTimeout=500# 设置读取超时时间ribbon.ReadTimeout=5000# 对所有操作请求都进行重试ribbon.OkToRetryOnAllOperations=true# 切换实例的重试次...原创 2019-07-05 09:54:34 · 159 阅读 · 0 评论 -
Hystrix熔断
Hystrix熔断 熔断其实是在降级的基础上引入了重试的机制。当某个时间内失败的次数达到了多少次就会触发熔断机制,具体的流程如下案例演示1.创建项目 创建一个普通的SpringCloud项目2.导入依赖 在基础依赖之外我们只需要导入Hystrix的依赖即可<dependency> <groupId>org.springfr...转载 2019-07-23 16:40:20 · 204 阅读 · 0 评论 -
限流
限流==保险丝策略,可借助框架如spring cloud中Hystrix组件实现。今天介绍使用guava RateLimiter 类实现接口限流。常见限流算法漏桶算法 漏桶(Leaky Bucket)算法思路很简单,水(请求)先进入到漏桶里,漏桶以一定的速度出水(接口有响应速率),当水流入速度过大会直接溢出(访问频率超过接口响应速率),然后就拒绝请求,可以看出漏桶算法能强行限制数...转载 2019-07-12 16:32:25 · 128 阅读 · 0 评论 -
Sleuth+Zipkin服务追踪
服务追踪Spring Cloud Sleuth实现了一种分布式的服务链路跟踪解决方案,通过使用Sleuth可以让我们快速定位某个服务的问题。官方文档地址如下:http://cloud.spring.io/spring-cloud-static/spring-cloud-sleuth/2.0.1.RELEASE/single/spring-cloud-sleuth.html一些概...原创 2019-08-28 11:24:59 · 6301 阅读 · 0 评论 -
Spring Boot Admin 集成自定义监控告警------钉钉机器人
1.本文基于 Spring Boot Admin 2.0.1 和1.5.7版本有所出入,通过查看别的集成源码,新增集成钉钉机器人2.钉钉自定义机器人,参考文档 https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.64Ddtm&treeId=257&articleId=105735&docType...原创 2019-08-28 15:56:35 · 2515 阅读 · 3 评论 -
Spring Cloud Feign 性能优化
网上看到的,到底性能如何暂时不知道,暂时先存一下,之后会测试一下关键字:com.netflix.hystrix.exception.HystrixRuntimeException; timeout; could not be queued for execution1、替换 tomcat首先,把 tomcat 换成 undertow,这个性能在 Jmeter 的压测下,undertow...转载 2019-06-27 18:03:54 · 2575 阅读 · 0 评论 -
eureka 的几种主动下线服务的方式
1. 直接停掉服务。默认情况下,如果Eureka Server在90秒没有收到Eureka客户的续约,它会将实例从其注册表中删除。但这种做法的不好之处在于, 客户端已经停止了运行,但仍然在注册中心的列表中。 虽然通过一定的负载均衡策略或使用熔断器可以让服务正常进行,但有没有方法让注册中心马上知道服务已经下线呢?2.为了让注册中心马上知道服务要下线, 可以向eureka 注册中心发送del...转载 2019-07-08 18:56:01 · 2864 阅读 · 0 评论 -
Eureka客户端注册多网卡下IP选择问题
在使用Spring Cloud多人协作开发时有一个场景:我本机启动了Eureka注册中心,其他人机器需要将服务注册到我本机的Eureka。(服务端和客户端在不同机器上) 这时出现了一个问题:服务成功注册到Eureka,但是该服务接口无法访问。 查看日志:gateway下的日志显示服务找不到。 查找问题:尝试telnet该服务的IP地址,发现网络不通。为了确认IP地址无误,找到...转载 2019-07-02 11:46:45 · 1155 阅读 · 0 评论 -
使用 http 请求方式获取 eureka server的服务信息
对于一些系统不能接入 eureka server,又需要访问接入eureka server 的服务。方法一:直接调用服务的地址是一种实现方式,弊端就是地址是写死的,万一服务地址变更则访问不到。方法二:通过访问 eureka server,发现已经注册的服务地址。然后访问提供服务的主机。在此主要说明一下如何获取注册在 eureka server 上的服务信息。可以通过 htt...转载 2019-05-16 09:32:51 · 1735 阅读 · 1 评论 -
Eureka-Client 向 Eureka-Server 获取全量注册信息
本文主要基于 Eureka 1.8.X 版本1. 概述 2. Eureka-Client 发起全量获取 2.1 初始化全量获取 2.2 定时获取 2.3 刷新注册信息缓存 2.4 发起获取注册信息 3. Eureka-Server 接收全量获取 3.1 接收全量获取请求 3.2 响应缓存 ResponseCache 3.3 缓存读取 3.4 主动过期读写缓存...转载 2019-05-17 15:30:24 · 990 阅读 · 0 评论 -
Eureka-Client 向 Eureka-Server 获取增量注册信息
1. 概述本文主要分享 Eureka-Client 向 Eureka-Server 获取增量注册信息的过程。前置阅读:《Eureka 源码解析 —— 应用实例注册发现(六)之全量获取》FROM 《深度剖析服务发现组件Netflix Eureka》Eureka-Client 获取注册信息,分成全量获取和增量获取。默认配置下,Eureka-Client 启动时,首先执行一次全量...转载 2019-05-17 15:33:54 · 1185 阅读 · 0 评论 -
Spring Cloud Config Client 超时与重试
简介有时客户端需要在 config server 无响应时进行重试,以给 config server 时间进行恢复。利用 spring 提供的重试组件,我们可以方便的配置重试机制,包括重试间隔,重试次数等。项目源码Gitee码云为 web 项目添加依赖开启客户端重试功能需要两个新依赖,spring-retry 和 spring-boot-starter-aop,把如下代码...转载 2019-06-14 16:03:24 · 341 阅读 · 0 评论 -
Eureka配置参数
Eureka涉及到的参数配置项数量众多,它的很多功能都是通过参数配置来实现的,了解这些参数的含义有助于我们更好的应用Eureka的各种功能,下面对Eureka的配置项做具体介绍,供大家参考。 Eureka客户端配置 1、RegistryFetchIntervalSeconds 从eureka服务器注册表中获取注册信息的时间间隔(s),默认为30秒 ...原创 2019-06-20 09:18:19 · 823 阅读 · 0 评论 -
SpringCloud服务发现组件Eureka常见问题汇总
一.注册服务慢1.背景默认情况下,服务启动后,需要注册到Eureka Server上。但是在开发过程中发现,服务注册到Eureka Server的速度较慢。因此,在开发过程中希望缩短服务的注册时间以提高工作效率。2.原因服务注册涉及到周期性心跳,默认30秒一次。只有当实例,服务器端和客户端的本地缓存中的元数据都相同时,服务才能被其他客户端发现(所以可能需要3次心跳)。原理如下图所示:因此...转载 2019-06-20 10:17:53 · 1575 阅读 · 0 评论 -
Eureka 公网分布式部署
《server》 eureka: client: registerWithEureka: false #false:不作为一个客户端注册到注册中心 fetchRegistry: false #为true时,可以启动,但报异常:Cannot execute request on any known serve...转载 2019-06-18 14:52:50 · 689 阅读 · 0 评论