dubbox

最强Dubbo面试题,附带超级详细答案

送分小仙女□ 提交于 2020-08-15 07:29:05
最强面试题推荐: 2020Java面试题及答案,命中率高达90% 1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两个服务器交互数据。 2.Dubbo的由来? 互联网的快速发展,Web应用程序的规模不断扩大,一般会经历如下四个发展阶段。 单一应用架构 当网站流量很小时,只需一个应用,将所有功能都部署在一起即可。 垂直应用架构 当访问量逐渐增大,单一应用按照有业务线拆成多个应用,以提升效率。 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。 分布式服务架构 当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。 此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。 流动计算架构 当服务越来越多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增加一个调度中心基于访问压力实时管理集群容量,提高集群利用率。 此时,用于提高机器利用率的 资源调度和治理中心(SOA) 是关键。 3.Dubbo的主要应用场景? 透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。 软负载均衡及容错机制

2020年Dubbo30道高频面试题!还在为面试烦恼赶快来看看!

爱⌒轻易说出口 提交于 2020-08-05 16:48:01
前言 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)。 很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的。 关于Dubbo的知识总结了个思维导图 Dubbo 面试题 1、为什么要用 Dubbo? 2、Dubbo 的整体架构设计有哪些分层? 3、默认使用的是什么通信框架,还有别的选择吗? 4、服务调用是阻塞的吗? 5、一般使用什么注册中心?还有别的选择吗? 6、默认使用什么序列化框架,你知道的还有哪些? 7、服务提供者能实现失效踢出是什么原理? 8、服务上线怎么不影响旧版本? 9、如何解决服务调用链过长的问题? 10、说说核心的配置有哪些? 11、Dubbo 推荐用什么协议? 12、同一个服务多个注册的情况下可以直连某一个服务吗? 13、画一画服务注册与发现的流程图? 14、Dubbo

分享的不仅仅是情怀

帅比萌擦擦* 提交于 2020-08-04 12:35:22
Spring Cloud构建微服务系统性源码 spring-cloud: https://github.com/yinjihuan/spring-cloud Smconf专注于分布式环境下配置的统一管理 smconf: https://github.com/yinjihuan/smconf Elastic-Job Spring Boot 自动集成,只需要一个注解即可发布Job。 elastic-job-spring-boot-starter: https://github.com/yinjihuan/elastic-job-spring-boot-starter Spring Boot中增强Mongodb的配置,多数据源,连接池等 spring-boot-starter-mongodb-pool: https://github.com/yinjihuan/spring-boot-starter-mongodb-pool Smjdbctemplate基于Spring Jdbctemplate 做的升级版 Smjdbctemplate: https://github.com/yinjihuan/smjdbctemplate Spring Boot集成Dubbox spring-boot-starter-dubbox: https://github.com/yinjihuan

2020年Dubbo30道高频面试题!还在为面试烦恼赶快来看看!

纵饮孤独 提交于 2020-07-23 23:00:13
前言 Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架(告别Web Service模式中的WSdl,以服务者与消费者的方式在dubbo上注册)。 很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的。 关于Dubbo的知识总结了个思维导图 Dubbo 面试题 1、为什么要用 Dubbo? 2、Dubbo 的整体架构设计有哪些分层? 3、默认使用的是什么通信框架,还有别的选择吗? 4、服务调用是阻塞的吗? 5、一般使用什么注册中心?还有别的选择吗? 6、默认使用什么序列化框架,你知道的还有哪些? 7、服务提供者能实现失效踢出是什么原理? 8、服务上线怎么不影响旧版本? 9、如何解决服务调用链过长的问题? 10、说说核心的配置有哪些? 11、Dubbo 推荐用什么协议? 12、同一个服务多个注册的情况下可以直连某一个服务吗? 13、画一画服务注册与发现的流程图? 14、Dubbo

更多免费初级中级高级大数据java视频教程下载 加(微***信((号--:keepper,请备注java或扫下面2二3维4码[1]2.dubbo&dubbox

梦想与她 提交于 2020-04-26 06:07:35
更多免费初级中级高级大数据java视频教程下载 加(微***信((号--:keepper,请备注java或扫下面2二3维4码[1]2.dubbo&dubbox java视频教程01.mp4 java视频教程2016.mp4 java视频教程20160330001.mp4 java视频教程20160330002.mp4 java视频教程20160330003.mp4 java视频教程20160331001.mp4 java视频教程20160331002.mp4 java视频教程20160331003.mp4 java视频教程20160331004.mp4 java视频教程20160331005.mp4 更多免费初级中级高级大数据java视频教程下载 加(微***信((号--:keepper,请备注java或扫下面2二3维4码 ​ 来源: oschina 链接: https://my.oschina.net/u/4410977/blog/4155082

首次公开!2020年金3,朋友面完阿里、腾讯、滴滴、美团后总结的Java文档

≯℡__Kan透↙ 提交于 2020-03-10 17:04:14
因为疫情的原因,大家在家耽误了很多时间,但是云面试也应运而生,现在就来跟着看看朋友面完阿里滴滴美团之后总结的Java文档 那些在准备面试小伙伴们,快来,考点来啦 一.阿里面试题 1.自我介绍 2.序列化的底层怎么实现的 3.Synchronized的底层是怎么实现的 4.Tomcat集群怎么保证同步 5.了解nosql吗?redis? 6.怎么解决项目中超卖的问题 7.Int的范围 8.问了项目中超卖的问题怎么解决 9.你熟悉什么数据结构 10. 说说快排,我说了快拍实现的过程,相当于口述代码,然后问了复杂度 11. 乐观锁vs悲观锁 12. Gc 13. Concurrenthashmap分段锁的细节 14. 设计模式怎么分类,每一类都有哪些 15. 并发包里了解哪些 16. B树,b+树,b*树 二.滴滴面试题 1. 应该怎么优化简历才有BATJ面试机会 2. HashMap底层执行原理 3. Hashtable和ConcurrentHashMap如何实现线程安全? 4. JVM的内存布局,垃圾回收机制 5. 类加载机制里的双亲委派模型 6. 阐述事物的隔离级别和传播属性 7. 高并发下,如何做到安全的修改同一行数据? 8. A系统给B系统转100块钱,如何把实现 9. A服务调用B服务多接口,响应时间最短方案 10. 动态代理的几种实现方式及优缺点 11.

DubboX + SpringBoot最佳实践

笑着哭i 提交于 2020-03-02 08:22:06
一、先了解一下情况 Dubbox是什么? 现在 微服务 很火,而 Dubbox 就是一个支持微服务的一个框架 SpringBoot又是什么? 我们先来讨论一个问题,我们在使用 Spring 的时候,是不是要进行大量的配置,甚至部署的时候还要重新配置发布环境,重新打包,部署………… 是不是觉得太麻烦了?而 SpringBoot 就是干这个的,它的 Profiles 功能简直就是专门用来治里各种配置问题的。 二、SpringBoot中的Profiles Profiles可以说就是指定配置环境的一个功能。 在 SpringBoot 中,如果不指定 Profile ,则默认会读取 application.properties 配置文件,如果指定 Profile ,则会去读取 application-{Profile}.properties 配置文件,例如: # Profile指定为development application-development.properties 如果指定 Profile 呢?我们只需要在 SpringBoot 的启动参数中加入以下参数即可: -Dspring.profiles.active=develpment 整体为: $ java -Dspring.profiles.active=development -jar provider.jar 好了,讲了

2020金三银四BATJ面试试题汇总之腾讯 纯干货!

喜夏-厌秋 提交于 2020-02-28 06:43:45
2020年,跳槽面试就靠它们了,现在每天刷题,看源码文档,最近看的这些题目还是有些难度,有一部分我都要好好想一想才能回答出来,或者回答不出来,总的来说知识宽度够了深度还跟不上。所以要重点突破下底层的东西。 腾讯的Java面试题: TCP和UDP的区别,TCP为什么是三次握手,不是两次。 说说Java中异常的分类 Dubbo面试题: dubbo和dubbox之间的区别? 一般使用什么注册中心?还有别的选择吗? Java List面试题: ArrayList和LinkedList的区别?分别用在什么场景? 怎么给List排序? Java Map集合面试题: Collection集合接口和Map接口有什么关系? 你都知道哪些常用的Map集合? Spring面试题: 什么是Spring的内部bean? 为什么说Spring是一个容器? Spring框架的事务管理有哪些优点? 使用Spring框架的好处是什么? Zookeeper面试题: zookeeper是什么框架? JVM面试题: 说说Java虚拟机的生命周期及体系结构 Java 是如何实现跨平台的? 什么是JVM ? JVM 由哪些部分组成? 类加载器是有了解吗? Java 虚拟机是如何判定两个 Java 类是相同的? 类似-Xms、-Xmn这些参数的含义: 我们为什么要使用线程池?核心线程池内部实现了解吗? 解释AOP模块

dubbox系列【二】——dubbox admin环境搭建

流过昼夜 提交于 2020-01-26 11:24:14
1.环境   JDK7+   zookeeper 3.3.6   tomcat 7+ 2.搭建步骤   (1)安装zookeeper     单机模式:参考 这里 。     伪集群模式:参考 这里 。 ①单机或伪集群模式均可。 ②笔者使用了伪集群模式。   (2)下载dubbox源码(地址: https://github.com/dangdangdotcom/dubbox ),使用maven 编译得到 dubbo-admin-2.8.4.war。 ①需要提前对IDE配置好jdk 和 maven。 ②在编译之前可能需要解决掉编译错误(一般需要取消js和xml验证)。 ③使用maven编译应当跳过测试。加参数 -Dmaven.test.skip=true 。完整编译命令为:   mvn clean package -Dmaven.test.skip=true 或 mvn install -Dmaven.test.skip=true   (3)将war放入tomcat webapp目录,启动tomcat。 ①需要修改 WEB-INF/dubbo.properties。 ②可以直接使用WinRAR等解压工具解压该war。 ③为了避免端口冲突,可以更改tomcat端口。笔者将端口更改为8090。 3.结果   访问 http://127.0.0.1:8090/dubbo-admin-2.8

JSR303、349 -Bean Validation 数据校验规范使用说明和验证流程源码分析

守給你的承諾、 提交于 2019-12-09 15:08:37
本文讲解基于jsr303和jsr349标准的 Bean Validation规范。通过以下部分讲解: 约束注解的定义 约束验证规则(约束验证器) 约束注解的声明 约束验证流程 在spring mvc中使用jsr349 使用工具类不使用Spring提供的功能 Spring3.1支持方法级别验证 dubbo中使用jsr303提供的验证 需要关注一下问题 参考网址 Bean Validation 是一个运行时的数据验证框架,在验证之后验证的错误信息会被马上返回。数据校验是任何一个应用程序都会用到的功能,无论是显示层还是持久层. 通常,相同的校验逻辑会分散在各个层中, 这样,不仅浪费了时间还会导致重复代码(如下图). 为了避免重复, 开发人员经常会把这些校验逻辑直接写在领域模型里面, 但是这样又把领域模型代码和校验代码混杂在了一起, 而这些校验逻辑更应该是描述领域模型的元数据. JSR 303,349 - Bean Validation - 为实体验证定义了元数据模型和API. 默认的元数据模型是通过Annotations来描述的,但是也可以使用XML来重载或者扩展. Bean Validation API 并不局限于应用程序的某一层或者哪种编程模型, 例如,如下图所示, Bean Validation 可以被用在任何一层, 或者是像类似Swing的富客户端程序中. 一个