随笔分类 - Spring Cloud 学习
Spring Cloud 学习
摘要:Spring Cloud Zuul 源码分析
阅读全文
摘要:Spring Cloud Zuul 概览
阅读全文
摘要:Hystrix 源码分析
阅读全文
摘要:本篇学习Spring Cloud家族中的重要成员:Hystrix。分布式系统中一个服务可能依赖着很多其他服务,在高并发的场景下,如何保证依赖的某些服务如果出了问题不会导致主服务宕机这个问题就会变得异常重要。 针对这个问题直观想到的解决方案就是做依赖隔离。将不同的依赖分配到不同的调用链中,某一条链发生
阅读全文
摘要:前面已经学习了两个Spring Cloud 组件: Eureka:实现服务注册功能; Ribbon:提供基于RestTemplate的HTTP客户端并且支持服务负载均衡功能。 通过这两个组件我们暂时可以完成服务注册和可配置负载均衡的服务调用。今天我们要学习的是Feign,那么Feign解决了什么问题
阅读全文
摘要:上一篇分析了Ribbon如何发送出去一个自带负载均衡效果的HTTP请求,本节就重点分析各个算法都是如何实现。 负载均衡整体是从IRule进去的: 通过 choose方法选择指定的算法。 完整的算法包含如下: 1. RandomRule :随机算法实现; 2. RoundRobinRule :轮询负载
阅读全文
摘要:上一篇结合 Eureka 和 Ribbon 搭建了服务注册中心,利用Ribbon实现了可配置负载均衡的服务调用。这一篇我们来分析Ribbon实现负载均衡的过程。 从 @LoadBalanced入手 还记得前面配置 RestTemplate: 在消费端使用Spring 提供的 RestTemplate
阅读全文
摘要:前面分析了Eureka的使用,作为服务注册中心,Eureka 分为 Server 端和 Client 端,Client 端作为服务的提供者,将自己注册到 Server 端,Client端高可用的方式是使用多机部署然后注册到Server,Server端为了保证服务的高可用,也可以使用多机部署的方式。前
阅读全文
摘要:本篇内容用来说明Eureka 常用配置的含义。 以下配置都是以 开头: | 参数 | 描述 | 备注 | | | | | | eureka.server.eviction interval timer in ms | server清理无效节点的时间间隔 | 默认60秒 | | eureka.serv
阅读全文
摘要:Eureka Client 是一个Java 客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的、使用轮询负载算法的负载均衡器。 在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒),如果Eureka Server在多个心跳周期没有收到某个节点的心跳,
阅读全文
摘要:本篇我们着重分析Eureka服务端的逻辑实现,主要涉及到服务的注册流程分析。 在Eureka的服务治理中,会涉及到下面一些概念: 服务注册 :Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如 IP 地址、端口、运行状况指标的UR
阅读全文