服务网关zuul之六:Zuul高可用
摘要:我们实际使用Zuul的方式如上图,不同的客户端使用不同的负载将请求分发到后端的Zuul,Zuul在通过Eureka调用后端服务,最后对外输出。因此为了保证Zuul的高可用性,前端可以同时启动多个Zuul实例进行负载,在Zuul的前端使用Nginx或者F5进行负载转发以达到高可用性。
阅读全文
posted @
2018-09-27 20:44
duanxz
阅读(2234)
推荐(0)
服务网关zuul之五:熔断
摘要:路由熔断 当我们的后端服务出现异常的时候,我们不希望将异常抛出给最外层,期望服务可以自动进行一降级。Zuul给我们提供了这样的支持。当某个服务出现异常时,直接返回我们预设的信息。 如果没有配置fallback,zuul调用时超时了, 我们通过自定义的fallback方法,并且将其指定给某个route
阅读全文
posted @
2018-09-27 20:43
duanxz
阅读(8580)
推荐(0)
spring boot 2.0.0由于版本不匹配导致的NoSuchMethodError问题解析
摘要:spring boot升级到2.0.0以后,项目突然报出 NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init> 异常,跟踪源代码无果的情况下。突然想到有可能是spring boot 和
阅读全文
posted @
2018-09-25 18:31
duanxz
阅读(1228)
推荐(0)
使用 Spring Cloud 和 Docker 构建微服务架构
摘要:如何使用Spring Boot、Spring Cloud、Docker和Netflix的一些开源工具来构建一个微服务架构。 本文通过使用Spring Boot、Spring Cloud和Docker构建的概念型应用示例,提供了了解常见的微服务架构模式的起点。 该代码可以在Github上获得,并且在D
阅读全文
posted @
2018-09-22 10:23
duanxz
阅读(1651)
推荐(0)
服务容错保护断路器Hystrix之八:Hystrix资源隔离策略
摘要:在一个基于微服务的应用程序中,您通常需要调用多个微服务完成一个特定任务。不使用舱壁模式,这些调用默认是使用相同的线程来执行调用的,这些线程Java容器为处理所有请求预留的。在高服务器请求的情况下,一个性能较低的服务会“霸占”java容器中绝大多数线程,而其它性能正常的服务的请求则需要等待线程资源的释
阅读全文
posted @
2018-09-20 16:07
duanxz
阅读(9886)
推荐(2)
nginx+upsync+consul 构建动态nginx配置系统
摘要:参考: http://www.php230.com/weixin1456193048.html 【upsync模块说明、性能评测】 https://www.jianshu.com/p/76352efc5657 https://www.jianshu.com/p/c3fe55e6a5f2 根源问题 n
阅读全文
posted @
2018-09-19 11:37
duanxz
阅读(2152)
推荐(0)
服务容错保护断路器Hystrix之六:缓存功能的使用
摘要:高并发环境下如果能处理好缓存就可以有效的减小服务器的压力,Java中有许多非常好用的缓存工具,比如Redis、EHCache等,当然在Spring Cloud的Hystrix中也提供了请求缓存的功能,我们可以通过一个注解或者一个方法来开启缓存,进而减轻高并发环境下系统的压力。 请求缓存的整个生命周期
阅读全文
posted @
2018-09-18 11:39
duanxz
阅读(954)
推荐(0)
Consul之:服务健康监测
摘要:《Springboot Actuator之二:actuator在监控和管理指标的特性》 《服务注册发现consul之二:在Spring Cloud中使用Consul实现服务的注册和发现》 《Consul之:服务健康监测》 《consul之:常用API接口》 《springCloud+consul优雅
阅读全文
posted @
2018-09-17 16:27
duanxz
阅读(33018)
推荐(0)
Consul之:服务注册与发现
摘要:一、服务的管理(注册与发现)有三种方式: 1:通过配置文件的方式静态注册2:通过HTTP API接口来动态注册(spring cloud使用方式,spring cloud中使用的是consul api)3:使用consul client或consul api(程序)实现服务的注册和发现(Java非s
阅读全文
posted @
2018-09-17 14:28
duanxz
阅读(10939)
推荐(1)
Consul之:key/value存储
摘要:key/value作用 动态修改配置文件 支持服务协同 建立leader选举 提供服务发现 集成健康检查 除了提供服务发现和综合健康检查,Consul还提供了一个易于使用的键/值存储。这可以用来保存动态配置,协助服务协调,建立领导人选举,并启用其他开发人员可以想构建的任何其他内容。 有两种方法可以使
阅读全文
posted @
2018-09-17 10:26
duanxz
阅读(20541)
推荐(4)
服务容错保护断路器Hystrix之六:服务熔断和服务降级
摘要:伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前(管你接受不接受),其实大多数概念以前就有,但很少被提的这么频繁(现在好像不提及都不好意思交流了)。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。 其实对老外的总结能力一直特别崇拜,Kevin Kel
阅读全文
posted @
2018-09-13 16:41
duanxz
阅读(3372)
推荐(0)
Spring Boot 容器选择 Undertow 而不是 Tomcat
摘要:Spring Boot 内嵌容器Undertow参数设置 配置项: # 设置IO线程数, 它主要执行非阻塞的任务,它们会负责多个连接, 默认设置每个CPU核心一个线程 # 不要设置过大,如果过大,启动项目会报错:打开文件数过多 server.undertow.io-threads=16 # 阻塞任务
阅读全文
posted @
2018-07-19 17:18
duanxz
阅读(99701)
推荐(6)
SpringCloud之个性化日志追踪
摘要:方案背景日志跟踪技术使得查找一次调用所产生的日志信息变得方便。当需要排查一些问题时,可以根据报错的上下文进行分析,给问题诊断带来方便。在spring cloud微服务中,单体应用的日志跟踪技术已经不能满足需求,因而一般采用Spring Cloud Sleuth组件提供的功能来完成分布式日志跟踪。Sp
阅读全文
posted @
2017-12-07 10:45
duanxz
阅读(7123)
推荐(0)
服务链路追踪(Spring Cloud Sleuth)
摘要:sleuth:英 [slu:θ] 美 [sluθ] n.足迹,警犬,侦探vi.做侦探 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元。由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位。主要体现在,一个请求可能需要调用很多个服务,而内部服务的调
阅读全文
posted @
2017-09-19 17:16
duanxz
阅读(67307)
推荐(17)
服务网关zuul之四:zuul网关配置
摘要:禁用过滤器在Zuul中特别提供了一个参数来禁用指定的过滤器,该参数的配置格式如下:zuul.AccessFilter.pre.disable=true动态加载动态路由通过结合Spring Cloud Config的动态刷新机制,可以是实现动态刷新路由规则的功能。动态过滤器对于实现请求过滤器的动态加载
阅读全文
posted @
2017-09-18 16:05
duanxz
阅读(3011)
推荐(0)
服务网关zuul之三:zuul统一异常处理
摘要:我们详细介绍了Spring Cloud Zuul中自己实现的一些核心过滤器,以及这些过滤器在请求生命周期中的不同作用。我们会发现在这些核心过滤器中并没有实现error阶段的过滤器。那么这些过滤器可以用来做什么呢?接下来,本文将介绍如何利用error过滤器来实现统一的异常处理。 过滤器中抛出异常的问题
阅读全文
posted @
2017-09-18 14:53
duanxz
阅读(48828)
推荐(6)
服务网关zuul之二:过滤器--请求过滤执行过程(源码分析)
摘要:Zuul的核心是一系列的过滤器,这些过滤器可以完成以下功能: 身份认证与安全:识别每个资源的验证要求,并拒绝那些与要求不符的请求。 审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生成视图。 动态路由:动态地将请求路由到不同的后端集群。 压力测试:逐渐增加执行集群的流量,以了解性能。
阅读全文
posted @
2017-09-18 11:20
duanxz
阅读(11446)
推荐(3)
服务网关zuul之一:入门介绍
摘要:通过之前几篇Spring Cloud中几个核心组件的介绍,我们已经可以构建一个简略的(不够完善)微服务架构了。比如下图所示: 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Sp
阅读全文
posted @
2017-09-15 18:14
duanxz
阅读(33378)
推荐(5)
服务容错保护断路器Hystrix之五:配置--temp https://blog.csdn.net/tongtong_use/article/details/78611225
摘要:接着《服务容错保护断路器Hystrix之二:Hystrix工作流程解析》中的《2.8、关于配置》再列举重要的配置如下 一、hystrix在生产中的建议 1、保持timeout的默认值(1000ms),除非需要修改(其实通常会修改) 2、保持threadpool的的线程数为10个,除非需要更多 3、依
阅读全文
posted @
2017-09-15 16:22
duanxz
阅读(3437)
推荐(0)
服务容错保护断路器Hystrix之四:断路器监控(Hystrix Dashboard)-turbine集群监控
摘要:turbine 英[ˈtɜ:baɪn] n. 汽轮机; 涡轮机; 透平机; OK,上文我们看了一个监控单体应用的例子,在实际应用中,我们要监控的应用往往是一个集群,这个时候我们就得采取Turbine集群监控了。Turbine有一个重要的功能就是汇聚监控信息,并将汇聚到的监控信息提供给Hystrix
阅读全文
posted @
2017-09-15 12:08
duanxz
阅读(2470)
推荐(0)