![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud学习
rickiyang
这个作者很懒,什么都没留下…
展开
-
微服务全流程分析
转眼已经2020,距离微服务这个词落地已经过去好多年!(我记得2017年就听过这个词)。然而今天我想想什么是微服务,其实并没有一个很好的定义。为什么这样说,按照微服务的定义:微服务架构就是将一个庞大的业务系统按照业务模块拆分成若干个独立的子系统,每个子系统都是一个独立的应用,它是一种将应用构建成一系列按业务领域划分模块的,小的自治服务的软件架构方式,倡导将复杂的单体应用拆分成若干个功能单一、松...原创 2020-01-05 17:32:29 · 2599 阅读 · 1 评论 -
Spring Cloud Zuul 精进
接着上一篇继续讲Zuul,上一篇搭建了Zuul的环境简单说明了怎么使用,本篇查缺补漏将一些常用的配置贴出来。文末我们会一起分析一下Zuul的源码,升华一下本篇的格调!忽略所有微服务或某些微服务默认情况下,只要引入了zuul后,就会自动一个默认的路由配置,但有些时候我们可能不想要默认的路由配置规则,想自己进行定义,忽略所有微服务:(后面写 * ):zuul: ignored-servi...原创 2019-12-22 19:33:09 · 213 阅读 · 0 评论 -
Spring Cloud Zuul 概览
什么是API网关网关这个词其实是一个硬件概念。因为按照定义,网络网关出现在网络的边缘,所以防火墙和代理服务器等相关功能 往往与之集成在一起。在家庭网络 和小型企业中,宽带路由器通常充当网络网关。它将你家中或企业的设备与 Internet 连接。网关是路由器的最重要功能,路由器是最常见的网关类型。今天我们要讲的网关并非是路由器(开个玩笑),既然做应用开发自然讨论的是调用各个服务的入口-API,所...原创 2019-12-17 23:49:18 · 163 阅读 · 0 评论 -
Spring Cloud 学习--Hystrix应用
上一篇介绍了Hystrix基本功能和单独使用的方式,今天继续学习如何将Hystrix融入SpringCloud组件中去。在Ribbon上使用熔断器在 pom.xml 文件中引入 hystrix 的 依赖spring-cloud-starter-hystrix:<dependency> <groupId>org.springframework.cloud</...原创 2019-12-02 20:48:40 · 216 阅读 · 0 评论 -
Spring Cloud 学习 -- Hystrix基本原理
本篇学习Spring Cloud家族中的重要成员:Hystrix。分布式系统中一个服务可能依赖着很多其他服务,在高并发的场景下,如何保证依赖的某些服务如果出了问题不会导致主服务宕机这个问题就会变得异常重要。针对这个问题直观想到的解决方案就是做依赖隔离。将不同的依赖分配到不同的调用链中,某一条链发生失败不会影响别的链。今天要说的Hystrix就提供了这样的功能。Hystrix的作用就是处理服务依赖...原创 2019-11-13 21:24:17 · 216 阅读 · 0 评论 -
Spring Cloud Feign 调用过程分析
前面已经学习了两个Spring Cloud 组件:Eureka:实现服务注册功能;Ribbon:提供基于RestTemplate的HTTP客户端并且支持服务负载均衡功能。通过这两个组件我们暂时可以完成服务注册和可配置负载均衡的服务调用。今天我们要学习的是Feign,那么Feign解决了什么问题呢?相对于Eureka,Ribbon来说,Feign的地位好像不是那么重要,Feign是一个声...原创 2019-11-05 09:37:33 · 3367 阅读 · 1 评论 -
Spring Cloud Ribbon 源码分析---负载均衡算法
上一篇分析了Ribbon如何发送出去一个自带负载均衡效果的HTTP请求,本节就重点分析各个算法都是如何实现。负载均衡整体是从IRule进去的:public interface IRule{ /* * choose one alive server from lb.allServers or * lb.upServers according to key *...原创 2019-10-19 14:07:56 · 271 阅读 · 0 评论 -
Spring Cloud Ribbon源码分析---负载均衡实现
上一篇结合 Eureka 和 Ribbon 搭建了服务注册中心,利用Ribbon实现了可配置负载均衡的服务调用。这一篇我们来分析Ribbon实现负载均衡的过程。从 @LoadBalanced入手还记得前面配置 RestTemplate:@Bean@LoadBalancedRestTemplate restTemplate() { return new RestTemplate()...原创 2019-10-15 00:01:25 · 162 阅读 · 0 评论 -
Spring Cloud Ribbon---微服务调用和客户端负载均衡
前面分析了Eureka的使用,作为服务注册中心,Eureka 分为 Server 端和 Client 端,Client 端作为服务的提供者,将自己注册到 Server 端,Client端高可用的方式是使用多机部署然后注册到Server,Server端为了保证服务的高可用,也可以使用多机部署的方式。前面简单搭建了Eureka Client 和 Server,然后将Client成功注册到 Server...原创 2019-10-09 23:39:22 · 270 阅读 · 0 评论 -
Spring Cloud Eureka配置文件详解
本篇内容用来说明Eureka 常用配置的含义。以下配置都是以 eureka.server 开头:参数描述备注eureka.server.eviction-interval-timer-in-msserver清理无效节点的时间间隔默认60秒eureka.server.enable-self-preservation是否开启自我保护,默认truetrue fal...原创 2019-10-04 15:54:54 · 798 阅读 · 0 评论 -
Spring Cloud Eureka源码分析 --- client 注册流程
Eureka Client 是一个Java 客户端,用于简化与Eureka Server的交互,客户端同时也具备一个内置的、使用轮询负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒),如果Eureka Server在多个心跳周期没有收到某个节点的心跳,Eureka Server 将会从服务注册表中把这个服务节点移除(默认90秒)。Eureka Cl...原创 2019-10-04 13:09:43 · 519 阅读 · 0 评论 -
Spring Cloud Eureka源码分析---服务注册
本篇我们着重分析Eureka服务端的逻辑实现,主要涉及到服务的注册流程分析。在Eureka的服务治理中,会涉及到下面一些概念:服务注册:Eureka Client会通过发送REST请求的方式向Eureka Server注册自己的服务,提供自身的元数据,比如 IP 地址、端口、运行状况指标的URL、主页地址等信息。Eureka Server接收到注册请求后,就会把这些元数据信息存储在一个Conc...原创 2019-10-01 21:52:11 · 324 阅读 · 0 评论 -
Spring cloud-Eureka入门之旅
Spring Cloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、路由配置、分布式链路追踪、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟SpringBoot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。1. 重要组件说明这里的说明借用网上一个很酷的分类方式来说明:润物无声类和独挑大梁类。...原创 2019-09-24 19:26:09 · 434 阅读 · 0 评论