摘要: Zuul 主要功能就是转发,在转发过程中我们无法保证被转发的服务是可用的,这个时候就需要容错机制及回退机制。 容错机制 容错,简单来说就是当某个服务不可用时,能够切换到其他可用的服务上去,也就是需要有重试机制。在 Zuul 中开启重试机制需要依赖 spring-retry。首先在 pom.xml 中 阅读全文
posted @ 2021-08-25 16:42 Chen洋 阅读(178) 评论(0) 推荐(0)
摘要: Zuul 可以实现很多高级的功能,比如限流、认证等。想要实现这些功能,必须要基于 Zuul 给我们提供的核心组件“过滤器”。下面我们一起来了解一下 Zuul 的过滤器。 过滤器类型 Zuul 中的过滤器跟我们之前使用的 javax.servlet.Filter 不一样,javax.servlet.F 阅读全文
posted @ 2021-08-25 16:21 Chen洋 阅读(1950) 评论(0) 推荐(0)
摘要: Zuul 是 Netflix OSS 中的一员,是一个基于 JVM 路由和服务端的负载均衡器。提供路由、监控、弹性、安全等方面的服务框架。Zuul 能够与 Eureka、Ribbon、Hystrix 等组件配合使用。Zuul 的核心是过滤器,通过这些过滤器我们可以扩展出很多功能,比如: 1)动态路由 阅读全文
posted @ 2021-08-25 16:02 Chen洋 阅读(128) 评论(0) 推荐(0)
摘要: Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可以帮助我们快速发现系统中存在的问题。下面通过一个例子来学习。 一、新建一个Spring Cloud 项目,命名为hystrix-dashboard 1.1在po 阅读全文
posted @ 2021-08-25 14:23 Chen洋 阅读(131) 评论(0) 推荐(0)
摘要: 创建一个新的 Maven 项目 hystrix-feign-demo,增加 Hystrix 的依赖,代码如下所示。 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-n 阅读全文
posted @ 2021-08-25 13:08 Chen洋 阅读(191) 评论(0) 推荐(0)
摘要: Hystrix 的资源隔离策略有两种,分别为线程池和信号量。那我们为什么需要资源隔离呢?在一个分布式系统中,服务之间都是相互调用的,例如,我们容器(Tomcat)配置的线程个数为 1000,服务 A-服务 R,其中服务 I 的并发量非常的大,需要 500 个线程来执行,此时,服务 I 又挂了,那么这 阅读全文
posted @ 2021-08-25 12:55 Chen洋 阅读(702) 评论(0) 推荐(0)
摘要: Hystrix 是 Netflix 针对微服务分布式系统采用的熔断保护中间件,相当于电路中的保险丝。在分布式环境中,许多服务依赖项中的一些必然会失败。Hystrix 是一个库,通过添加延迟容忍和容错逻辑,帮助你控制这些分布式服务之间的交互。Hystrix 通过隔离服务之间的访问点、停止级联失败和提供 阅读全文
posted @ 2021-08-25 10:31 Chen洋 阅读(523) 评论(0) 推荐(0)
摘要: Feign的目标 feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。 引入Feign 项目中使用了gradle作为 阅读全文
posted @ 2021-08-25 10:15 Chen洋 阅读(276) 评论(0) 推荐(0)
摘要: Ribbon是一个为客户端提供负载均衡功能的服务,它内部提供了一个叫做ILoadBalance的接口代表负载均衡器的操作,比如有添加服务器操作、选择服务器操作、获取所有的服务器列表、获取可用的服务器列表等等。 需要解决的问题: ① 如何在配置Eureka Client注册中心时不去硬编码Eureka 阅读全文
posted @ 2021-08-25 09:55 Chen洋 阅读(424) 评论(1) 推荐(1)