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依赖
    1. <!--服务降级服务容错 -->
    2. <dependency>
    3. <groupId>org.springframework.cloud</groupId>
    4. <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
    5. <version>2.2.5.RELEASE</version>
    6. </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. 运行cmd时提示你可能没有适当的权限访问该项目

    Windows无法访问指定设备.路径或文件.你可能没有适当的权限访问该项目.   方法/步骤   在C:\Windows\System32目录下中找到cmd.exe文件   右键点击 "属性 ...

  2. POJ 2065 SETI 高斯消元解线性同余方程

    题意: 给出mod的大小,以及一个不大于70长度的字符串.每个字符代表一个数字,且为矩阵的增广列.系数矩阵如下 1^0 * a0 + 1^1 * a1 + ... + 1^(n-1) * an-1 = ...

  3. Java核心基础第1篇-走进Java世界

    一.Java简介 1.1 Java概述 Java从一开始就以友好的语法.面向对象.内存管理和最棒的跨平台可移植性来吸引程序员. 写一次就可以在所有地方执行( write-once/run-anywhe ...

  4. 利用bmob平台,使用云端逻辑在Xcode上实现用户注册、登录

    思路:bmob上构建云端逻辑,xcode通过http请求来在不引入bmob SDK的情况下,远程操作bmob上构建的数据库,实现注册.登录. xcode导入 AFNetWorking--------- ...

  5. 32. Longest Valid Parentheses **堆栈

    description: Given a string containing just the characters '(' and ')', find the length of the longe ...

  6. Java中的四种引用和引用队列

    目录 强引用 软引用 弱引用 幻象引用 Reachability Fence 参考 强引用 正常的引用,生命周期最长,例如 Object obj = new Object(); 当JVM内存不足时,宁 ...

  7. vmware使用U盘安装系统

    创建好系统 创建一个新的硬盘,选择"physicalDrive1" 如果识别不到physicalDrive 1,使用下面的方法. 1.在本机的服务里面启用下面的服务. 2.重启 V ...

  8. Python单元测试框架unittest之单用例管理(二)

    概述 利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块,上篇文章就是使用的这种方式: 一种是添加到testsuite集合中再加载 ...

  9. C语言:逻辑运算符||

    #include <stdio.h> //逻辑运算符||特点:左右两边的表达式先做左边,如果左边为1则右边不用执行,整个结果为1:如果左边为0,再执行右边: main() { int x= ...

  10. sql2008编辑前200行怎么修改

    打开Microsoft SQL Server Management Studio--工具菜单--选项---SQL Server对象资源管理器---命令--右侧"编辑前n行命令的值:1000