对于Dubbo一些面试题自己的答案
来源:互联网 发布:建材价格查询软件 编辑:程序博客网 时间:2024/05/18 02:55
Dubbo
头几天瞧到《Java顶尖口试必问-Dubbo口试题汇总》,对于内里得难点本人试着答复少许,有错误得请民众指正。
Dubbo固然大概不革新了,可是背靠阿里得措施能力,中文报告得多样,非常合适很多几中小型分散式类型得开辟。
Dubbo得通讯协议第一、dubbo
默许得,单纯长衔接、NIO异步通讯。合适几据量小,伴发大得场景,消耗者几量大于参考者得处境。
传输个大文件、视频、哪些得而且为不能用了。
很多普遍得平常类型用这种就够了。
第二、RMI
无疑的JDK规范得长途调用协议,闭塞式短衔接&JDK规范得序列化方法。
输出输入得几据包巨细同化,消耗者或者参考者几量不好少量,为相对恰当得,能够传文件。
各自在类型中没用过,不大关心。
第三、hessian
Hessian选取HTTP通讯,因Servlet对外参考办事,在Dubbo中运用Jetty干办事器。非常合适传输页面、文件。
第四、Http
这种没什么棒陈诉得,关键为合适还有给APP、网页得Ajax参考办事。我在类型中到没这么用过,平常那种处境均为干脆用SpringMVC打成war包,经过Keepalived+Nginx+Tomcat采用高可用或者负载都衡。
第五、WebService
老牌得几据交流措施了,SOAP协议,CXF框架完成,2010年此后我在类型中就没用过了。
第六、thrift
Facebook得RPC框架,Dubbo加了少许头消息,不鼓励null值。
第七、缓存
Dubbo鼓励缓存几据库Memcached、Redis。
通讯协议比较
注册核心保举为Zookeeper,另外例如下:
第一、Multicast,不该核心,仅仅节点得播送地点为同样得,均能够彼此发觉,这种同样便是小领域使用,和开辟得时候候用。
程序为:
A)参考者发动时候播送地点。
B)消耗者发动时候播送定阅拜托。
C)参考者收获定阅拜托为,单播或组播本人得地点给消耗者。
D)消耗者收获参考者地点,采用RPC调用。
第二、Redis,关键为用到了Redis得公布/定阅形式(这种我在类型好用于信息行列,可参瞧我以前得内容《基于Redis得信息行列之公布定阅形式》,还有关联参阅:《Redis再次:其次:9单机版装置》、《基于Redis得信息行列之消费消耗者形式(来日诰日写公布/定阅形式)》)。应该求每个办事器功夫一定保留一样,如果须要尽心跳监察脏几据,对办事器而且为有必定负担得。
程序为:
A)参考者发动时候提交本人得地点,发生注册事情。
B)消耗者发动时候定阅注册&排除注册事情,提交本人得地点。
C)消耗者收获注册或者排除注册事情后,到获得参考者地点列表。
D)监控核心发动时候定阅注册&排除注册、定阅&排除定阅事情。
E)监控核心收获注册&排除注册事情后,到获得参考者地点列表。
F)监控核心收获定阅&排除定阅事情后,到获得消耗者地点列表。
第三、Simple注册、监控核心,无疑的Dubbo本人完成单个办事。
第四、Zookeeper,程序例如下:
A)参考者发动时候写进本人得URL。
B)消耗者发动时候定阅参考者URL列表,并写进本人得URL。
C)监控核心定阅全部消耗者参考者URL目次。
参考者怎么完成无效踢出由Zookeeper注册核心是例,有单个heartbeat_monitor心脏跳动监察线程,查验参考者可否生存,假如反省不到心脏跳动,就把参考者从参考者列表中移除,反之参加。
在不危害旧版此得处境下晋级新版此办事运用Dubbo就相对便利,如果在设置参考者或者办事者得时候候能够规定版此号。
办事调用链太长而且为必须聚集营业来梳理模块,只要某个营业操纵得调用链太长得时候候,还得思考把这一块整合一下。
Dubbo中心设置dubbo:applicationname使用名
dubbo:registry注册核心
dubbo:protocol运用协媾和端口
dubbo:reference定阅得办事接口check发动时候反省办事可否可用version多版此
dubbo:service参考者cluster容错机理retries铩羽重试多次loadbalance负载算法
可否能够直连参考者能够,在dubbo:reference经过设置url干脆指引某个参考者,多地点用逗号分离。
办事注册和发觉得程序图办事注册和发觉得程序图
集群容错这种在我得《Dubbo消耗者参考者简易案例》中有描绘,摘抄例如下:
默许得failover,然后加之retries,象征消耗者调用参考者呈现变异时候,自行切换,默许试两次。
failfast,铩羽了就报变异,关键为应用非等幂性得写操纵。固然这种同样等价于failover,retres=0。
failsafe,铩羽就铩羽了,同样不报变异,应用少许不首要得操纵,例如写个不首要得日记哪些得,错个第一、2条得不危害。
failback,铩羽了重发,例如推送。
forking,调用全部参考者,谁最早前往成果就用谁得,这种太耗能源了。
broadcast,调用全部参考者,单个报错就报错,这种关键为应用告知参考者革新缓存啊,此地能源之类得操纵。
关联参阅:Dubbo办理把握台装置、ZooKeeper单机版装置设置--集群版背面然后发、ZooKeeper集群装置设置运用
http://www.njszjw.gov.cn/jrjd/02017082114135.html
- 对于Dubbo一些面试题自己的答案
- JS的一些面试题(自己试答案)
- 一些经典的面试题及答案
- 嵌入式面试题的一些答案
- 一些面试题及答案
- 自己总结的一些flex 面试题
- 自己回答的一些面试题
- 一些自己遇到的面试题
- 自己总结unity的一些面试题
- 据说是百度的面试题之一,自己写的答案
- Linux面试题 自己写的答案 不断更新
- web前端面试题--自己在网上扒的答案
- 收集了一些实用的php面试题及答案
- 分享】一些常用的java面试题及答案
- 数据库的一些常见面试题及其答案详解
- 一些Android的面试题及答案(偶尔更新)
- 一些Python的面试题(无答案)
- 继续摘抄:一些面试题及答案
- 复数类型矩阵相乘GPU加速--pycuda
- 1075: 聚餐人数统计
- C++异常总结
- SSH互相信任关系配置
- Linux初窥:系统管理之(用户管理、用户组管理)
- 对于Dubbo一些面试题自己的答案
- 1002 cable cable cable
- 23. Merge k Sorted Lists
- 欢迎使用CSDN-markdown编辑器
- 玩具装箱(noip冲刺模拟题——DP)
- java
- Hdu 6201 transaction transaction transaction 树型DP
- 关于yield的骚操作
- 随笔 无题