专栏首页csicodubbo学习实践(4)之Springboot整合Dubbo及Hystrix服务熔断降级

dubbo学习实践(4)之Springboot整合Dubbo及Hystrix服务熔断降级

1. springboot整合dubbo

  • 在provider端,添加maven引入,修改pom.xml文件 引入springboot,版本:2.3.2.RELEASE,dubbo(org.apache.dubbo)版本:2.7.8,服务注册中心采用consul,添加consul注册支持

添加org.apache.curator包引入:

  • 在程序主入口处,添加配置文件扫描路径及启用dubbo

配置类:DubboConfiguration

里面包含应用信息,注册中心配置及应用服务协议定义 在Annotation目录下,定义服务接口定义IUserService及服务实现UserServiceImp

  • consumer端,同样引入springboot运行程序,pom文件的内容与provider端一样 程序主入口如下:

定义一个服务接口IUserOperateService与实现UserOperateService,用来调用provider端提供的服务

注意,dubbo的注解都有所变化,见红圈处

  • 运行provider与consumer端,可以运行成功,springboot整合dubbo完成

2. dubbo集成hystrix框架

  • Dubbo服务降级
  • Hystrix Hystrix 旨在通过控制那些访问远程系统、服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。Hystrix具备拥有回退机制和断路器功能的线程和信号隔离,请求缓存和请求打包,以及监控和配置等功能。 在provider项目中,添加Hystrix依赖 <!--服务降级服务容错 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> <version>2.2.5.RELEASE</version> </dependency>

在项目中,maven添加web引用,否则provider会自动退出

在provider启动端,添加Hytrix服务熔断启用注解@EnableHystrix

在Provider端,添加UserServiceImp和IUserService服务定义,验证服务熔断

定义为DubboService,添加Hystrix注解,定义熔断条件,超时时间为2s

  • Consumer端Hystrix配置 主程序,添加配置@EnableHystrix

@EnableDubbo(scanBasePackages = "com.dubbo.consumer.Annotation"),扫描dubbo相关配置文件定义类 新建UserOperateService和IUserOperateService操作来,用来远程调用userservice服务

定义一个Controller,进行熔断测试

失败(超时)调用:

原文链接:https://www.cnblogs.com/kunwn/p/14651200.html

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 微服务 面试

    1、什么是微服务?     就目前而言,对于微服务业界并没有一个统一的,标准的定义。

    庞小明
  • 2020年SpringCloud 必知的18道面试题

    Spring cloud流应用程序启动器是基于Spring Boot的Spring集成应用程序,提供与外部系统的集成。Spring cloud Task,一个生...

    程序员白楠楠
  • Java面试——微服务

    就目前而言,对于微服务业界并没有一个统一的,标准的定义。但通常而言,微服务架构是一种架构模式或者说是一种架构风格,它提倡将单一应用程序划分一组小的服务,每个服务...

    Java架构师必看
  • 设计RPC接口时,你有考虑过这些吗?

    RPC 框架的讨论一直是各个技术交流群中的热点话题,阿里的 dubbo,新浪微博的 motan,谷歌的 grpc,以及不久前蚂蚁金服开源的 sofa,都是比较出...

    kirito-moe
  • springcloud学习笔记:认识微服务,谈资,技术的迭代演变,支付模块为例 体验demo

    ​ 给了我们一套默认的解决方案,我们可以把boot理解成一个 spring的plus版,他集成了很多的启动器,从而让springboot逐渐取代了 ssm,sp...

    冷环渊
  • 网易考拉在服务化改造方面的实践

    网易考拉(以下简称考拉)是网易旗下以跨境业务为主的综合型电商,自2015年1月9日上线公测后,业务保持了高速增长,这背后离不开其技术团队的支撑。微服务化是电商I...

    用户1516716
  • Spring Cloud: 多种微服务架构的简单比较

    ​ 微服务有两张实现架构, 一个是Pivotal团队的Spring Cloud, 一个是阿里的Dubbo.

    芥末鱿鱼
  • 分布式RPC框架Dubbo实现服务治理实用示例:高速序列化和熔断器的实现

    攻城狮Chova
  • 最新版 Dubbo 和 Spring Cloud 生态对比

    我和超哥是好友很久了,但是一直没有私聊过。最近朋友圈很多人在面试,而且基本都会问到微服务方面的知识。其中 Dubbo 和 Spring Cloud 的对比问道...

    业余草
  • SpringCloud初步介绍

      就目前而言,对于微服务业界并没有一个统一的、标准的定义。   但通常而言,微服务架构是一种架构模式或者说是一种架构风格,提倡将单一应用程序划分成一组小的服务...

    Java架构师历程
  • 微服务总结

    简单举例:看军事新闻的同学应该都知道,一艘航空母舰作战能力虽然很强,但是弱点太明显,就是防御能力太差,单艘的航空母舰很少单独行动,通常航空母舰战斗群才是主要军事...

    后端码匠
  • Dubbo Cloud Native 实践与思考

    今天我非常荣幸地与大家一起讨论关于 Dubbo Cloud Native 相关议题,本次议题紧扣“实践与思考“两个关键字,主要的议程包括:

    猿天地
  • 又到了跳槽季,你们都准备好了吗?我来告诉Java程序员们如何快速全面的复习

    年过完了,大多数同仁们应该已返回并进入了工作状态,估计这个时候,有很多小伙伴也在开始准备年后跳槽的事情了,对于一些做传统项目的同仁,不知道如何复习迎接面试是肯定...

    攻城狮的那点事
  • dubbo-go介绍

    dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初...

    heidsoft
  • 你是时候该学习SpringCloud

    目前的微服务并没有一个统一的标准,一般是以业务来划分将传统的一站式应用,拆分成一个个的服务,彻底去耦合,一个微服务就是单功能业务,只做一件事。

    Java编程指南
  • dubbo-go 的开发、设计与功能介绍

    dubbo-go 是目前 Dubbo 多语言生态最火热的项目。dubbo-go 最早的版本应该要追溯到 2016 年,由社区于雨同学编写 dubbo-go 的初...

    Java帮帮
  • Spring Cloud面试题(2021最新版)

    Spring Cloud 是一系列框架的有序集合。它利用 Spring Boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消...

    Java程序猿
  • SpringCloud基础组件总结,与Dubbo框架、Boot框架对比分析

    Eureka组件,服务注册与发现 Ribbon和Feign组件,实现负载均衡 Hystrix组件,实现服务熔断 Turbine组件,实现微服务集群监控 Zuul...

    知了一笑
  • 没有 “流量防控”,还玩什么双11

    临近双十一,从 2009 年第一届双十一开始,成交量只有 5000 万,到去年 2019 年,成交量达到了 2684 亿。今年迎来了第十二届双十一,想想都挺激动...

    xjjdog

扫码关注云+社区

领取腾讯云代金券