java分布式面试题之Dubbo部分
1、Dubbo的容错机制有哪些?
Dubbo官网提出总共有六种容错策略
- Failover Cluster模式
失败自动切换,当出现失败,重试其它服务器。(默认)
- Failfast Cluster
快速失败,只发起一次调用,失败立即报错。通常用于非幂等性的写操作,比如新增记录。
- Failsafe Cluster
失败安全,出现异常时,直接忽略。通常用于写入审计日志等操作。
- Failback Cluster
失败自动恢复,后台记录失败请求,定时重发。通常用于消息通知操作。
- Forking Cluster
并行调用多个服务器,只要一个成功即返回。通常用于实时性要求较高的读操作,但需要浪费更多服务资源。可通过forks=”2”来设置最大并行数。
- Broadcast Cluster
广播调用所有提供者,逐个调用,任意一台报错则报错。(2.1.0开始支持)通常用于通知所有提供者更新缓存或日志等本地资源信息。
总结:在实际应用中查询语句容错策略建议使用默认Failover Cluster,而增删改建议使用Failfast Cluster或者使用Failover Cluster(retries=”0”)策略防止出现数据重复添加等等其它问题。建议在设计接口时候把查询接口方法单独做一个接口提供查询。
2、使用dubbo遇到过哪些问题?
增加提供服务版本号和消费服务版本号
这个具体来说不算是一个问题,而是一种问题的解决方案,在我们的实际工作中会面临各种环境资源短缺的问题,也是很实际的问题,刚开始我们还可以提供一个服务进行相关的开发和测试,但是当有多个环境多个版本,多个任务的时候就不满足我们的需求,这时候我们可以通过给提供方增加版本的方式来区分.这样能够剩下很多的物理资源,同时为今后更换接口定义发布在线时,可不停机发布,使用版本号.引用只会找相应版本的服务,例如:
<dubbo:serviceinterface="com.xxx.XxxService" ref="xxxService" version="1.0"/>
<dubbo:referenceid="xxxService" interface="com.xxx.XxxService" version="1.0"/>
3、dubbo reference注解问题?
@Reference只能在SpringBean实例对应的当前类中使用,暂时无法在父类使用;如果确实要在父类声明一个引用,可通过配置文件配置dubbo:reference,然后在需要引用的地方跟引用SpringBean一样就可以了.
4、出现RpcException:No provider available for remote service异常怎么办?
- 检查连接的注册中心是否正确
- 到注册中心查看相应的服务提供者是否存在
- 检查服务提供者是否正常运行
5、服务提供者没挂,但在注册中心里看不到?
首先,确认服务提供者是否连接了正确的注册中心,不只是检查配置中的注册中心地址,而且要检查实际的网络连接。
其次,看服务提供者是否非常繁忙,比如压力测试,以至于没有CPU片段向注册中心发送心跳,这种情况减小压力将自动恢复。
6、Dubbo的连接方式有哪些?
Dubbo的客户端和服务端有三种连接方式,分别是:广播,直连和使用zookeeper注册中心。
7、Dubbo广播
这种方式是dubbo官方入门程序所使用的连接方式,但是这种方式有很多问题。在企业开发中,不使用广播的方式。taotao-manager服务端配置:
!-- applicationContext-service.xml 文件中 -->
<!-- 提供方应用信息,用于计算机依赖关系 -->
<dubbo:application name="taotao-manager-service” />
<!-- 使用 multicast 广播暴露服务地址 -->
<dubbo:registry address="multicast://224.5.6.7:1234" />
<!-- 使用 dubbo 协议在 20880 协议暴露服务 -->
<dubboprotocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="com.taotao.manager.service.TestService" ref="testServiceImpl" />
文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/925_1_1.html
java分布式面试题之Dubbo部分相关推荐
- java分布式面试题_Java Dubbo面试题
Java Dubbo面试题 1.Dubbo的容错机制有哪些? Dubbo官网提出总共有六种容错策略 ● Failover Cluster模式 失败自动切换,当出现失败,重试其它服务器.(默认) ● F ...
- java分布式面试题之消息队列ActiveMQ部分
java分布式面试题之消息队列ActiveMQ部分 java分布式面试题之消息队列ActiveMQ部分 1.如何使用ActiveMQ解决分布式事务? 在互联网应用中,基本都会有用户注册的功能.在注册的 ...
- Java 200+ 面试题补充③ Dubbo 模块
昨天在我的 Java 面试粉丝群里,有一个只有一年开发经验的小伙伴只用了三天时间,就找到了一个年薪 20 万的工作,真是替他感到开心. 他的经历告诉我们:除了加强自我实战经验之外,还要努力积累自己的理 ...
- 京东最新Java后端面试题ZooKeeper+Dubbo+Es+MySQL+Memcached
面试需要技巧,这句话本身没有错.但面试也是要靠实力的,好的面试题可以大大增强面试的成功概率,帮助我们拿到更好的Offer,今天就给大家分享一些面试题,希望对大家有所帮助. 一.ZooKeeper 面试 ...
- 程序员去大公司面试,java分布式面试题
前言 今天这篇文章中简单介绍一下一个 Java 程序员必知的 Linux 的一些概念以及常见命令. 如果文章有任何需要改善和完善的地方,欢迎在评论区指出,共同进步!笔芯! 正式开始 Linux 之前, ...
- Java分布式 RPC 框架性能大比拼,Dubbo真的最差吗?
点击上方"搜云库技术团队",选择"设为星标" 回复"1024"或"面试题"获取学习资料 Dubbo 是阿里巴巴公司开源的 ...
- 视频教程-Java架构师之路:分布式面试题-Java
Java架构师之路:分布式面试题 动力节点王勇老师,CCTV<影响力对话>栏目特约嘉宾,Java培训知名讲师,中国Java培训领军人物,北京动力节点创始人,董事长兼CEO.1995年接触软 ...
- JAVA分布式篇3——Dubbo
JAVA分布式篇3--Dubbo 1.架构演变 1.1.单应用架构 当网站流量很小时,只需要一个应用,将所有的功能部署到一起(所有业务都放在一个tomcat 里),从而减少部署节点和成本 用于简化 增 ...
- Java分布式锁看这篇就够了,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
最新文章
- python计算选手最后得分并取出前三名_在Python中存储最后3个分数并删除旧分数并计算平均值?...
- Eigen::Map
- linux删去分区的文件夹,如何恢复 Linux 分区下误删的文件?
- SDN中的Heavy-Hitter测量文献阅读
- 一些SAP S4CRM On-Premises开发的代码审查,2017-02-16
- 今日恐慌与贪婪指数为66 贪婪程度有所缓解
- 【数字信号调制】基于matlab二进制数字频率调制(2FSK)【含Matlab源码 998期】
- JAVA 基础语法——开发环境以及J2SE代码实现
- Linux 字体微调
- Interledger协议(ILP)
- 手机到底应该选128G还是64G内存呢?其实很多人都选错了
- 利用 API 爬取数据,试着爬取 QQ 音乐流行指数榜
- [解读] You Only Train Once Loss-Conditional Training of Deep Networks
- AI 模型社区“魔搭”亮相,平头哥又上新,端云一体生态再升级
- Greenplum简介
- Linux/Android——Input系统之frameworks层InputManagerService (六)【转】
- 随机过程笔记(5) 平稳过程
- 仿 淘宝搜索栏,实现 用户输入搜索关键字时可以显示 搜索提示 的效果 Ajax
- 18. `bs对象.节点名.next_sibling` previous_sibling 获取兄弟节点
- 关于SFC无法进行扫描的解决办法
热门文章
- 【Python】字符串对齐的常用方法
- 【机器学习基础】机器学习理论最佳入门!周志华宝箱书搭档,开源教程《钥匙书-KeyBook》发布...
- 终于等到你!GitHub 终于支持 multi-line comments!
- 统计学习方法第六章作业:逻辑斯谛梯度下降法、最大熵模型 IIS / DFP 算法代码实现
- Nginx学习笔记(二)
- 个性化推荐系统该如何评估,四种不同策略的角度
- 技术干货 | 为高音质保驾护航 - 通信中的回声消除
- 云信小课堂|搭建应用级别在线聊天室,7步就够了!
- javascript正则表达式总结(test|match|search|replace|split|exec)
- 20170204-py