摘要: 1. 禁用过滤器 2. 路由的映射 方法1: 说明:spring-cloud-provider服务名称,对其进行路由,一个*代表匹配一层,二个**代表匹配所有 测试:http://localhost:9876/consumer/user/1 测试:http://localhost:9876/prov 阅读全文
posted @ 2018-10-29 16:26 Eternally_dream 阅读(538) 评论(0) 推荐(0) 编辑
摘要: zuul不仅只是路由,还可以自定义过滤器来实现服务验证。 实现案例:自定义过滤器,检验头部是否带有token,如果token=wangx,则通过校验,若不存在或不为wangx则返回提示token错误。 扩展:一般情况下,可以采用JWT规范来做token的校验。 JWT:https://jwt.io/ 阅读全文
posted @ 2018-10-29 13:55 Eternally_dream 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1. Zuul的工作机制 Zuul提供了一个框架,可以对过滤器进行动态的加载,编译,运行。过滤器之间没有直接的相互通信,他们是通过一个RequestContext的静态类来进行数据传递的。RequetstContext类中的ThreadLocal变量来记录每个request所需要传递的数据。 它包含 阅读全文
posted @ 2018-10-29 11:16 Eternally_dream 阅读(986) 评论(0) 推荐(0) 编辑
摘要: 1. 什么时候Zuul? Zuul是一个基于jvm路由和服务端的负载均衡器,在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。 路由功能:相当于nginx的反向代理 比如: / 可能需要映射到你的web应用,/api/users/映射到用户服务 ,/api/shop映射到商城服务。 2. 使 阅读全文
posted @ 2018-10-29 10:29 Eternally_dream 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 前言: 上一节中,我们使用Hystrix Dashboard,只能看到单个应用内的服务信息。在生产环境中,我们经常是集群状态,所以我们需要用到Turbine这一应用。 作用:汇总系统内的多个服务的数据并显示到Hystrix Dashboard上。 1. 新建Turbine项目 添加依赖,pom文件 阅读全文
posted @ 2018-10-26 17:34 Eternally_dream 阅读(370) 评论(0) 推荐(0) 编辑
摘要: 1. 引入依赖 在前面几节中的消费者中添加pom依赖。 2. 在启动类上添加注解 添加@EnableHystrixDashboard 开启Dashboard。 3. 注册HystrixMetricsStreamServlet 在2.x之前的版本中,会自动注入该Servlet的,但是在2.x之后的版本 阅读全文
posted @ 2018-10-26 11:34 Eternally_dream 阅读(907) 评论(0) 推荐(0) 编辑
摘要: 1. Hystrix对Feign的支持 添加Feign中IUserBiz的实现类HystrixFallBack: 使用@component注解注册成组件。在@FeignClient注解里面添加fallback属性即可。 如下: 当出现请求错误或超时时,就会执行实现类中的方法。 熔断设置 单个应用禁用 阅读全文
posted @ 2018-10-25 22:43 Eternally_dream 阅读(530) 评论(0) 推荐(0) 编辑
摘要: 说明 : 1、Hystrix通过舱壁模式来隔离限制依赖的并发量和阻塞扩散 2、 Hystrix提供了两种隔离策略:线程池(THREAD)和信号量隔离SEMAPHORE)。 1. 线程池隔离(默认策略模式) 线程池隔离把执行依赖代码的线程与请求线程(如tomcat线程)分离,请求线程可以自由控制离开时 阅读全文
posted @ 2018-10-25 16:38 Eternally_dream 阅读(770) 评论(0) 推荐(0) 编辑
摘要: 工作流程(参考:https://github.com/Netflix/Hystrix/wiki/How-it-Works) 1、 创建一个HystrixCommand或HystrixObservableCommand实例 第一步就是构建一个HystrixCommand或HystrixObservab 阅读全文
posted @ 2018-10-25 15:12 Eternally_dream 阅读(1193) 评论(0) 推荐(0) 编辑
摘要: 为什么会有断路器? 在微服务架构中,系 是拆分成 一个的服务单元各间通过注册与发现 的方式互相依 赖。每个单元都在不同的进程中运行, 都是通过远程调用的方式进行信 ,这样就有可能因为网络原或 是依赖服务自身问题出现调用延迟或者故障 而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不 阅读全文
posted @ 2018-10-25 11:48 Eternally_dream 阅读(369) 评论(0) 推荐(0) 编辑