![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud
艾伦Allen
Allen
展开
-
Spring Cloud构建微服务架构:服务网关(基础)
通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示:alt我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用多环境的外部化配置以及版本管理。为了使得服务...转载 2019-11-03 23:52:35 · 156 阅读 · 0 评论 -
Spring Cloud中,如何解决Feign/Ribbon第一次请求失败的问题?
Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢造成该问题的原因Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(由于Ribbon是懒加载的,在首次请求时,才会开始初始化相关类),这个响应时间可能就大于1秒了。知道原因后,我们来总结一下解决方案。以...转载 2019-10-28 09:13:13 · 197 阅读 · 0 评论 -
Spring Cloud之RestTemplate和Feign的使用
介绍在Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign,feign注解化更方便使用。 ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为。Feign默认集成了ribbon。RestTemplate中 @LoadBalanced表明这个restRemplate开启负载均衡的功能。Feign1,添加依赖&l...转载 2019-10-27 20:03:12 · 1290 阅读 · 0 评论 -
Spring Cloud构建微服务架构:Hystrix监控面板
在上一篇《服务容错保护(hystrix断路器)》的介绍中,我们提到断路器是根据一段时间窗内的请求情况来判断并操作断路器的打开和关闭状态的。而这些请求情况的指标信息都是HystrixCommand和HystrixObservableCommand实例在执行过程中记录的重要度量信息,它们除了Hystrix断路器实现中使用之外,对于系统运维也有非常大的帮助。这些指标信息会以“滚动时间窗”与“桶”结合的方...转载 2019-10-27 20:03:41 · 148 阅读 · 0 评论 -
Spring Cloud构建微服务架构:Hystrix监控数据聚合
上一篇我们介绍了使用Hystrix Dashboard来展示Hystrix用于熔断的各项度量指标。通过Hystrix Dashboard,我们可以方便的查看服务实例的综合情况,比如:服务调用次数、服务调用延迟等。但是仅通过Hystrix Dashboard我们只能实现对服务当个实例的数据展现,在生产环境我们的服务是肯定需要做高可用的,那么对于多实例的情况,我们就需要将这些度量指标数据进行聚合。下面...转载 2019-10-27 20:04:02 · 172 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务容错保护之Hystrix断路器
前言在前两篇《Spring Cloud构建微服务架构:服务容错保护之Hystrix服务降级》和《Spring Cloud构建微服务架构:服务容错保护之Hystrix依赖隔离》中,我们对Hystrix提供的服务降级和依赖隔离有了基本的认识。下面我们将继续说说Hystrix的另外一个重要元件:断路器。断路器断路器模式源于Martin Fowler的Circuit Breaker一文。“断路...转载 2019-10-26 14:47:34 · 176 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务容错保护之Hystrix服务降级
在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一...转载 2019-10-26 14:44:20 · 422 阅读 · 0 评论 -
Spring Cloud构建微服务架构:分布式配置中心
Spring Cloud Config是Spring Cloud团队创建的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为服务端与客户端两个部分。其中服务端也称为分布式配置中心,它是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口;而客户端则是微服务架构中的各个微服务应用或基础设施,它们通过指定的配置中心来管理应用资源...转载 2019-10-26 14:42:01 · 164 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务消费之Feign
通过前两篇《Spring Cloud构建微服务架构:服务消费(基础)》和《Spring Cloud构建微服务架构:服务消费(Ribbon)》,我们已经学会了在Spring Cloud中基本的服务调用方式。本文我们将继续介绍Spring Cloud中的另外一个服务消费的工具:Spring Cloud Feign。Spring Cloud FeignSpring Cloud Feign是一...转载 2019-10-26 14:40:15 · 160 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务消费之Ribbon
通过上一篇《Spring Cloud构建微服务架构:服务消费》,我们已经学会如何通过LoadBalancerClient接口来获取某个服务的具体实例,并根据实例信息来发起服务接口消费请求。但是这样的做法需要我们手工的去编写服务选取、链接拼接等繁琐的工作,对于开发人员来说非常的不友好。所以,下来我们看看Spring Cloud中针对客户端负载均衡的工具包:Spring Cloud Ribbon。...转载 2019-10-26 14:36:45 · 126 阅读 · 0 评论 -
Spring Cloud构建微服务架构:服务消费之基础
通过上一篇《Spring Cloud构建微服务架构:服务注册与发现》,我们已经成功地将服务提供者:eureka-client或consul-client注册到了Eureka服务注册中心或Consul服务端上了,同时我们也通过DiscoveryClient接口的getServices获取了当前客户端缓存的所有服务清单,那么接下来我们要学习的就是:如何去消费服务提供者的接口?使用LoadBal...转载 2019-10-26 14:32:09 · 173 阅读 · 0 评论 -
Spring Cloud RestTemplate使用的三种方式
1、直接写死urlRestTemplate restTemplate = new RestTemplate();String resp = restTemplate.getForObject("http://ip:port/order",String.class);2、通过LoadBalancerClient的方式获取服务的url@Autowiredprivate LoadBa...原创 2019-10-26 02:19:04 · 350 阅读 · 0 评论 -
Spring Cloud Eureka配置文件说明
Eureka服务端:application.yml # eureka(最)简单单点开发配置。支持yml与properties两种,yml文件后缀必须为yml,不能是yaml,否则找不到该文件,使用默认配置。# yml文件大小写敏感;# 每个级别至少用1个空格缩进,也可多个,但同级别的必须一致,不支持tab,本项目按照eclipse的插件(spring官方Spring Tool Suite...原创 2019-10-26 01:54:12 · 632 阅读 · 0 评论