微服务弹性框架 hystrix-javanica

未知
Java 查看源码»
跨平台
2017-01-13
达尔文

javanica 是 Hystrix 开源社区贡献的一个类库。

Java 语言相比其他语言有一些比较 great 的优点,那就是反射(refleaction)和注解(annotation)。在传统的使用 Hystrix 时,你需要编写大量的代码,这显然对开发者并不友好,也会制约 Hystrix 未来的发展。这种模式下,你需要花很长时间编写一些 Hystrix commands。Javanica 项目的想法就是想通过引入 annotation 让你更容易地使用 Hystrix。

使用

要使用 hystrix-javanica,首先要在项目中加入 hystrix-javanica 的依赖。

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

为了实现 AOP 的功能,如果项目中已经使用了 AspectJ,那么还需要在 aop.xml 中添加 hystrix 的切面:

<aspects>
        ...
        <aspect name="com.netflix.hystrix.contrib.javanica.aop.
aspectj.HystrixCommandAspect"/>
        ...
</aspects>

更多 AspectJ 的配置你可以点击这里

如果使用 Spring AOP,那么需要通过使用 Spring AOP 的 namespace 来添加指定的配置,这样让 Spring 能够去管理切面,那些你使用 AspectJ 切面,需要像下面这样声明HystrixCommandAspect 作为 Spring 的 bean:

<aop:aspectj-autoproxy/>
    <bean id="hystrixAspect" class="com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect"></bean>

如果使用Spring的代码配置方式的话,则像下面这样:

@Configuration
public class HystrixConfiguration {  
  @Bean
  public HystrixCommandAspect hystrixAspect() {    
       return new HystrixCommandAspect();
  }

}

无论使用哪种方式来创建 proxy,javanica 都可以和 JDK 以及 CGLIB proxy 配合得很好。

的码云指数为
超过 的项目
加载中

评论(0)

暂无评论

暂无资讯

暂无问答

[Spring Cloud] 4.3 Circuit Breaker : Hystrix Clients

断路器:Hystrix客户端

2016/11/29 21:58
330
1
聊聊spring cloud netflix的HystrixCommands

序 本文主要研究一下spring cloud netflix的HystrixCommands。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-h......

2018/06/22 23:45
39
0
聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/...

2018/06/24 00:53
28
0
技术码霸阐述——Spring Cloud Netflix:熔断器:Hystrix Clients

Netfilix创建了一个名为Hystrix的库,实现了熔断器模式。在微服务架构中,它通常有多个服务调用层。 一: 微服务图 一个底层服务的故障会引发直至用户交互层的连锁故障。在一个设定时长为“m...

01/23 21:35
13
0
spring-cloud 学习笔记(3)

STEP 3 : 熔断器 1. 什么是熔断器 熔断器(CircuitBreaker) **"熔断器(CircuitBreaker)"本身是一种开关装置,用于在电路上保护线路过载,当线路中有电器发生短路时,“熔断器”**能够及时的切...

2018/07/11 16:50
2
0
SpringCloud系列第06节之断路器Hystrix

前言 微服务架构中,一般都存在着很多的服务单元 这样就有可能出现一个单元因为网络原因或自身问题而出现故障或延迟,导致调用方的对外服务也出现延迟 如果此时调用方的请求不断增加,时间一...

03/20 15:32
0
0
Swagger-UI配置使用

Swagger-UI配置使用

2016/09/12 13:00
732
2
深入 Spring Boot : 快速集成 Dubbo + Hystrix

背景 Hystrix 旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以...

2018/07/02 18:13
247
0
【推荐】Hystrix ,为什么说它是每个系统不可或缺的开源框架?

Spring Cloud集成了Hystrix,Hystrix在很多大公司里都在广泛的使用,我写了一个开源框架,叫Jboot(开源网址git.oschina.net/fuhai/jboot ),它也集成了Hystrix,同时以Hystrix为核心穿插在...

2018/03/03 12:10
715
4

没有更多内容

加载失败,请刷新页面

返回顶部
顶部