![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud
Mr.zhouy
一个菜鸟程序员
展开
-
Spring Cloud(一)服务注册与发现
Spring Cloud构建微服务架构(一)服务注册与发现服务注册与发现在简单介绍了Spring Cloud和微服务架构之后,下面回归本文的主旨内容,如何使用Spring Cloud搭建服务注册与发现模块。这里我们会用到Spring Cloud Netflix,该项目是Spring Cloud的子项目之一,主要内容是对Netflix公司一系列开源产品的包装,它为Spring Boot应用提供...原创 2018-09-25 17:05:07 · 264 阅读 · 0 评论 -
Spring Cloud(前言)准备工作
一、什么是 Spring Cloud相信各位能够看到本文的都对Spring Cloud 有了基础的理解,在这里就不再赘述了(ps:因为本人不爱看那种长篇的介绍),如果还不太了解的话,推荐各位跳转:[简述 Spring Cloud 是什么](https://blog.csdn.net/kkkloveyou/article/details/79210420)[Spring Cloud都做了些...原创 2018-09-26 08:58:50 · 426 阅读 · 0 评论 -
Spring Cloud(番外)各组件超时总结
Ribbon的超时全局设置:ribbon: ReadTimeout: 60000 ConnectTimeout: 60000局部设置:service-id: ribbon: ReadTimeout:1000 ConnectTimeout:1000其中, service-id 是Ribbon所使用的虚拟主机名,一般和Eureka S...转载 2018-09-25 17:45:16 · 200 阅读 · 0 评论 -
Spring Cloud(十)Sleuth+ZipKin 实现服务追踪(续)
注:本文Spring Cloud 版本 Finchley.SR1本节是对上一篇的延续,没有查看上一篇的请先查看 Spring Cloud(九)Sleuth+ZipKin 实现服务追踪相信细心的网友也发现了,以上的配置方式使用的是 http 发送链路数据,并且保存在缓存中,所以也只能当个 demo,自己玩玩,不适合应用在生产环境中。所以我们的测试环境、生产环境项目需要在之前的基础上升级。通过上一...原创 2018-09-25 17:43:44 · 391 阅读 · 0 评论 -
Spring Cloud(九)Sleuth+ZipKin 实现服务追踪
注:本文Spring Cloud 版本 Finchley.SR1为什么需要服务追踪微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调用复杂性,决定了问题难以定位。所以微服务架构中,必须实现分布式链路追踪,去跟进一个请求到底有哪些服务...原创 2018-09-25 17:41:47 · 221 阅读 · 0 评论 -
Spring Cloud(八)熔断监控Hystrix Dashboard和Turbine
前一节,我们已经成功的配置了熔断器,但是在实际应用中,单纯的熔断不能满足我们的需求,我们不止需要保证一个业务宕机不影响其他服务,同时也需要有监控能够知道服务情况,从而即时发现、解决问题,这一节我们就通过 Hystrix Dashboard和Turbine 完成这个功能。Hystrix Dashboard 和 TurbineHystrix-dashboard是一款针对Hystrix进行实时监控的...原创 2018-09-25 17:40:02 · 426 阅读 · 0 评论 -
Spring Cloud(七)服务监控Hystrix
熔断器雪崩效应在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。如果下图所示:A作为服务提供者,B为A的服务消费者,C和D是B的服务消费者。A不可用引起了B的不可用,并将不可用像滚雪球一样放大到C和D时,雪崩效应就形成...原创 2018-09-25 17:36:34 · 569 阅读 · 0 评论 -
Spring Cloud(六)服务网关zuul
为什么要使用微服务网关不同的微服务网关一般都会有不同的网络地址,而外部客户端(例如手机APP)可能需要调用多个服务的接口才能完成一个业务需求。例如一个常见的电商平台APP,可能会调用多个微服务的接口,才能完成一次购物的业务流程,如下图:如果让客户端直接与各个微服务通信,会有以下问题: 1 客户端多次请求不同的微服务,增加了客户端的复杂性。 2 存在跨域请求,在一定的场景下处理相对复杂...原创 2018-09-25 17:29:08 · 186 阅读 · 0 评论 -
Spring Cloud(五)消息总线BUS
本章依赖于 Spring Cloud(四) 配置中心Config ,请没有构建好配置中心的出门左拐前面一节,我们已经成功的构建了配置中心,如果需要客户端获取到最新的配置信息需要执行refresh,我们可以利用 Webhook 的机制每次提交代码发送请求来刷新客户端,当客户端越来越多的时候,需要每个客户端都执行一遍,这种方案就不太适合了。使用 Spring Cloud Bus 可以完美解决这一问题...原创 2018-09-25 17:21:09 · 379 阅读 · 0 评论 -
Spring Cloud(四)配置中心Config
在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库以及数据库中。在spring cloud config 组件中,分两个角色,一是config server,二是config clien...原创 2018-09-25 17:18:22 · 417 阅读 · 0 评论 -
Spring Cloud(三)服务间调用Feign
在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端。我们可以使用JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。但是,用起来最方便、最优雅的还是要属Feign了。FeiegnFeign是一个声...原创 2018-09-25 17:14:09 · 319 阅读 · 0 评论 -
Spring Cloud(二)客户端负载均衡Ribbon
RibbonRibbon是一个基于HTTP和TCP客户端的负载均衡器。Feign中也使用Ribbon,后续会介绍Feign的使用。Ribbon可以在通过客户端中配置的ribbonServerList服务端列表去轮询访问以达到均衡负载的作用。当Ribbon与Eureka联合使用时,ribbonServerList会被DiscoveryEnabledNIWSServerList重写,扩展成从Eu...原创 2018-09-25 17:12:26 · 176 阅读 · 0 评论 -
Spring Cloud灰度发布之Nepxion Discovery
最近公司项目在做架构升级,升级为 Spring Cloud,我们希望能够做到服务的灰度发布,根据访问量逐渐切换用新版本替换老版本,并且能够做到代码零入侵的,毕竟每次发布要修改代码真的不是什么好的体验,而且容易引出其它的非代码级别的错误导致无法发布成功。但是 Spring Cloud 在这一方面好像没有提供什么方案。因此我们在网上大范围的查找,终于找到了一款服务我们需求的灰度发布工具Nepxion ...原创 2018-09-27 14:48:35 · 1792 阅读 · 1 评论