zoukankan      html  css  js  c++  java
  • Dubbo知识点

    Dubbo知识点
    1.Bubbo是什么?
    Bubbo是阿里巴巴开源的基于java的高性能RPC分布式服务框架,现在已经成为Apache基金会孵化项目
    2.为什么要使用Dubbo?
    因为开源,内部使用了Netty、Zookeeper,保证了性能的高可用性
    使用Dubbo可以将核心业务抽取出来,作为独立业务,逐渐形成稳定的服务中心,可用于提高业务复用灵活扩展

     服务注册与发现流程图:


    3.Dubbo和SpringCloud的区别?
    两者没有关联,如果非要说的话,有以下几点
    1.通信方式不同:Dubbo使用的时RPC通信,而SpringCloud使用的时是HTTP RESTFUL方式
    2.组成部分不同
    4.Dubbo都支持什么协议,推荐使用哪种?
    dubbo://(推荐);rmi://; http://; hessian://; WebService:// thrift://; memcached://; redis://; rest://
    5.Dubbo需要web容器吗?
    不需要,强行使用web容器,只会增加复杂性,也会浪费资源
    6.Dubbo内置了哪几种服务容器?
    Spring Container
    Jetty Container
    Log4j Container
    Dubbo的服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务
    7.Dubbo里面有哪几种节点角色?
    provider:暴露服务的服务提供方
    consumer:远程调用服务的服务消费方
    register:服务注册与发现的注册中心
    monitor:统计服务的调用次数和调用时间的监控中心
    container:服务运行容器
    8.Dubbo默认使用Zookeeper注册中心
    9.Dubbo有哪几种配置方式?
    1.spring配置方式
    2.Java API配置方式
    10.Dubbo核心的配置有哪些?
    dubbo:service-------->服务配置
    dubbo:reference------->引用配置
    dubbo:protocol------->协议配置
    dubbo:application---->应用配置
    dubbo:module-------->模块配置
    dubbo:registry--------->注册中心配置
    dubbo:monitor-------->监控中心配置
    dubbo:provider------->提供方配置
    dubbo:consumer------>消费方配置
    dubbo:method-------->方法配置
    dubbo:argument------>参数配置

    配置关系图:

      


    11.在provider上可以配置consumer端的属性有哪些?
    1.timeout:方法调用超时
    2.retries:失败重试次数,默认重试两次
    3.loadbalance:负载均衡算法,默认随机
    4.actives消费者端,最大并发调用限制
    12.Dubbo启动时如果依赖的服务不可用会怎么样?
    Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,默认check="true",可以通过check="false"关闭检查
    13.Dubbo推荐使用什么序列化框架,你知道的还有哪些?
    推荐使用Hessian序列化,还有Dubbo、FastJson、Java自带系列化
    14.Dubbo有哪几种集群容错方案,默认时哪种?
    Failover Cluster------->失败自动切换,自动重启其他服务器(默认)
    FailFast Cluster------->快速失败,立即报错,只发起一次调用
    FailSafe Cluster------->失败安全,出现异常时,直接忽略
    Failback Cluster------->失败自动恢复,记录失败请求,定时重发
    Forking Cluster-------->并行调用多个服务器,只要一个成功即返回
    Broadcast Cluster------>广播逐个调用所有提供者,任意一个报错则报错
    15Dubbo有哪几种负载均衡策略,默认时哪种?
    Random LoadBalance------>随机,按权重设置随机概率(默认)
    RoundRobin LoadBalance---->轮训,按公约后的权重设置轮训比例
    LeastActive LoadBalance------>最少活跃调用数,相同活跃数的随机
    ConsistentHash LoadBalance----->一致性hash,相同参数的请求总是发到统一提供者
    16注册了多个同样的服务,如果测试指定的某一个服务呢?
    可以配置环境点对点直连,绕过注册中心,将以服务接口为单位,忽略注册中心的提供者列表
    17.当一个服务接口有多中实现时怎么做?
    当一个接口有多种实现时,可以用Group属性来分组,服务提供方和消费方指定同一个Group即可
    18.Dubbo可以对结果进行缓存吗?
    可以,Dubbo提供了声明式缓存,用于加速热门数据的访问速度,以减少用户加缓存的工作量
    19.Dubbo服务之间的调用默认时同步等待结果阻塞的支持异步调用


    20Dubbo如何优雅停机?
    Dubbo是通过JDK的ShutdownHook来完成优雅停机的,所以如果使用kill-9 PID等强制关闭指令,是不会执行优雅停机的,只有通过kill PID,才会执行
    21.服务提供者能实现失效踢出是基于Zookeeper的临时节点原理
    22.Dubbo的管理控制台能做什么?
    管理控制台只要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡等管理功能
    23.谈谈Dubbo服务暴露过程?
    Bubbo会在Spring实例化完bean之后,在刷新容器最后一步发布ContextRefreshEvent事件的时候,通知实现了ApplicationListener的ServiceBean父类
    ServiceConfig的export方法,而该方法真正实现了服务的发布

    24:Dubbo支持分布式事物吗?

  • 相关阅读:
    【js】this=>>4种用法
    【js】接口实现代码
    【es6】object.is()&&==&&===
    js apply&&call
    【javascript=>>DOM】=>>Attribute与Property的区别
    Android ListView刷新问题
    Android EditText自动换行
    Android 状态栏隐藏 ( 全屏 )
    Android 取得手机屏幕大小
    Android中使用代码改变背景颜色
  • 原文地址:https://www.cnblogs.com/juddy/p/14189360.html
Copyright © 2011-2022 走看看