Spring Cloud
文章平均质量分 72
Leo Han
Leo Han
展开
-
springcloud openfeign通过map传递form表单参数
oepnfeign通过map传递form参数原创 2022-10-11 19:24:11 · 2626 阅读 · 0 评论 -
Hystrix原理和配置说明
在微服务场景下,服务间调用链路加长,有时候一个部分出现问题可能会引起整个链路的崩溃,为此微服务中提出了如下两个概念:服务熔断服务降级服务熔断熔断来源于电路中断路器的概念,服务熔断指的是 当下游服务因为某种原因不可用或响应慢时,上游服务为了保证自己整体服务的可用性,不在调用下游服务而是直接返回,快速释放资源,直到下游服务恢复才继续调用服务降级当服务器压力剧增的时候,根据当前业务情况以及流量,对一些服务和页面有策略的降级,以此缓解服务器资源的压力以保障核心任务的正常运行,同时也保证了大部分客户能原创 2021-12-19 22:37:21 · 675 阅读 · 0 评论 -
Spring cloud读取bootstrap配置过程
在前面我们分析SpringBootApplication读取配置文件的过程说过SpringBoot源码读取配置源码分析,配置优先级,加载Bean信息 ,在SpringApplication启动的过程中,会将系统启动的相关事件广播给对应的ApplicationListener,在其里面完成对相关的事件处理,而在sping-cloud-context模块中,其spring.factories中包含了如下的ApplicationListener:org.springframework.context.Appli原创 2021-03-07 22:02:28 · 1728 阅读 · 0 评论 -
spring cloud入门,zuul,API网关路由,filterType类型
前面几篇介绍了spring cloud中比较核心的几个模块,eureka,ribbon,hystrix,feign,config,接下来我们研究下spring cloud另一模块zuul,API网关。根据之前的所提到的spring cloud功能,我们能够基于eureka建立服务注册和发现,ribbon、feign、hystrix建立客户端调用的负载均衡和熔断机制,spring cloud config建立统一的配置中心。上述这种多实例部署后,通过前置负载均衡器如 F5,NGINX等但是,这样架构有一个原创 2020-05-24 21:21:00 · 1118 阅读 · 0 评论 -
spring cloud入门,eureka机制和参数说明
作为spring cloud的服务注册和发现机制,eureka承担了这个角色。服务网提供者在启动的时候通过读取到配置中eureka server的地址通过发送REST请求将自己注册到eureka server中,eureka server会将服务提供者发送的服务的元数据信息存储在一个双层的map中,第一层key是服务名,第二层key是具体服务的实例名(一般名称: applicaitonName-port)。在服务注册时,会判断:eureka-client.register-with-eureka=t原创 2020-05-24 16:50:59 · 450 阅读 · 0 评论 -
spring cloud入门,feign结合hystrix使用示例
在之前讲解了 spring cloud eureka和ribbon,现在开始讲解spring cloud中声明式调用方式feign的相关使用,关于eureka搭建参见 spring cloud eureka和ribbon搭建consumer-feign,pom依赖如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=原创 2020-05-24 13:56:32 · 316 阅读 · 0 评论 -
spring cloud入门,eureka服务注册和发现,ribbon负载均衡,hystrix熔断
最忌几年,微服务很火爆,随着公司规模的上升,对应各种服务也在不断的完善和增加,软件的架构从之前的单体架构逐渐朝着功能分解成不同模块继而拆分成一组特定服务。著名的扩展立方体如上图所示,X轴通过部署多个相同实例,继而在多个实例之间进行负载均衡;Z轴根据请求中特殊属性对请求进行路由;Y轴扩展根据功能将应用拆分为服务。微服务将一个复杂的单体系统分解成若干小的业务,服务的边界明确,服务之间耦合降低,服务分布式集群化部署,可实现负载聚恒和熔断。spring cloud中,eureka实现了服务注册和发现r原创 2020-05-23 22:46:37 · 326 阅读 · 0 评论 -
spring cloud consul入门,服务注册和发现,配置中心使用入门示例
我们知道,在微服务中比较关键的几个点在于:服务注册和发现服务的负载均衡容错网关统一配置管理链路追踪和日志在服务注册和发现这块,spring提供了eureka和consul两种方式来实现服务的注册和发现,本例讲解consul作为服务注册和服务配置中心的使用方式。consul版本为consul_1.7.3,可以在 https://www.consul.io/downloads进行下载。下载解压完之后,如在windows下,在consul.exe所在目录,同时 shift+鼠标右键在命令行输入原创 2020-05-23 15:19:47 · 281 阅读 · 0 评论 -
spring cloud config入门,动态更新配置,spring cloud bus amqp刷新配置
前面介绍了spring cloud config 基于本地配置文件,git,mysql的配置开发示例,但是存在一个问题,如果我们要更新配置,按照之前的处理,则需要修改完配置之后重启配置,这样不适合生产环境,为此,spring cloud提供了基于spring cloud bus的机制来实现配置更改后的动态通知和刷新。下面进行这块的入门尝试, 以spring cloud config git为例说明建立config-server-git,大体与之前相同,但是增加了spring cloud bus相关依赖:原创 2020-05-23 09:37:58 · 687 阅读 · 0 评论 -
spring cloud config入门,spring cloud config mysql数据库配置配置中心
之前进行了spring config配置中心基于本地文件和git的示例,spring cloud config还提供供了基于数据库的配置中心,下面讲解spring cloud config mysql的入门示例。本次演示采用的springboot版本是2.1.3.RELEASE,spring cloud版本是Greenwich.SR2.首先建立config-server-mysql模块,引入必要的pom依赖:<?xml version="1.0" encoding="UTF-8"?>&l原创 2020-05-22 22:52:15 · 1318 阅读 · 0 评论 -
spring cloud config入门,spring cloud config git配置配置中心
之前进行了spring config配置中心基于本地文件的示例,spring cloud config还提供供了基于git的配置中心,下面讲解spring cloud config git的入门示例。本次演示采用的springboot版本是2.1.3.RELEASE,spring cloud版本是Greenwich.SR2.首先建立config-server-git模块,引入必要的pom依赖:<?xml version="1.0" encoding="UTF-8"?><projec原创 2020-05-22 22:38:49 · 355 阅读 · 0 评论 -
spring cloud config入门,spring cloud config native本地配置配置中心
在微服务中,由于服务众多且分散,按照以前的方式,一个服务一份配置,如果需要配置,则需要一个一个修改,在服务少的时候还比较方便处理,在大量服务的时候不太现实,为此,spring cloud config用来搭建统一的服务配置中心。本次演示采用的springboot版本是2.1.3.RELEASE,spring cloud版本是Greenwich.SR2.首先进行尝试本地配置中心开发建立config-server-native,引入必要的pom依赖:<?xml version="1.0" encod原创 2020-05-22 22:09:19 · 775 阅读 · 0 评论