1. 首页
  2. java中级面试进阶

17-Java中级面试题进阶(十七)- Dubbo篇

1、测试和生产共用一套zookeeper,怎么保证消费不冲突 ?

方案1:服务发布的group设置为不同;


<dubbo:reference id="comm1" timeout="100000" interface="com.acq.facade.CommService" group="comm102" version="1.0.0" retries="0" check="false"> </dubbo:reference> <dubbo:reference id="comm2" timeout="100000" interface="com.acq.facade.CommService" group="comm103" version="1.0.0" retries="0" check="false"> </dubbo:reference>

方案2:


<dubbo:service interface="com.foo.BarService" version="1.0.0" ></dubbo:service>

方案3:dubbo白名单(Filter过滤器)

1.新增一个类继承阿里巴巴的Filter

2.添加阿里巴巴的约定新建配置文件 com.alibaba.dubbo.rpc.Filter,指定上面的类

3.配置ip白名单

4.配置服务端dubbo配置

2、dubbo运行时,突然所有的zookeeper全部宕机,dubbo是否还会继续提供服务?

会的,dubbo根据本地缓存的服务地址进行服务调用

监控中心宕掉不影响使用,只是丢失部分采样数据

数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务

注册中心对等集群,任意一台宕掉后,将自动切换到另一台

注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯

服务提供者无状态,任意一台宕掉后,不影响使用

服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复

3、服务提供者能实现失效踢出是什么原理?

基于zookeeper的临时节点原理

持久节点

所谓持久节点,是指在节点创建后,就一直存在,直到有删除操作来主动清除这个节点,也就是说不会因为创建该节点的客户端会话失效而消失

临时节点

临时节点的生命周期和客户端会话绑定,也就是说,如果客户端会话失效,那么这个节点就会自动被清除掉

4、创建的临时节点什么时候会被删除,是连接一断就删除吗?延时是多少?

连接断了之后,ZK不会马上移除临时数据,只有当SESSIONEXPIRED之后,才会把这个会话建立的临时数据移除。因此,用户需要谨慎设置Session_TimeOut

5、Dubbo在安全机制方面是如何解决的 ?

Dubbo通过Token令牌防止用户绕过注册中心直连,然后在注册中心上管理授权。Dubbo还提供服务黑白名单,来控制服务所允许的调用方。

6、说说核心的配置有哪些?

dubbo:service/ 服务提供者暴露服务配置

dubbo:reference/ 服务消费者引用服务配置

dubbo:protocol/ 服务提供者协议配置

dubbo:registry/ 注册中心配置

dubbo:application/ 应用信息配置

dubbo:provider/ 服务提供者缺省值配置

dubbo:consumer/ 服务消费者缺省值配置

dubbo:method/ 方法级配置

希望读者能够给小编留言,也可以点击[此处扫下面二维码关注微信公众号](https://www.ycbbs.vip/?p=28 "此处扫下面二维码关注微信公众号")

JS中文网,Javascriptc中文网是中国领先的新一代开发者社区和专业的技术媒体,一个帮助开发者成长的社区,是给开发者用的 Hacker News,技术文章由为你筛选出最优质的干货,其中包括:Android、iOS、前端、后端等方面的内容。目前已经覆盖和服务了超过 300 万开发者,你每天都可以在这里找到技术世界的头条内容。

本文著作权归作者所有,如若转载,请注明出处

转载请注明:文章转载自「 Java极客技术学习 」https://www.javajike.com

标题:17-Java中级面试题进阶(十七)- Dubbo篇

链接:https://www.javajike.com/article/1473.html

« Java虚拟机:虚拟机类加载机制
16-Java中级面试题进阶(十六)- 设计模式篇»

相关推荐

QR code