SpringCloud
我愿似一块扣肉
让我继续做梦。
展开
-
SpringCloud学习(一)Eureka服务注册与发现
SpringCloud作为微服务架构的集大成者,包含一系列组件,以下内容为本人对其集成的各组件的简单介绍与运用的记录。 本学习案例的框架版本:SpringBoot (2.1.4.RELEASE) Spring Cloud (Greenwich.RELEASE) (一)创建父工程 新建一个maven父工程,然后在pom.xml文件引入相应的依赖 pom.xml文件: <?xml ve...原创 2019-07-03 01:30:47 · 295 阅读 · 0 评论 -
SpringCloud学习(十)Spring Cloud Gateway服务网关
在SpringBoot2.x版本后,spring出了自己的Spring Cloud Gateway服务网关以替代停止开发进入维护的以及性能不算很好的Zuul。 (一)创建一个gateway-server服务网关子工程 新建工程后,在pom.xml文件中引入以下依赖: <dependencies> <dependency> <gr...原创 2019-07-16 17:48:09 · 632 阅读 · 0 评论 -
SpringCloud学习(九)Zuul服务网关
在生产环境中,不同的微服务可能会有不同的网络地址,那么引入Zuul,通过它根据用户请求转发到具体的服务中去。另外还能统一在Zuul对请求路由前进行一些操作,比如权限控制、限流等,而不用在每个微服务中都存在同样的一套代码。 由于Zuul1.0进入维护阶段以及性能相对来说不算很好,Spring官方提供了一个自己的API网关——Spring Cloud Gateway,以代替Zuul。但我们还是需要了解...原创 2019-07-16 15:09:19 · 174 阅读 · 0 评论 -
SpringCloud学习(六)Hystrix的Turbine监控数据聚合
上一篇涨介绍了Hystrix的Dashboard来展示单个实例的监测数据,但实际情况中,我们会部署N个微服务,那么不可能再用这种方式一个接着一个输入查看,基于这种场景,Hystrix可以利用Turbine实现数据聚合。对于老司机而言,Turbine这个单词不会陌生,中文意思为涡轮机,所以顾名思义,用来描述聚合很形象。 (一)创建一个hystrix-turbine监控数据聚合 新建工程后,子pom....原创 2019-07-06 19:22:50 · 1222 阅读 · 2 评论 -
SpringCloud学习(五)Hystrix的Dashboard监控面板
上一篇中我们在Ribbon以及Feign中引入了Hystrix,同时Hystrix提供了监控面板来观察各项详细指标数据。 (一)创建一个hystrix-dashboard监控面板子工程 新建工程后,需要在子pom.xml引入以下依赖: <!-- dashboard监控面板 --> <dependencies> <dependency&g...原创 2019-07-06 14:09:05 · 372 阅读 · 0 评论 -
SpringCloud学习(八)Spring Cloud Bus消息总线
在上一篇中,虽然实现了分布式配置中心,但也存在明显的缺陷,假如我修改了配置文件想去刷新读取配置,那么只能通过重启服务去实现,在项目已经上线的情况,这种方式是不可取的。因此本篇介绍Spring Cloud Bus组件,能够实现在不重启服务的前提下通过请求接口去实时刷新配置信息。 (一)对config-client工程进行改进 要使用Spring Cloud Bus消息总线,需要引入spring-cl...原创 2019-07-11 19:09:35 · 183 阅读 · 0 评论 -
SpringCloud学习(四)熔断器Hystrix的使用
hystrix 当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),直接切断原来的主逻辑调用,可实现服务降级(服务容错保护),线程隔离,断路器等功能。 服务降级(服务容错保护)与线程隔离是绑在一起的,当调用服务超时时,会触发服务降级;而让断路器发挥作用则需满足以下三个参数之一:是否强制开启熔断、请求总数下限、错误百分比下限。 断路器未打开之前,对于工程中示例的...原创 2019-07-03 19:08:30 · 529 阅读 · 0 评论 -
SpringCloud学习(三)Feign声明式调用服务
在上一篇中说到了SpringCloud各服务间接口调用有两种调用方式,在这一篇中将介绍另外一种调用方式——Feign。 Spring Cloud Feign整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现;与Ribbon不同的是,通过Feign只需要定义服务绑定接口且以声明式的方法,优雅而简单的实现了服务调用。 (一)创建一个feign-consumer服务消费子工程 新建工程后...原创 2019-07-03 17:38:03 · 195 阅读 · 0 评论 -
SpringCloud学习(七)Spring Cloud Config分布式配置中心
鉴于每个微服务基本对应着一个配置文件,假如每次更新逐个去修改配置文件,会给开发人员以及后期维护带来极大的不便,同时还容易出错,因此在Spring Cloud中引入了分布式配置中心组件——Spring Cloud Config。 它的实现方式有三种,分别为本地,数据库以及git。本篇介绍的是git的实现方式。 (一)创建一个config-server配置中心服务器 创建完之后,在子pom.xml中引...原创 2019-07-09 18:09:37 · 173 阅读 · 0 评论 -
SpringCloud学习(二)Ribbon负载均衡器调用服务
在第一篇中,服务注册之后,是利用DiscoveryClient或者LoadBalancerClient 获取注册实例信息拼接需要调用的url去调用接口。虽然效果达到到了,但过程很繁琐,在Spring Cloud中有两种服务调用方式,一种是下面将介绍的Ribbon+RestTemplate调用方式,另一种则是下一篇介绍的在实际项目中用的比较多的Feign调用方式。 (一)创建一个ribbon-con...原创 2019-07-03 13:50:20 · 126 阅读 · 0 评论