
SpringCloud
文章平均质量分 92
张兵游勇
万物皆对象
展开
-
spring cloud gateway之filter篇
文章目录在上一篇文章详细的介绍了Gateway的Predict,Predict决定了请求由哪一个路由处理,在路由处理之前,需要经过“pre”类型的过滤器处理,处理返回响应之后,可以由“post”类型的过滤器处理。filter的作用和生命周期由filter工作流程点,可以知道filter有着非常重要的作用,在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post”类型的过滤器中可以做响应内容、响应头的修改,日志的输出,流量监控等。首先需要弄清一点为什么需要网关这一层原创 2021-07-06 14:43:55 · 3691 阅读 · 0 评论 -
Spring Cloud Gateway 初体验
文章目录这篇文章讲述了如何简单地使用Spring Cloud Gateway,来源于Spring Cloud官方案例,地址https://spring.io/guides/gs/gateway 。简介Spring Cloud Gateway是Spring Cloud官方推出的第二代网关框架,取代Zuul网关。网关作为流量的,在微服务系统中有着非常作用,网关常见的功能有路由转发、权限校验、限流控制等作用。本文首先用官方的案例带领大家来体验下Spring Cloud的一些简单的功能,在后续文章我会使用详细原创 2021-07-06 14:25:07 · 250 阅读 · 0 评论 -
Spring Cloud Gateway 之Predict篇
文章目录Spring Cloud gateway工作流程在之前的文章的Spring Cloud Gateway初体验中,大家已经对Spring Cloud Gateway的功能有一个初步的认识,网关作为一个系统的流量的入口,有着举足轻重的作用,通常的作用如下:协议转换,路由转发流量聚合,对流量进行监控,日志输出作为整个系统的前端工程,对流量进行控制,有限流的作用作为系统的前端边界,外部流量只能通过网关才能访问系统可以在网关层做权限的判断可以在网关层做缓存Spring Cloud Gat原创 2021-07-06 14:16:32 · 375 阅读 · 0 评论 -
SpringCloud教程第13篇:Turbine(F版本)
文章目录一、Hystrix Turbine简介二、准备工作三、创建service-turbine四、Turbine演示五、参考文献上一篇文章讲述了如何利用Hystrix Dashboard去监控断路器的Hystrix command。当我们有很多个服务的时候,这就需要聚合所以服务的Hystrix Dashboard的数据了。这就需要用到Spring Cloud的另一个组件了,即Hystrix Turbine。一、Hystrix Turbine简介看单个的Hystrix Dashboard的数据并没有什原创 2021-07-06 14:08:19 · 342 阅读 · 0 评论 -
SpringCloud教程第12篇:Hystrix Dashboard(F版本)
文章目录一、Hystrix Dashboard简介二、准备工作三、开始改造service-hi四、Hystrix Dashboard图形展示五、参考资料在我的第四篇文章断路器讲述了如何使用断路器,并简单的介绍了下Hystrix Dashboard组件,这篇文章更加详细的介绍Hystrix Dashboard。一、Hystrix Dashboard简介在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystri原创 2021-07-06 14:04:12 · 491 阅读 · 0 评论 -
SpringCloud教程第10篇:高可用的服务注册中心(F版本)
文章目录一、准备工作二、改造工作三、启动工程四、参考文献一、准备工作Eureka can be made even more resilient and available by runningmultiple instances and asking them to register with each other. Infact, this is the default behaviour, so all you need to do to make itwork is add a vali原创 2021-07-06 13:59:18 · 341 阅读 · 0 评论 -
SpringCloud教程第9篇:Sleuth(F版本)
文章目录一、简介二、服务追踪分析三、术语四、构建工程4.1 构建server-zipkin4.2 创建service-hi4.3 创建service-miya4.4 启动工程,演示追踪五、参考资料这篇文章主要讲述服务追踪组件zipkin,Spring Cloud Sleuth集成了zipkin组件。一、简介Add sleuth to the classpath of a Spring Boot application (see belowfor Maven and Gradle examples)原创 2021-07-06 13:48:52 · 599 阅读 · 0 评论 -
Eureka源码解析
文章目录本篇文章以源码的角度来深入理解Eureka.Eureka的一些概念- Register:服务注册 当Eureka客户端向Eureka Server注册时,它提供自身的元数据,比如IP地址、端口,运行状况指示符URL,主页等。Renew:服务续约 Eureka客户会每隔30秒发送一次心跳来续约。 通过续约来告知Eureka Server该Eureka客户仍然存在,没有出现问题。 正常情况下,如果Eureka Server在90秒没有收到Eureka客户的续约,它会将实例从其注册表中删除。原创 2021-07-06 10:00:21 · 269 阅读 · 0 评论 -
SpringCloud教程第8篇:Spring Cloud Bus(F版本)
文章目录一、准备工作二、改造config-client三、分析五、参考资料Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控。本文要讲述的是用Spring Cloud Bus实现通知微服务架构的配置文件的更改。一、准备工作本文还是基于上一篇文章来实现。按照官方文档,我们只需要在配置文件中配置 spring-cloud-starter-bus-amqp ;这就是说我们需要装rabbitMq,点击rabbitmq下载。至原创 2021-07-04 13:14:10 · 322 阅读 · 0 评论 -
SpringCloud教程第7篇:高可用的分布式配置中心(F版本)
文章目录一、准备工作二、改造config-server三、改造config-client四、参考资料上一篇文章讲述了一个服务如何从配置中心读取文件,配置中心如何从远程git读取配置文件,当服务实例很多时,都从配置中心读取文件,这时可以考虑将配置中心做成一个微服务,将其集群化,从而达到高可用,架构图如下:一、准备工作继续使用上一篇文章的工程,创建一个eureka-server工程,用作服务注册中心。在其pom.xml文件引入Eureka的起步依赖spring-cloud-starter-netfli原创 2021-07-04 13:04:28 · 265 阅读 · 0 评论 -
SpringCloud教程第6篇:config(F版本)
文章目录一、简介三、构建一个config client四、参考资料在上一篇文章讲述zuul的时候,已经提到过,使用配置服务来保存各个服务的配置文件。它就是Spring Cloud Config。一、简介在分布式系统中,由于服务数量巨多,为了方便服务配置文件统一管理,实时更新,所以需要分布式配置中心组件。在Spring Cloud中,有分布式配置中心组件spring cloud config ,它支持配置服务放在配置服务的内存中(即本地),也支持放在远程Git仓库中。在spring cloud conf原创 2021-07-03 23:36:26 · 304 阅读 · 0 评论 -
SpringCloud教程第5篇:Zuul(F版本)
文章目录一、Zuul简介二、准备工作三、创建service-zuul工程四、服务过滤五、参考资料:在微服务架构中,需要几个基础的服务治理组件,包括服务注册与发现、服务消费、负载均衡、断路器、智能路由、配置管理等,由这几个基础组件相互协作,共同组建了一个简单的微服务系统。一个简答的微服务系统如下图:注意:A服务和B服务是可以相互调用的,作图的时候忘记了。并且配置服务也是注册到服务注册中心的。 在Spring Cloud微服务系统中,一种常见的负载均衡方式是,客户端的请求首先经过负载均衡(zuul、Ngn原创 2021-07-03 23:28:21 · 629 阅读 · 1 评论 -
SpringCloud教程第4篇:Hystrix(F版本)
文章目录一、断路器简介二、准备工作四、Feign中使用断路器在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微原创 2021-07-03 23:19:27 · 460 阅读 · 2 评论 -
SpringCloud教程第3篇:feign(F版本)
文章目录一、Feign简介二、准备工作三、创建一个feign的服务五、参考资料上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。一、Feign简介Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了原创 2021-07-03 22:53:50 · 787 阅读 · 2 评论 -
SpringCloud教程第2篇:Ribbon(F版本)
文章目录一、ribbon简介二、准备工作三、建一个服务消费者四、此时的架构五、参考资料在上一篇文章,讲了服务的注册和发现。在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的。Spring cloud有两种服务调用方式,一种是ribbon+restTemplate,另一种是feign。在这一篇文章首先讲解下基于ribbon+rest。一、ribbon简介Ribbon is a client side load balancer which gives yo原创 2021-07-03 21:02:26 · 576 阅读 · 1 评论 -
SpringCloud教程第1篇:Eureka(F版本)
文章目录一、spring cloud简介二、创建服务注册中心2.1 首先创建一个maven主工程。2.2 然后创建2个model工程:2.3 启动一个服务注册中心三、创建一个服务提供者 (eureka client)四、参考资料一、spring cloud简介鉴于《史上最简单的Spring Cloud教程》很受读者欢迎,再次我特意升级了一下版本,目前支持的版本为Spring Boot版本2.0.3.RELEASE,Spring Cloud版本为Finchley.RELEASE。Finchley版本的官原创 2021-07-03 19:45:06 · 717 阅读 · 0 评论