Hystrix案例准备—SpringCloud(H版)微服务学习教程(26)
本节我们主要演示我们原先的分布式系统由于某些接口被高并发访问会导致其他正常的接口也会被拖慢,甚至导致超时报错的线下。为我们引入Hystrix做准备。下面我们要准备好Hystrix案例的演示环境,这里我们将之前的项目只启用cloud-eureka-server7001,并恢复为单机版,这里就不多说了,只需要修改yml配置,即: #单机版 defaultZ……
Hystrix断路器概述—SpringCloud(H版)微服务学习教程(25)
一、分布式面临的问题 复杂分布式体系结构中的应用程序有数十个依赖关系(服务之间相互调用),每个依赖关系在某些时候将不可避免的失败。 多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C又调用其它的微服务,这就是所谓的“扇出”。如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而……
OpenFeign日志打印配置—SpringCloud(H版)微服务学习教程(24)
OpenFeign提供了日志打印功能,我们可以通过配置来调整日志级别,从而了解Feign中Http请求的细节,说白了就是对OpenFeign接口的调用情况进行监控和输出。 一、OpenFeign日志级别 OpenFeign提供的日志级别有如下4种: 二、配置实现 1)配置Bean 我们需要在消费端cloud-consumer-feign-order80模块中……
OpenFeign超时控制—SpringCloud(H版)微服务学习教程(23)
接着我们上一小节的内容,我们在cloud-provider-payment8001和cloud-provider-payment8002的PaymentController中新增一个演示超时的方法如下: @GetMapping(value = "/payment/feign/timeout") public String paym……
OpenFeign实现服务调用—SpringCloud(H版)微服务学习教程(22)
通过之前的学习,我们知道可以使用OpenFeign代替Ribbon+RestTemplate实现服务的负载均衡调用,下面我们来准备好演示环境。 第1步:创建Module 我们在mscloud下创建名为cloud-consumer-feign-order80模块 第2步:改pom pom.xml如下: <?xml version="1.0&……
OpenFeign概述—SpringCloud(H版)微服务学习教程(21)
一、OpenFeign是什么 Feign是一个声明式的Web Service客户端。它的出现使开发Web Service客户端变得很简单。使用Feign只需要创建一个接口加上对应的注解,比如:FeignClient注解。Feign有可插拔的注解,包括Feign注解和JAX-RS注解。Feign也支持编码器和解码器,Spring Cloud Open Feig……
Ribbon实现负载均衡—SpringCloud(H版)微服务学习教程(20)
一、环境准备 为了实现Ribbon负载均衡的演示,我们首先将项目恢复到我们第12小节的状态,即:我们有 二、架构说明 Ribbon在工作时分成两步: 1)第一步先选择Eureka Server ,它优先选择在同一个区域内负载较少的server。 2)第二步再根据用户指定的策略,在从server取到的服务注册列表中选择一个地址 。 其中Ribbon提供了多种策……
Ribbon简介及负载均衡—SpringCloud(H版)微服务学习教程(19)
一、Ribbon是什么 Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法,将Netflix的中间层服务连接在一起。Ribbon客户端组件提供一系列完善的配置项如连接超时,重试等。简单的说,就是在配置文件中列出Load Balancer(简称LB)后面所有的机器,Ribbon会自动的帮助你基于某种规则(如简单轮询,随即连接等)……
Eureka、Zookeeper和Consul区别及CAP架构对比—SpringCloud(H版)微服务学习教程(18)
经过前面我们对Eureka、Zookeeper和Consul的学习,他们都可以实现服务注册中心,下面我们针对这3者做一个简单地对比,我们汇总为如下表格: 针对CAP理论的补充: CAP定理:CAP定理又称CAP原则,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition toleran……
Consul实现服务注册中心—SpringCloud(H版)微服务学习教程(17)
这一小节我们通过Consul来实现服务注册中心,具体的流程可参考zookeeper的,我们仍然不管持久层等代码,直接配置环境即可。 一、实现服务提供者 第1步:建Module 在mscloud下新建cloud-provider-payment8006模块 第2步:改pom pom中主要将zk的依赖换为consul的依赖,具体如下: <?xml ve……
Consul安装与运行—SpringCloud(H版)微服务学习教程(16)
一、Consul下载 我们可以根据自己系统的版本去官网下载对应得Consul,Consul下载地址,我这里下的是consul_1.9.4_windows_amd64.zip 二、Consul安装与运行 1)安装 我们只需要将zip解压即可,解压后只有一个consul.exe文件,我们可以直接通过cmd进行启动。 2)运行 a)查看版本号 我们打开cmd,进……
Consul简介—SpringCloud(H版)微服务学习教程(15)
一、Consul是什么? Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更”一站式”,内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。使用起来……