hystrix文档翻译之开始使用

获取包

  使用maven获取包。

<dependency>
    <groupId>com.netflix.hystrix</groupId>
    <artifactId>hystrix-core</artifactId>
    <version>x.y.z</version>
</dependency>

  使用lvy获取包

<dependency org="com.netflix.hystrix" name="hystrix-core" rev="x.y.z" />

  如果希望使用maven下载包

<?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>

  然后执行

mvn -f download-hystrix-pom.xml dependency:copy-dependencies

  它将会下载hystrix-core-*.jar和他的依赖包。

  使用hystrix的一个简单例子:

public class CommandHelloWorld extends HystrixCommand<String> {

    private final String name;

    public CommandHelloWorld(String name) {
        super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup"));
        this.name = name;
    }

    @Override
    protected String run() {
        // a real example would do work like a network call here
        return "Hello " + name + "!";
    }
}

  有一下三种方式调用命令

String s = new CommandHelloWorld("Bob").execute();
Future<String> s = new CommandHelloWorld("Bob").queue();
Observable<String> s = new CommandHelloWorld("Bob").observe();

编译hystrix

  checkout源码并编译

$ git clone [email protected]:Netflix/Hystrix.git
$ cd Hystrix/
$ ./gradlew build

  执行 clean build

$ ./gradlew clean build
时间: 2024-10-23 11:42:15

hystrix文档翻译之开始使用的相关文章

hystrix文档翻译之概述

Hystrix是什么 在一个大型的分布式系统中,难免有些依赖服务会失败.hystrix通过容错逻辑来控制不同服务间的交互.hystrix通过隔离各服务交互节点来防止连级错误,并且提供降级功能,最终保证系统的可靠性. hystrix的历史 略 hystrix作用 hystrix被设计来解决一下问题: 通过控制调用第三方包时的延时和错误来提供保护. 避免复杂系统的连级错误. 对于错误快速失败和恢复. 当异常出现是提供降级服务. 实时的监控,高警,和其他控制选项. hystrix解决哪些问题 一个复杂

hystrix文档翻译之工作原理

流程图 下面的图片显示了一个请求在hystrix中的流程图. 1.构造一个HystrixCommand或者HystrixObservableCommand对象 第一步是创建一个HystrixCommand或者HystrixObservableCommand对象来执行依赖请求.创建时需要传递相应的参数. 如果请求只返回一个单一值,使用HystrixCommand. HystrixCommand command = new HystrixCommand(arg1, arg2); 如果希望返回一个Ob

hystrix文档翻译之如何使用

Hello World! 使用HystrixCommand实现"Hello World". public class CommandHelloWorld extends HystrixCommand<String> { private final String name; public CommandHelloWorld(String name) { super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup&

hystrix文档翻译之插件

插件 可以通过实现插件来改变Hystrix的行为.可以通过HystrixPlugins来注册自定义插件,这些插件会被应用到HystrixCommand,HystrixObservableCommand和HystrixCollapser. 插件类型 事件通知 在HystrixCommand和HystrixObservableCommand执行过程中会触发一些时间,实现HystrixEventNotifier可以监听这些事件进行一些告警和数据收集. 发布metrics 通过实现HystrixMetr

Lua2.4 文档翻译

Lua2.4 文档翻译完了,这次的翻译感觉和 Lua1.1 的时候有点不一样. 这次也是在业余时间里断断续续的完成的,所以,进度也同样是比较慢. 这次的翻译内容明显比 Lua1.1 的时候多了很多,1.1 的时候手册是 19 页,这次的手册是 38 多页.不过,算一算,1.1 的时候是两个文档,加在一起的话就和 2.4 差不多了. 翻 译时是以 1.1 做为基础的,在翻译的过程中顺便发现 1.1 的不少的翻译错误之处.好的是基本上都是比较低级的错误,比如输入错误和句子明显的不通顺.就不在老版本上

笔记:Spring Cloud Feign Hystrix 配置

在 Spring Cloud Feign 中,除了引入了用户客户端负载均衡的 Spring Cloud Ribbon 之外,还引入了服务保护与容错的工具 Hystrix,默认情况下,Spring Cloud Feign 会为将所有 Feign客户端的方法都封装到 Hystrix 命令中进行服务保护,需要注意的是 Ribbon 的超时与 Hystrix 的超时是二个概念,需要让 Hystrix 的超时时间大于 Ribbon 的超时时间,否则 Hystrix 命令超时后,该命令直接熔断,重试机制就没

spring cloud 学习(4) - hystrix 服务熔断处理

hystrix 是一个专用于服务熔断处理的开源项目,当依赖的服务方出现故障不可用时,hystrix有一个所谓的断路器,一但打开,就会直接拦截掉对故障服务的调用,从而防止故障进一步扩大(类似中电路中的跳闸,保护家用电器). 使用步骤:(仍然在之前的示例代码上加以改造) 一.添加hystrix依赖 compile 'org.springframework.cloud:spring-cloud-starter-hystrix' 二.在需要熔断的方法上添加注解 package com.cnblogs.y

第五章 服务熔断(hystrix)+ retrofit底层通信(AsyncHttpclient)

一.集群容错 技术选型:hystrix.(就是上图中熔断器) 熔断的作用: 第一个作用: 假设有两台服务器server1(假设可以处理的请求阈值是1W请求)和server2,在server1上注册了三个服务service1.service2.service3,在server2上注册了一个服务service4,假设service4服务响应缓慢,service1调用service4时,一直在等待响应,那么在高并发下,很快的server1处很快就会达到请求阈值(server1很快就会耗尽处理线程)之后

Hibernate 3.3.2 文档翻译 Day01

Hibernate 3.3.2 文档翻译 翻译人:微冷的雨 第一次书写:2015年11月29日 本人呕心沥血之作,请细心阅读领悟! Day01-1.1 项目描述 微冷的雨翻译:例如,我们将要建立一个可以存储我们关注的events(注:实体集合)和相关信息的小型数据库应用. 注意(Tip):虽然你可以使用任何你感觉合适的数据库,我们将使用HSQLDB(内存级别)这款数据库,以避免对数据库服务器的安装. Day01-1.1.1 项目构建 微冷的雨翻译:我们的首要工作是搭建开发环境.我们将使用我们提倡