IT-SpringCloud
丘色果
目前就职在Accenture
展开
-
SpringCloud教程之降龙十八掌(Finchley版本)
第一篇: 服务的注册与发现Eureka(Finchley版本)第二篇: 服务消费者(rest+ribbon实现负载均衡)(Finchley版本)第三篇: 服务消费者(Feign)(Finchley版本)第四篇:断路器(Hystrix)(Finchley版本)第五篇: 路由网关(zuul)(Finchley版本)第六篇: 分布式配置中心(Spring Cloud Confi...原创 2019-07-10 09:22:47 · 221 阅读 · 0 评论 -
第十一篇: docker部署spring cloud项目
一、docker简介Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。Docker通常用于如下场景:web应用的自动化打包和发布; 自动化测试和持续集成、发布; 在服务型环境中部署和...转载 2019-07-24 17:41:54 · 410 阅读 · 0 评论 -
第十二篇: 断路器监控(Hystrix Dashboard)(Finchley版本)
在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix Dashboard是作为断路器状态...转载 2019-07-24 17:57:36 · 111 阅读 · 0 评论 -
第十三篇: 断路器聚合监控(Hystrix Turbine)(Finchley版本)
上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。一、Hystrix Turbine简介看单个的Hystrix Dashboard的数据并没有什么多大的价值,要...转载 2019-07-24 18:03:37 · 103 阅读 · 0 评论 -
第十四篇: Spring Cloud Gateway初体验
这篇文章讲述了如何简单地使用Spring Cloud Gateway,来源于Spring Cloud官方案例,地址:https://spring.io/guides/gs/gateway简介Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制...转载 2019-07-24 18:16:38 · 168 阅读 · 0 评论 -
第十五篇: Spring Cloud Gateway 之Predict篇
Spring Cloud gateway工作流程在之前的文章的Spring Cloud Gateway初体验中,大家已经对Spring Cloud Gateway的功能有一个初步的认识,网关作为一个系统的流量的入口,有着举足轻重的作用,通常的作用如下:协议转换,路由转发 流量聚合,对流量进行监控,日志输出 作为整个系统的前端工程,对流量进行控制,有限流的作用 作为系统的前端边界,外部...转载 2019-07-24 18:31:40 · 299 阅读 · 0 评论 -
第十七篇: Spring Cloud Gateway 之限流篇
在高并发的系统中,往往需要在系统中做限流,一方面是为了防止大量的请求使服务器过载,导致服务不可用,另一方面是为了防止网络攻击。常见的限流方式,比如Hystrix适用线程池隔离,超过线程池的负载,走熔断的逻辑。在一般应用服务器中,比如tomcat容器也是通过限制它的线程数来控制并发的;也有通过时间窗口的平均速度来控制流量。常见的限流纬度有比如通过Ip来限流、通过uri来限流、通过用户访问频次来限...转载 2019-07-24 18:52:16 · 284 阅读 · 0 评论 -
第十八篇: spring cloud gateway之服务注册与发现
在之前的文章介绍了Spring Cloud Gateway的Predict(断言)、Filter(过滤器),大家对Spring Cloud Gateway有初步的认识,其中在对服务路由转发的这一块,在之前的文章是采用硬编码的方式进行路由转发。这篇文章以案例的形式来讲解Spring Cloud Gateway如何配合服务注册中心进行路由转发。工程介绍本案例中使用spring boot的版本为...转载 2019-07-24 18:57:42 · 897 阅读 · 0 评论 -
第十六篇: Spring Cloud Gateway 之filter篇
在上一篇文章详细的介绍了Gateway的Predict,Predict决定了请求由哪一个路由处理,在路由处理之前,需要经过“pre”类型的过滤器处理,处理返回响应之后,可以由“post”类型的过滤器处理。filter的作用和生命周期由filter工作流程点,可以知道filter有着非常重要的作用,在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post...转载 2019-07-24 18:45:36 · 1552 阅读 · 1 评论 -
第十篇: 高可用的服务注册中心(Finchley版本)
这篇文章主要介绍怎么将Eureka Server集群化。一、准备工作Eureka通过运行多个实例,使其更具有高可用性。事实上,这是它默认的属性,你需要做的就是给对等的实例一个合法的关联serviceurl。二、改造工作在eureka-server工程中resources文件夹下,创建配置文件application-peer1.yml:server: port: 8761...转载 2019-07-11 20:52:39 · 111 阅读 · 0 评论 -
第九篇: 服务链路追踪(Spring Cloud Sleuth)(Finchley版本)
这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、简介Spring Cloud Sleuth 主要功能就是在分布式系统中提供追踪解决方案,并且兼容支持了 zipkin,你只需要在pom文件中引入相应的依赖即可。二、服务追踪分析微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完...转载 2019-07-11 20:40:49 · 184 阅读 · 0 评论 -
第二篇: 服务消费者(rest+ribbon实现负载均衡)(Finchley版本)
在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介ribbon是一个负载均衡客户端,可以很好的控制htt和tcp的一些行为。Fe...转载 2019-07-11 14:31:42 · 159 阅读 · 0 评论 -
第三篇: 服务消费者(Feign)(Finchley版本)
这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。简而言之:Fei...转载 2019-07-11 14:46:50 · 131 阅读 · 0 评论 -
第四篇:断路器(Hystrix)(Finchley版本)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon或Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫...转载 2019-07-11 16:09:54 · 520 阅读 · 0 评论 -
第五篇: 路由网关(zuul)(Finchley版本)
在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图:注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡...转载 2019-07-11 16:41:24 · 138 阅读 · 0 评论 -
第六篇: 分布式配置中心(Spring Cloud Config)(Finchley版本)
一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud config 组件中,分两个角色,一是config server,二是config c...转载 2019-07-11 18:09:09 · 128 阅读 · 0 评论 -
第七篇: 高可用的分布式配置中心(Spring Cloud Config)(Finchley版本)
上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作创建一个eureka-server工程,用作服务注册中心。在其pom.xml文件引入Eureka的起步依赖spring-cloud-starter-netflix- e...转载 2019-07-11 18:23:57 · 129 阅读 · 0 评论 -
第一篇: 服务的注册与发现Eureka(Finchley版本)
Finchley版本的官方文档如下:http://cloud.spring.io/spring-cloud-static/Finchley.RELEASE/single/spring-cloud.html一、spring cloud简介spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话...转载 2019-07-10 10:21:37 · 204 阅读 · 0 评论 -
第八篇: 消息总线(Spring Cloud Bus)实现配置文件刷新(Finchley版本)
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amqp ;这就是说我们需要装...转载 2019-07-11 20:14:34 · 340 阅读 · 0 评论