服务容错保护断路器Hystrix之三:断路器监控(Hystrix Dashboard)-单体监控
摘要:turbine:英 [ˈtɜ:baɪn] 美 [ˈtɜ:rbaɪn] n.汽轮机;涡轮机;透平机 一、Hystrix Dashboard简介 在微服务架构中为了保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型。断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标。Hystrix
阅读全文
posted @
2017-09-15 11:22
duanxz
阅读(2893)
推荐(0)
服务容错保护断路器Hystrix之二:Hystrix工作流程解析
摘要:一、总运行流程 当你发出请求后,hystrix是这么运行的 红圈 :Hystrix 命令执行失败,执行回退逻辑。也就是大家经常在文章中看到的“服务降级”。 绿圈 :四种情况会触发失败回退逻辑( fallback )。 第一种 :short-circuit ,处理链路处于熔断的回退逻辑,在 「3. #
阅读全文
posted @
2017-09-14 15:38
duanxz
阅读(8378)
推荐(0)
服务容错保护断路器Hystrix之一:入门示例介绍(springcloud引入Hystrix的两种方式)
摘要:限流知识《高可用服务设计之二:Rate limiting 限流与降级》 在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问
阅读全文
posted @
2017-09-14 11:52
duanxz
阅读(3879)
推荐(0)
客户端负载均衡Feign之四:Feign配置
摘要:Ribbon配置 在Feign中配置Ribbon非常简单,直接在application.properties中配置即可,如: # 设置连接超时时间 ribbon.ConnectTimeout=500 # 设置读取超时时间 ribbon.ReadTimeout=5000 # 对所有操作请求都进行重试
阅读全文
posted @
2017-09-14 11:41
duanxz
阅读(1786)
推荐(0)
客户端负载均衡Feign之三:Feign设计原理
摘要:什么是Feign? Feign 的英文表意为“假装,伪装,变形”, 是一个http请求调用的轻量级框架,可以以Java接口注解的方式调用Http请求,而不用像Java中通过封装HTTP请求报文的方式直接调用。Feign通过处理注解,将请求模板化,当实际调用的时候,传入参数,根据参数再应用到请求上,进
阅读全文
posted @
2017-09-14 11:40
duanxz
阅读(3409)
推荐(0)
客户端负载均衡Feign之二:Feign 基本功能介绍&超时设置
摘要:一、Ribboon配置 二、重试机制 三、Hystrix配置 四、服务降级配置 五、其他配置 六、日志配置 七、从源码中观察Feign中的可用配置项 8、Feign的timeout配置总结 一、Ribboon配置 在Spring cloud Feign中客户端负载均衡是通过Spring cloud
阅读全文
posted @
2017-09-14 11:39
duanxz
阅读(3596)
推荐(0)
客户端负载均衡Feign之一:申明式服务调用Feign入门示例
摘要:Spring Cloud提供了Ribbon和Feign作为客户端的负载均衡。 前面使用了Ribbon做客户端负载均衡,使用Hystrix做容错保护,这两者被作为基础工具类框架被广泛地应用在各个微服务的实现中。SpringCloudFeign是将两者做了更高层次的封装以简化开发。它基于Netfix F
阅读全文
posted @
2017-09-13 18:34
duanxz
阅读(2389)
推荐(0)
客户端负载均衡Ribbon之二:Loadbalance的源码
摘要:Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法。 像nginx可以使用负载均衡分配流量,ribbon为客户端提供负载均衡,dubbo服务调用里的负载均衡等等,很多地方都使用到了负载均衡。 使用负载均衡带来的好处很明显: 负载均衡有好几种实现策略,常见的
阅读全文
posted @
2017-09-13 11:57
duanxz
阅读(17007)
推荐(0)
客户端负载均衡Ribbon之一:Spring Cloud Netflix负载均衡组件Ribbon介绍
摘要:Netflix:['netfliːks] ribbon:英[ˈrɪbən]美[ˈrɪbən]n. 带; 绶带; (打印机的) 色带; 带状物;v. 把…撕成条带; 用缎带装饰; 形成带状; ribbon:英[ˈrɪbən]美[ˈrɪbən]n. 带; 绶带; (打印机的) 色带; 带状物;v. 把…
阅读全文
posted @
2017-09-13 11:57
duanxz
阅读(1805)
推荐(0)
Springboot Actuator之四:重写与注册服务中心的健康检查逻辑(判断依据是tcp连接是否正常)
摘要:支付项目中,调用银行的支付接口时,协议不同时: 出口网关:与外围银行对接的模块(出口网关)是socket长连接与支付公司对接,该网关需要提供http接口给内部系统调用,当socket没有建立连接时(网关服务的高可用是haProxy搭建的,有些服务的socket可能未连上支付公司),此时网关的http
阅读全文
posted @
2017-09-07 11:33
duanxz
阅读(1625)
推荐(0)
以zookeeper为注册中心搭建spring cloud环境
摘要:在spring cloud体系中,有多种手段实现注册中心,本例中采用zookeeper作为注册中心的角色。服务提供者向zookeeper注册,服务消费者从zookeeper中发现服务提供者的相关信息,从而远程调用服务提供方。 spring cloud与zookeeper的集成主要依赖spring-c
阅读全文
posted @
2017-06-22 09:28
duanxz
阅读(1831)
推荐(0)
服务注册发现consul之一:consul介绍、安装、及功能介绍
摘要:Consul 是一套开源的分布式服务发现和配置管理系统,由 HashiCorp 公司用 Go 语言开发。它具有很多优点。包括:基于 raft 协议,比较简洁; 支持健康检查, 同时支持 HTTP 和 DNS 协议 支持跨数据中心的 WAN(广域网) 集群 提供图形界面 跨平台,支持 Linux、Ma
阅读全文
posted @
2017-06-20 11:09
duanxz
阅读(15993)
推荐(0)
服务注册发现consul之二:在Spring Cloud中使用Consul实现服务的注册和发现
摘要:《Springboot Actuator之二:actuator在监控和管理指标的特性》 《服务注册发现consul之二:在Spring Cloud中使用Consul实现服务的注册和发现》 《Consul之:服务健康监测》 首先安装consul环境,参照之前的文章:《服务注册发现consul之一:co
阅读全文
posted @
2017-06-19 16:32
duanxz
阅读(10113)
推荐(0)
服务注册发现consul之三:服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka
摘要:这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论: FeatureConsulzookeeperetcdeuerka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 可配支持 多数据中心 支持 — — — kv存储服务 支持 支持 支持 — 一致性算
阅读全文
posted @
2017-06-19 12:02
duanxz
阅读(5479)
推荐(0)
服务注册发现consul之四: 分布式锁之四:基于Consul的KV存储和分布式信号量实现分布式锁
摘要:一、基于key/value实现 我们在构建分布式系统的时候,经常需要控制对共享资源的互斥访问。这个时候我们就涉及到分布式锁(也称为全局锁)的实现,基于目前的各种工具,我们已经有了大量的实现方式,比如:基于Redis的实现、基于Zookeeper的实现。本文将介绍一种基于Consul 的Key/Val
阅读全文
posted @
2017-06-17 18:15
duanxz
阅读(5807)
推荐(0)
传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案
摘要:技术架构在向spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项目调用。我们需要使用原生的Eureka/Ribbon手动完成注册中心、查询服务列表功能。如果是非Ja
阅读全文
posted @
2017-06-17 17:56
duanxz
阅读(11090)
推荐(0)
spring cloud sleuth在spring中创建span
摘要:spring-cloud-sleuth-core-1.3.3.RELEASE-sources.jar org.springframework.cloud.sleuth.log.Slf4jSpanLogger.java 将Span信息写到MDC,log将MDC的traceId等信息打印 @Overri
阅读全文
posted @
2017-05-02 16:05
duanxz
阅读(2846)
推荐(0)
Spring Cloud 各组件调优参数
摘要:Spring Cloud整合了各种组件,每个组件往往还有各种参数。本文来详细探讨Spring Cloud各组件的调优参数。 Tomcat配置参数 Hystrix配置参数 如隔离策略是THREAD: 如果想对特定的HystrixThreadPoolKey 进行配置,则将default 改为 Hystr
阅读全文
posted @
2017-04-18 15:54
duanxz
阅读(1882)
推荐(1)
微服务架构的基础框架选择:Spring Cloud还是Dubbo?
摘要:Round 1:概览 SpringCloud 与Dubbo Round 2:架构完整度 或许很多人会说Spring Cloud和Dubbo的对比有点不公平,Dubbo只是实现了服务治理,而Spring Cloud下面有17个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一
阅读全文
posted @
2017-04-07 17:04
duanxz
阅读(856)
推荐(0)
服务注册发现consul之五:Consul移除失效服务的正确姿势
摘要:《consul之:常用API接口》 spring cloud微服务不定期会出现网络请求失败的错误。于是看了下后台日志,发现有几个请求会报如下的异常: Caused by: feign.RetryableException: Connection refused (Connection refused
阅读全文
posted @
2017-04-07 16:16
duanxz
阅读(13192)
推荐(0)