Dubbo整合hystrix

迈不过友情╰ 2022-05-13 05:22 252阅读 0赞

整合hystrix

Dubbo提供了,集群容错机制
可以通过配置,进行使用

在实际开发中
一般,都是通过整合hystrix,进行集群容错

Hystrix

是Spring cloud中,默认整合的服务容错解决方案
通过,控制那些访问远程系统、服务和第三方库的节点
从而,对延迟和故障提供更强大的容错能力

Hystrix
具备拥有回退机制和断路器功能的线程和信号隔离
请求缓存和请求打包,以及监控和配置等功能

使用方式

服务提供者、消费者
导入Hystrix场景启动器
配置spring-cloud-starter-netflix-hystrix

spring boot官方提供了对hystrix的集成
可以直接在pom.xml里加入依赖

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
  4. <version>1.4.4.RELEASE</version>
  5. </dependency>

启用Hystrix

通过注解,启动Hystrix功能

在Application类上增加@EnableHystrix
启用hystrix starter

  1. @EnableHystrix //开启服务容错
  2. @SpringBootApplication
  3. public class BootUserServiceProviderApplication {
  4. public static void main(String[] args) {

服务提供者

在Dubbo的Provider上,增加@HystrixCommand配置
这样,调用就会经过Hystrix代理

在方法上,通过@HystrixCommand注解
开启Hystrix异常

  1. @Service//暴露服务
  2. @Component
  3. public class UserServiceImpl implements UserService {
  4. @HystrixCommand
  5. @Override
  6. public List<UserAddress> getUserAddressList(String userId) {

服务消费者

在Dubbo的Provider上,增加@HystrixCommand配置
这样,调用就会经过Hystrix代理

在方法上,通过@HystrixCommand注解
开启Hystrix异常

通过fallbackMethod属性
配置发生异常,执行的方法

  1. @Service
  2. public class OrderServiceImpl implements OrderService {
  3. //@Autowired
  4. @Reference(loadbalance="roundrobin")
  5. UserService userService;
  6. @HystrixCommand(fallbackMethod="hello")
  7. @Override
  8. public List<UserAddress> initOrder(String userId) {
  9. // TODO Auto-generated method stub
  10. System.out.println("用户id:"+userId);
  11. //1、查询用户的收货地址
  12. List<UserAddress> addressList = userService.getUserAddressList(userId);
  13. return addressList;
  14. }
  15. public List<UserAddress> hello(String userId) {
  16. // TODO Auto-generated method stub
  17. return Arrays.asList(new UserAddress(10, "测试地址", "1", "测试", "测试", "Y"));
  18. }
  19. }

发表评论

表情:
评论列表 (有 0 条评论,252人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Dubbo系列十:整合Hystrix

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

    相关 springboot整合dubbo

    本文主要通过代码示例来说明springboot和dubbo的整合方式 以下是核心代码示例,其他的资源整合配置和spring+Dubbo相同 声明下:dubbo网址在下面配

    相关 SpringBoot整合dubbo

    1.什么是Dubbo Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服