转自:http://youdang.github.io/2016/02/01/translate-hystrix-wiki-getting-started/
如何获取
二进制包和使用 Maven, Ivy, Gradle 或其他项目管理工具所需的依赖配置信息放置在 http://search.maven.org。
Maven 配置的例子:
1
2
3
4
5
|
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-core</artifactId>
<version>x.y.z</version>
</dependency>
|
Ivy 配置的例子:
1
|
<dependency org="com.netflix.hystrix" name="hystrix-core" rev="x.y.z" />
|
若你仅仅需要下载 jar 包,而不需要使用构建工具,那么你需要创建如下所示的一个 Maven pom 文件,并指定需要下载的版本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?xml version="1.0"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.netflix.hystrix.download</groupId>
<artifactId>hystrix-download</artifactId>
<version>1.0-SNAPSHOT</version>
<name>Simple POM to download hystrix-core and dependencies</name>
<url>http://github.com/Netflix/Hystrix</url>
<dependencies>
<dependency>
<groupId>com.netflix.hystrix</groupId>
<artifactId>hystrix-core</artifactId>
<version>x.y.z</version>
<scope/>
</dependency>
</dependencies>
</project>
|
然后执行如下命令:
1
|
mvn -f download-hystrix-pom.xml dependency:copy-dependencies
|
hystrix-core-*.jar 及其依赖的包会被下载到 ./target/dependency/ 目录下。
Hystrix 依赖 Java 6 或更高版本。
Hello World!
下面是使用 Hystrix 最简单的一个例子:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
public class CommandHelloWorld extends HystrixCommand<String> {
private final String name;
public CommandHelloWorld(String name) {
super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup"));
this.name = name;
}
protected String run() {
// a real example would do work like a network call here
return "Hello " + name + "!";
}
}
|
上述代码定义的『命令』的使用方式如下:
1
2
3
|
String s = new CommandHelloWorld("Bob").execute();
Future<String> s = new CommandHelloWorld("Bob").queue();
Observable<String> s = new CommandHelloWorld("Bob").observe();
|
更多的例子和说明请移步 如何使用 一章。
从源码构建
从 GitHub 上获得源码,然后执行如下命令进行构建:
1
2
3
|
$ git clone git@github.com:Netflix/Hystrix.git
$ cd Hystrix/
$ ./gradlew build
|
若想重新开始构建:
1
|
$ ./gradlew clean build
|
构建可能的输出如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
$ ./gradlew build
:hystrix-core:compileJava
:hystrix-core:processResources UP-TO-DATE
:hystrix-core:classes
:hystrix-core:jar
:hystrix-core:sourcesJar
:hystrix-core:signArchives SKIPPED
:hystrix-core:assemble
:hystrix-core:licenseMain UP-TO-DATE
:hystrix-core:licenseTest UP-TO-DATE
:hystrix-core:compileTestJava
:hystrix-core:processTestResources UP-TO-DATE
:hystrix-core:testClasses
:hystrix-core:test
:hystrix-core:check
:hystrix-core:build
:hystrix-examples:compileJava
:hystrix-examples:processResources UP-TO-DATE
:hystrix-examples:classes
:hystrix-examples:jar
:hystrix-examples:sourcesJar
:hystrix-examples:signArchives SKIPPED
:hystrix-examples:assemble
:hystrix-examples:licenseMain UP-TO-DATE
:hystrix-examples:licenseTest UP-TO-DATE
:hystrix-examples:compileTestJava
:hystrix-examples:processTestResources UP-TO-DATE
:hystrix-examples:testClasses
:hystrix-examples:test
:hystrix-examples:check
:hystrix-examples:build
BUILD SUCCESSFUL
Total time: 30.758 secs
|
重新构建的话,所有单元测试都会被执行,输出如下:
1
|
> Building > :hystrix-core:test > 147 tests completed
|
相关推荐
4. **命令模式**:Hystrix 使用命令模式将业务逻辑封装在命令对象中,便于管理和监控。 **Turbine** 是 Netflix 开发的另一个开源项目,它的主要作用是聚合多个 Hystrix 流,以提供整体的集群视图。在多实例环境下...
4. **Git仓库结构**:"barchart-wrap-axis-master"可能包括`pom.xml`(Maven构建文件)、源代码文件夹、测试文件、README文档等,使用者可以通过克隆这个仓库来获取整个项目,并在本地进行编译和开发。 5. **开发与...
在解压后,你可以找到项目的源代码、示例、文档以及构建脚本等资源。开发者可以克隆或下载这个仓库,然后使用Java IDE来导入项目,进行本地开发和调试。通常,这个目录结构会包括以下部分: 1. `src/main/java` - ...
1. 添加依赖:在`pom.xml`文件中,引入Spring Cloud Netflix Hystrix的相关依赖,以便在项目中使用Hystrix提供的功能。 2. 配置Hystrix Dashboard:通过Hystrix Dashboard,我们可以实时监控Hystrix的运行状态,...
有关 Hystrix 工作原理的更多信息,请参阅Java Hystrix wiki有关 API 文档,请参阅GoDoc如何使用import "github.com/afex/hystrix-go/hystrix"将代码作为 Hystrix 命令执行定义依赖于外部系统的应用程序逻辑,并将...
Hystrix作为Netflix开源的一个用于控制分布式系统服务容错的工具,其设计理念在于通过隔离、降级、熔断机制来防止分布式系统中个别服务的故障蔓延到整个系统,从而保障整体系统的高可用性。Hystrix能够帮助开发者在...
在Spring Cloud生态系统中,Eureka、Gateway、Feign和Hystrix是四个核心组件,它们协同工作以构建出高可用、高性能的微服务架构。让我们深入探讨这些组件以及它们如何整合。 1. **Eureka**:Eureka是Spring Cloud中...
gRPC的目标是提供一个简单、高效的通信机制,允许服务间进行微服务架构中的相互调用。...最后,根据项目提供的文档,学习如何在自己的gRPC客户端中集成和配置grpc-hystrix,以提升服务的稳定性和容错性。
- 使用SpringFox生成API文档 - 提供Swagger-UI可测试API界面 - 提供独立的HTML静态文档生成模块 - logback分别打印-info与-error双日志 - ExceptionHandler统一异常处理 - Hystrix服务融断及降级 - 选用较繁琐的...
hystrix熔断器、仪表盘、健康检查功能使用文档,教程非常详细,傻瓜式操作
在实际应用中,Netflix-Hystrix-809104c这个版本可能包含了Hystrix的源代码、文档、示例以及其他相关资源。开发者可以通过阅读源码、运行示例,深入理解Hystrix的工作原理,并将其灵活地应用于自己的项目中,实现更...
该中文参考手册是Spring Cloud官方提供的详细文档,旨在帮助开发者理解和使用这个框架。PDF版的手册包含了所有关键组件的介绍、配置指南、最佳实践和示例代码,是学习和查阅Spring Cloud不可或缺的资源。 1. **...
Hystrix官网的原理介绍以及使用介绍非常详细,非常建议看一遍,地址见参考文档部分。1Hystrix能做什么通过hystrix可以解决雪崩效应问题,它提供了资源隔离、降级机制、融断、缓存等功能。资源隔离:包括线程池隔离和...
- **快速开始**:提供了关于如何开始使用Spring Cloud Config Server的指导。 - **客户端使用**:描述了如何配置客户端应用程序从Config Server获取配置。 - **Spring Cloud Config服务器**:解释了如何设置和配置一...
在上了解有关Hystrix和其他断路器解决的问题的更多。 优点的简短摘要是: 下游服务失败,所有请求永久挂起。 没有电路,您的服务也将永远挂起。 因为您有电路,所以可以快速检测到此故障,并且可以在等待下游服务...
springCloud项目基础demo全部文件夹,包括文档桌面,代码中有说明与注释,附带参考的博客地址 项目文件夹介绍: springcloud-eureka ---注册中心(核心)参考博客地址: ... client ---- feign方式调用demo项目 参考...
5. Spring Cloud Config:介绍了快速开始使用Spring Cloud Config客户端和服务器的方法,以及如何进行环境库配置和健康指标的管理。 6. 安全性和加密:文档讲解了Spring Cloud Config中安全性的处理,包括加密和...
基础篇可能涵盖了SpringCloud的基础概念和使用方法,如Eureka服务发现、Ribbon客户端负载均衡、Zuul边缘服务、Hystrix断路器等。Eureka作为服务注册与发现的组件,使得服务之间的调用变得简单。Ribbon则提供了客户端...
Eureka客户端的使用方法也是文档中的一个重要部分,其中涵盖了如何利用Eureka客户端来发现其他服务,以及如何在不使用原生Netflix Eureka客户端的情况下进行替代方案的探索。此外,文档还探讨了为什么服务注册可能...
Spring Cloud还包含了其他组件,如Ribbon(客户端负载均衡器)、Hystrix(容错管理工具,用于实现断路器模式)、Zuul(边缘服务/API网关)等,它们共同构建了一个完整的微服务生态系统,解决了服务发现、负载均衡、...