Java-Interview-Advanced/docs/distributed-system/dubbo-framework-principle.md
2020-07-03 00:01:12 +08:00

3.8 KiB
Executable File
Raw Blame History

分布式这块,Dubbo相关的原理Spring Cloud相关的原理,有的面试官可能会这样问,你有没有看过Dubbo或者Spring Cloud的源码呢技术广度技术深度项目经验系统设计基本功

平时看你简历主要是用一些技术来开发一些系统就会问问你了对于一些你平时常用的技术有没有关注过底层的原理或者是看过源码你要是说90%的人,一般都会在这个时候支支吾吾的说

源码看过一点点,但是没怎么看过

在我们面试训练营里,能给你来分析源码吗?不太现实的,任何一个开源项目,源码少则几万行,多则几十万行,Hadoop、Spark面试训练营,几讲的时间来讲透任何一个开源项目源码,不现实

看源码技巧是有,但是,需要技术功底

就是说提炼一些Dubbo、Spring Cloud相关的一些底层的运行的原理,给大家来用大白话+现场画图的方式,说清楚,你就可以结合我们视频讲解的内容,去现场画图给面试官画一画一些技术底层的运行的一些原理

我们的课程每天都会有一个作业,引导大家把学习到的项目经验、技术方案和生产优化落地到自己负责的项目中去,让大家出去面试的时候,可以把各种技术结合自己的项目来回答面试官的各种深度拷问

大家不要小看这个,根据我多年的面试经验来看,拥有这个技能的人凤毛麟角,这种人出去绝对是各大公司争抢的对象。

所以希望大家好好完成每天的作业,我布置的大量作业,就是为了帮你锻造出这种能力

学习课程以及完成作业的过程中,大家一定会有很多的问题,可以到专栏的评论区去提问

每天我都会和之前带出来的一批阿里、蚂蚁金服、滴滴的优秀同学给大家进行答疑,并且我们还有专门的付费用户的微信群,大家可以在微信群里跟我们一起进行技术交流

如果你能坚持下来学满6季还可以获取私人定制的面试一条龙VIP服务

如果是连续6季面试训练营都购买的同学还可以获取面试一条龙VIP服务

具体信息大家看“儒猿技术窝”公众号的知识店铺内的训练营详情即可,

具体可参见训练营目录下的《训练营专属服务》文档。简单来说这个私人定制的面试VIP服务会为你的跳槽面试全程保驾护航

分布式系统

拆分为了多个子系统之后各个系统之间如何通过Spring Cloud服务框架来进行调用Dubbo框架来进行调用

Dubbo核心架构原理 提供接口

服务注册中心:

###消费者

动态代理Proxy

负载均衡Cluster负载均衡故障转移

注册中心Registry

通信协议Protocolfilter机制http、rmi、dubbo等协议

http、rmi、dubbo

比如说我现在其实想要调用的是DemoService里的sayHello接口

你的请求用什么样的方式来组织发送过去呢?以一个什么样的格式来发送你的请求?

http/demoService/sayHello?name=leo rmi另外一种样子 dubbo另外一种样子interface=demoService|method=sayHello|params=name:leo

信息交换ExchangeRequest和Response

对于你的协议的格式组织好的请求数据需要进行一个封装Request

网络通信Transportnetty、mina
序列化封装好的请求如何序列化成二进制数组通过netty/mina发送出去

提供者

网络通信Transport基于netty/mina实现的Server

信息交换ExchangeResponse

通信协议Protocolfilter机制

动态代理Proxy