首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客688002910号
门头沟学院 Java
发布于湖南
关注
已关注
取消关注
@在下uptown:
如何学习一个大型分布式Java项目
前言很多同学在没有实习经验的时候看到一个多模块分布式项目总是有一种老虎吃天的无力感,就像我刚毕业去到公司接触项目的时候一样,模块多的夸张,想学都不知道从哪开始学,那么我们拿到一份代码后如何从头开始学习一个新项目呢。这里我们借助开源项目DatalinkX举例,开源项目都会有比较完善的readme,如果要学习开源项目一定要先仔细看一遍readme描述,会帮助你对这个服务有一个大体的认知。启服务动拿到开源代码后先给导入到IDEA里,先解析pom并下载依赖,如果编译器里出现红线,先解决红线问题。(很多同学在这一步就望而却步了,其实这一步往往都是环境问题导致的,属于最恶心的一步。)项目加载正常之后,冤有头债有主,先找有哪些启动类,换句话说先看哪些模块是作为web服务启动,现在的JavaWeb项目基本都是SpringBoot称霸武林,全局搜(ctronl + shit + f) @SpringBootApplication,这里插播一个面试题,大家都在心里默默回答一遍SpringBoot的启动流程,不会的先别看了,你应该在面试中到不了问项目的地步........搜索完你会发现,在DatalinkX中有两个模块作为服务模块,datalink-server与datalinkx-job,我们打开datalinkx-server的目录就会发现这是一个标准的web服务了,标准的四层模型,Controller、Service、Dao(repository)、Model(bean)如果你看了readme就会发现,这块服务用来跟业务数据库交互的服务,先有一个大体概念。再来看另一个启动模块datalinkx-job,你会发现这个模块跟web服务的四层结构没有一点关系。可能会疑惑没有controller怎么向外暴露入口呢,这时候再结合readme的描述发现使用了xxl-job,去看几篇xxl-job组件的文章就会反应过来,datalinkx-job是作为一个执行器,通过netty的方式暴露接口给xxl-job调度。请求追踪整体对系统有一个大体的业务认知,基于flink的异构数据源流转系统,核心业务就是用来流转数据的,什么是流转数据,说白了就是把A数据源的a库a1表的数据同步流转到B数据源的b库b1表,A和B两个数据源是不同架构的数据源,可以是mysql -> oracle,也可以是ES -> redis。对系统有了大概了解之后根据readme提供的线索配置好yml配置不出意外的话就可以启动起来,选择最简单的业务场景进行debug,创建数据源,通过在DsController里添加端点,一点一点分析调试业务代码。在调试中会发现datalinkx-server使用了其他子模块中的方法,在这个过程中不断扩展对整个服务的业务认知。组件分析很多同学看到服务中使用了各种中间件会心生畏惧,认为没有接触过组件,不知道怎么学或者认为学起来非常麻烦。这块我的建议是先知道这个组件是干什么的,能解决什么问题,再结合业务场景来思考为什么要用这个中间件,用这个中间件解决了什么问题。做到这一步一个项目基本上已经吃的差不多了,应付别人的提问没啥问题,剩下的就是加分项了。架构分析不想当架构师的工程师不是好工程师,虽然听起来挺冠冕堂皇,哥们就是来挣钱的,架构不架构个锤子,要不是想混口饭吃谁研究这玩意。但是不吹还不行,现在都喜欢问点分布式的东西,仔细分析下为什么server和job要分成两个服务启动呢,我们可以把它类比成传统分布式架构master + worker,在部署上我们可以横向扩展job模块来提升系统的性能。这些只是冰山一角,还有更多优秀的设计藏在代码里等你发掘。感兴趣的话可以加入交流群一起学习,如果感觉很吃力的话可以酌情考虑购买文档加入股东委员会。会有独立的股东群里交流项目细节、分享内推岗位、共享大厂笔试面试经验等。Gitee: https://gitee.com/atuptown/datalinkxGieHub: https://github.com/SplitfireUptown/datalinkx
点赞 2
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-28 16:37
门头沟学院 Java
腾讯一面已挂
哎,继续加油吧
ResourceUt...:
能接到面试就已经是✌🏻了
腾讯一面2194人在聊
点赞
评论
收藏
分享
07-29 15:23
天津工业大学 嵌入式工程师
京津冀这波强降雨太揪心了,大厂都出手了
不得不说,还得是大厂啊,他们肩负着社会责任,在老百姓需要的时候都来帮助了另外,他们怎么都在有钱?1e1e的捐啊!
zhch7:
社会责任感这一块
聊聊这家公司值得去吗
点赞
评论
收藏
分享
07-13 12:18
华南师范大学 Unity3D客户端
气笑了
很难想象在当时考场上的人是怎么绷住的😂
Twilight_m...:
还是不够贴近现实,中关村那块60平房子200万怎么可能拿的下来,交个首付还差不多
点赞
评论
收藏
分享
06-10 18:55
已编辑
西安电子科技大学 Java
京东三面已完成
如题,稳不稳今天问了一面面试官,他说等一等,不知道啥意思,是不是挂了也会打电话联系。
只管努力就好:
恭喜恭喜恭喜,我都没有面试机会,上周被压力炸了,今天中午看页面显示被捞进入评估结果下午就没了
京东三面373人在聊
点赞
评论
收藏
分享
今天 18:46
北京航空航天大学 Web前端
美团
宝宝,你听我说,这次我真的准备好了,暑期实习我有些难处希望你能理解,这次我是真的可以了,希望你能再给我一个机会好不好
投递美团等公司8个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
都是 dirty work,为什么别人的简历上就能言之有物🤔
2.4W
2
...
百度提前批一面(秋招第一场也估计是压力最大的)
8208
3
...
秋招首凉-腾讯TEG 云架构平台提前批
3930
4
...
团孝子启动ing!
3359
5
...
干活最少的实习生因为长得漂亮转正了
3101
6
...
【07.29更新】能救一个是一个!26届毁意向毁约裁员黑名单
2926
7
...
虾皮后端一面(已挂)
2553
8
...
最近是各位大佬离职回去准备秋招了嘛,鼠鼠最近投的实习居然都有回应了,基本上当天投的两天之内都能有回应,要是秋招能有这样就太好了呜呜,简单记录一下吧。7月23日:快手-平台消费(一面)1.实习介绍(干了
2533
9
...
问问各位大佬
2401
10
...
令人心动的offer!!!
2144
创作者周榜
更多
正在热议
更多
#
你遇到最难的面试题目是_
#
8812次浏览
120人参与
#
分享一个让你热爱工作的瞬间
#
32442次浏览
337人参与
#
中兴秋招
#
198025次浏览
2227人参与
#
工作中哪个瞬间让你想离职
#
53242次浏览
462人参与
#
工作压力大怎么缓解
#
94156次浏览
994人参与
#
你最讨厌面试问你什么?
#
16930次浏览
209人参与
#
腾讯大前端岗位热招中
#
124次浏览
1人参与
#
26届的你,投了哪些公司?
#
23748次浏览
289人参与
#
我对___祛魅了
#
33636次浏览
320人参与
#
多益网络求职进展汇总
#
31583次浏览
141人参与
#
简历上的经历如何包装
#
15029次浏览
526人参与
#
你跟室友的关系怎么样?
#
4368次浏览
77人参与
#
如何快速融入团队?
#
12167次浏览
144人参与
#
和同事相处最忌讳的是__
#
16517次浏览
163人参与
#
什么样的背景能拿SSP?
#
18321次浏览
138人参与
#
机械人的金三校招总结
#
35762次浏览
461人参与
#
饿了么求职进展汇总
#
64299次浏览
636人参与
#
打工人的精神状态
#
68609次浏览
1116人参与
#
秋招前后对offer的期望对比
#
302555次浏览
2223人参与
#
我和mentor的爱恨情仇
#
62112次浏览
379人参与
#
实习生活中那些难忘的瞬间
#
165613次浏览
2459人参与
#
百度秋招提前批进度
#
117532次浏览
1371人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务