-
【SpringCloud】Spring Cloud Bus 服务总线(二十二)
摘要:Spring Cloud Bus介绍 总线,在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实例都连接上来,由于该主题中产生的消息会被所有实例监听和消费,所以称他为消息总线。在总线上的各个实例,都可以方便地广播一些需要让他连接,在该主题上的实例都知道的消
阅读全文
-
【SpringCloud】Spring Cloud Config 客户端(二十一)
摘要:介绍Spring Cloud Config 客户端之前,先了解一下Spring Cloud应用的 bootstrap上下文 Bootstrap应用程序上下文 Spring Cloud应用程序通过创建“ bootstrap ”上下文来运行,该上下文是主应用程序的父上下文。它负责从外部源加载配置属性,并
阅读全文
-
【SpringCloud】Spring Cloud Config 配置中心(二十)
摘要:Spring Cloud Config介绍 Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。使用Config Server,您可以集中管理所有环境中应用程序的外部属性。客户端和服务器上的概念与Spring Environment和PropertySource抽
阅读全文
-
【SpringCloud】Gateway Filter的使用(十九)
摘要:Gateway Filter介绍 Filter,在“pre”类型的过滤器可以做参数校验、权限校验、流量监控、日志输出、协议转换等,在“post”类型的过滤器中可以做响应内容、响应头的修改,日志的输出、流量监控等,有非常重要的作用 Filter除了分为“pre”和“post”两种方式的Filter外,
阅读全文
-
【SpringCloud】Gateway常用的Predicate(十八)
摘要:Predicate介绍 Spring Cloud Gateway将路由作为Spring WebFlux HandlerMapping基础架构的一部分进行匹配。Spring Cloud Gateway包括许多内置的路由断言工厂。所有这些断言都与HTTP请求的不同属性匹配。您可以将多个路由断言工厂与逻辑
阅读全文
-
【SpringCloud】Gateway路由配置(十七)
摘要:前一章【SpringCloud】Gateway网关入门(十六)介绍的Gateway的基本使用,本章介绍Gateway路由配置 本章使用项目,还是上一章的项目 Gateway的路由配置有2中方式,一种是通过YML配置文件来配置,一种是通过配置类来配置 YML配置文件配置路由 1、指定路径转发路由 即根
阅读全文
-
【SpringCloud】Gateway网关入门(十六)
摘要:Gateway介绍 Spring Cloud Gateway是Spring Cloud的一个全新项目,基于Spring 5,Spring Boot 2和 Project Reactor等技术开发的网关,它旨在为微服务框架提供一种简单有效的统一的API路由管理方式,以及基于Filter方式提供一些强大
阅读全文
-
【SpringCloud】Zuul网关入门(十五)
摘要:网关的概念 1、什么是路由网关 网关是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能 提供路由请求、鉴权、监控、缓存、限流等功能。它将"1对N"问题转换成了"1对1”问题。 通过服务路由的功能,可以在对外提供服务时,只暴露 网关中配置的调用地址,而调用方就不需要了解后端具体的
阅读全文
-
【SpringCloud】Hystrix仪表板(Dashboard)(十四)
摘要:Hystrix仪表板介绍 Hystrix仪表板使您可以实时监视Hystrix指标。 可以使用此仪表板时,通过减少发现和恢复运营事件所需的时间来改善其运营。大多数生产事件的持续时间(由于Hystrix而已经不那么频繁了)变得更短了,并且影响减小了,这是由于Hystrix仪表板提供了对系统行为的实时洞察
阅读全文
-
【SpringCloud】Hystrix工作原理(十三)
摘要:Hystrix工作原理 流程图: 各节将更详细地说明此流程 HystrixCommand.run 构造一个HystrixCommand或HystrixObservableCommand对象 执行命令 响应是否已缓存? 断路器是否打开吗? 线程池/队列/信号量是否已满? HystrixObservab
阅读全文
-
【SpringCloud】Hystrix服务隔离(十二)
摘要:服务隔离介绍 当大多数人在使用Tomcat时,多个HTTP服务会共享一个线程池,假设其中一个HTTP服务访问的数据库响应非常慢,这将造成服务响应时间延迟增加,大多数线程阻塞等待数据响应返回,导致整个Tomcat线程池都被该服务占用,甚至拖垮整个Tomcat。因此,如果我们能把不同HTTP服务隔离到不
阅读全文
-
【SpringCloud】Hystrix服务熔断(十一)
摘要:熔断机制 熔断机制是应对雪崩效应的一种微服务链路保护机制,当扇出链路的某个微服务出错不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。 当检测该节点微服务调用响应正常后,恢复调用链路。 在SpringCloud框架里,熔断机制通过Hystrix实现,Hy
阅读全文
-
【SpringCloud】Hystrix服务降级(十)
摘要:Hystrix介绍 Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。 “断路器”本身是一种开关装置,当某个服务单元发生
阅读全文
-
【SpringCloud】OpenFeign服务超时与日志输出(九)
摘要:OpenFeign服务超时 搭建项目:参考上一章项目:【SpringCloud】OpenFeign服务调用(八) 情景:在SpringCloud微服务调用的时候,肯能某些提供的服务没有及时响应,或者服务处理时间较长,可能造成调用方超时。如果使用OpenFeign调用服务的话,会自动断开,并报错。如果
阅读全文
-
【SpringCloud】OpenFeign服务调用(八)
摘要:OpenFeign介绍 前面在使用Ribbon+RestTemplate时,利用RestTemplate对http请求的封装处理,形成了一套模版化的调用方法。但是在实际开发中,对于服务依赖的调用可能不止一处,往往一个接口会被多处调用。所有Feign在此基础上做了进一步封装,由他来帮助我们定义和实现依
阅读全文
-
【SpringCloud】自定义Ribbon均衡策略(七)
摘要:本章介绍Ribbon自定义规则 Ribbon自带随机均衡策略 1、搭建项目,参考:【SpringCloud】服务提供者集群与服务发现Discovery(三) 2、新增配置类,配置类中注入IRule的实现类 在调用者项目(test-springcloud-order8000)中,新增一个配置类com.
阅读全文
-
【SpringCloud】Ribbon服务调用(六)
摘要:Ribbon介绍 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具 Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法和服务调用。Ribbon客户端组件提供一系列完善的配置项如连接超时、重试等。简单的说,就是在配置
阅读全文
-
【Java】分布式CAP原则
摘要:CAP原则介绍 CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。 CAP的三个指标 一致性(Consis
阅读全文
-
【SpringCloud】Consul注册中心(五)
摘要:本章学习便是使用Consul作为注册中心。关于Consul介绍和安装参考【Application】Consul安装及运行 本章使用的Consul版本是 1.7.2 项目架构图如下: 搭建服务提供者 1、新建一个maven项目(test-springcloud-provider-payment8006
阅读全文
-
【Application】Consul安装及运行
摘要:Consul是什么 Consul 是一套开源的分布式服务发现和配置管理系统,由HashiCorp公司用Go语音开发 Consul是一个服务网格(微服务间的 TCP/IP,负责服务之间的网络调用、限流、熔断和监控)解决方案,它是一个一个分布式的,高度可用的系统,而且开发使用都很简便。它提供了一个功能齐
阅读全文
-
【SpringCloud】ZooKeeper注册中心(四)
摘要:基于Spring Cloud实现服务的发布与调用。而在18年7月份,Eureka2.0宣布停更了,将不再进行开发,所以对于公司技术选型来说,可能会换用其他方案做注册中心。本章学习便是使用ZooKeeper作为注册中心。 搭建zookeeper服务,参考【ZooKeeper】ZooKeeper安装及简
阅读全文
-
【SpringCloud】服务提供者集群与服务发现Discovery(三)
摘要:阅读本章,请先阅读【SpringCloud】快速入门(一) 本章使用Demo,是在SpringCloud单机版的基础上,扩充的。 服务提供者集群 既然SpringCloud的是微服务结构,那么对于同一种服务,当然不可能只有一个节点,需要部署多个节点 架构图如下: 由上可以看出存在多个同一种服务提供者
阅读全文
-
【SpringCloud】Eureka注册中心(二)
摘要:一、Eureka简介 Eureka是一项基于REST(代表性状态转移)的服务,主要在AWS云中用于定位服务,以实现负载均衡和中间层服务器的故障转移。我们称此服务为Eureka Server。Eureka还带有一个基于Java的客户端组件Eureka Client,它使与服务的交互更加容易。客户端还具
阅读全文
-
【SpringCloud】快速入门(一)
摘要:SpringCloud简介 Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布
阅读全文
-
【SpringBoot】SpringBoot 之RestTemplate的使用
摘要:RestTemplate介绍 调用远程服务时就必须使用HTTP客户端,主要有四种:JDK原生的URLConnection、Apache的Http Client、Netty的异步HTTP Client, Spring的RestTemplate。 解放了原先HttpClient的复杂提交,java中调用
阅读全文
|