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框架

  • 看一下hystrix工作流程,参考url: https://www.jianshu.com/p/611a7f150180

  • 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,进行熔断测试

  • 运行调试

    输入地址:http://localhost:8580/GetHelloWorldReply?uid=xujk
    多刷新几次,看返回的结果也是不同的
    成功调用:

    失败(超时)调用:

dubbo学习实践(4)之Springboot整合Dubbo及Hystrix服务熔断降级的更多相关文章

  1. dubbo学习实践(2)之Dubbo入门Demo

    开篇之前,先来了解下dubbo服务治理与技术架构,直接看图 dubbo技术架构图: 1. 新建dubbo项目,目录结构如下 代码说明: 1.代码分为Provider(服务提供方)与consumer(服 ...

  2. dubbo学习实践(3)之Dubbo整合Consul及Dubbo配置方式

    前言:上一篇中,已经写到了使用zookeeper为注册中心的配置,下面写下配置Consul为注册中心 1. Consul注册中心验证 修改provider和consumer的服务配置文件 Provid ...

  3. 【转】SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)

    http://blog.csdn.net/a67474506/article/details/61640548 Dubbo是什么东西我这里就不详细介绍了,自己可以去谷歌 SpringBoot整合Dub ...

  4. springboot整合dubbo\zookeeper做注册中心

    springboot整合dubbo发布服务,zookeeper做注册中心.前期的安装zookeeper以及启动zookeeper集群就不说了. dubbo-admin-2.5.4.war:dubbo服 ...

  5. SpringBoot整合dubbo(yml格式配置)

    yml文件 如果只作为服务的消费者不用暴露端口号,扫描的包名根据自己service改 dubbo: application: name: springboot-dubbo-demo #应用名 regi ...

  6. Springboot整合Dubbo和Zookeeper

    Dubbo是一款由阿里巴巴开发的远程服务调用框架(RPC),其可以透明化的调用远程服务,就像调用本地服务一样简单.截至目前,Dubbo发布了基于Spring Boot构建的版本,版本号为0.2.0,这 ...

  7. jackson学习之九:springboot整合(配置文件)

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 系列文章汇总 jackson学习之一:基本信息 jac ...

  8. SpringBoot整合阿里短信服务

    导读 由于最近手头上需要做个Message Gateway,涉及到:邮件(点我直达).短信.公众号(点我直达)等推送功能,网上学习下,整理下来以备以后使用. 步骤 点我直达 登录短信服务控制台 点我直 ...

  9. springboot整合dubbo+zookeeper最新详细

    引入 最近和小伙伴做一个比赛,处于开发阶段,因为涉及的服务比较多,且服务需要分开部署在不同的服务器上,讨论之后,打算采用分布式来做,之前学习springboot的时候,部分章节涉及到了springbo ...

随机推荐

  1. nginx反向代理tcp协议的80端口

    需求:内网有一台mqtt协议服务器,需要将外网的mqtt请求通过一台服务器代理到内网的mqtt服务器上.而这台代理服务器不会开放出了80之外的端口,所以只能使用80端口来转发mqtt请求. 步骤:1. ...

  2. linux 开机自启动的两种方式

    方法 1 – 使用 rc.local sudo vi /etc/rc.local 在文件最后加上: sh /root/script.sh & 如果是 CentOS,我们修改的是文件 /etc/ ...

  3. js定时器中引用的外部函数如何传递参数

    问题:比如在一个点击事件中我需要将点击事件参数event传入到定时器中,如果只是单纯的在setTimeout(timer(e),1000)中写上括弧e,则该定时器不会等到1s才执行,而是会立即执行.那 ...

  4. U149791 正多边形变换

    原博客网页--洛谷博客 题目地址 如果您对群论有所了解,那么本题就是对二面体群 \(D_{2n}\) 的简单实现,您可以直接跳到代码部分.下面的解题思路只是对二面体群 \(D_{2n}\) 的构造思路 ...

  5. Kong的API管理方式

    目录 Kong 的管理方式 1. kong的关键术语 Service: Route: Upstream: Target: API: Consumer: Plugin: 2. 如何通过配置KONG AP ...

  6. SpringBoot总结之Spring Data Jpa

    一.Spring Data Jpa简介 JPA(Java Persistence API)定义了一系列对象持久化的标准,目前实现这一规范的产品有Hibernate.TopLink等. Spring D ...

  7. informix常见问题

    1.中文乱码 https://www.cnblogs.com/equation/p/5545967.html 2.informix创建数据库和用户 https://wenku.baidu.com/vi ...

  8. odoo controllers 中type="Json" 或type="http"

    服务端接收参考: # 导包 from odoo import http class HttpRequest(http.Controller): @http.route('/url', type='js ...

  9. 使用adb如何批量给设备安装apk

    win系统 1.首先我们需要在本地建一个文件夹apks,然后把所要安装的apk放进去 2.打开dos窗口使用for循环进行安装即可(前提你的电脑已经连接上了设备,输入adb devices可查看) f ...

  10. Linux开机以root账户自动登录

    最近我们的自动化测试平台需要支持中标麒麟系统,对于我们来说要让这个系统支持分布式自动化测试,最重要的一点就是虚拟机启动后自动以root账户登录系统,并且执行我们的环境配置脚本,那么如何能让它开启自动登 ...