最后
既已说到spring cloud alibaba,那对于整个微服务架构,如果想要进一步地向上提升自己,到底应该掌握哪些核心技能呢?
就个人而言,对于整个微服务架构,像RPC、Dubbo、Spring Boot、Spring Cloud Alibaba、Docker、kubernetes、Spring Cloud Netflix、Service Mesh等这些都是最最核心的知识,架构师必经之路!下图,是自绘的微服务架构路线体系大纲,如果有还不知道自己该掌握些啥技术的朋友,可根据小编手绘的大纲进行一个参考。
如果觉得图片不够清晰,也可来找小编分享原件的xmind文档!
且除此份微服务体系大纲外,我也有整理与其每个专题核心知识点对应的最强学习笔记:
-
出神入化——SpringCloudAlibaba.pdf
-
SpringCloud微服务架构笔记(一).pdf
-
SpringCloud微服务架构笔记(二).pdf
-
SpringCloud微服务架构笔记(三).pdf
-
SpringCloud微服务架构笔记(四).pdf
-
Dubbo框架RPC实现原理.pdf
-
Dubbo最新全面深度解读.pdf
-
Spring Boot学习教程.pdf
-
SpringBoo核心宝典.pdf
-
第一本Docker书-完整版.pdf
-
使用SpringCloud和Docker实战微服务.pdf
-
K8S(kubernetes)学习指南.pdf
另外,如果不知道从何下手开始学习呢,小编这边也有对每个微服务的核心知识点手绘了其对应的知识架构体系大纲,不过全是导出的xmind文件,全部的源文件也都在此!
分支管理,简单理解,就是多条生产线管理,比如一款手机的多个版本的生产。
比如某个手机的三条生产线:
现售的Mate30手机,在装订生产。
同时还有Mate20旧版本还有部分销售订单还在继续装订。
新版本Mate40还在研发
这样就好理解,我们的项目代码就是制作手机的输入,通过管理多个分支,让不同产品线团队做到最大程度的独立开发,发布不同款式产品。
下面介绍一下著名开源项目和我们做开源项目应该怎么进行分支管理的
第一种 基于主干分支管理(Trunk Based)比如LINUX内核
我们打开Linux内核的主线repo,看到如下的分支,只有master主干分支。
非常简单,也比较典型的主干为中心的分支管理。
因为linux内核主线只有一个,新的特性代码会被不断提交到主线,新内核也没有必要支持向后移植。
如果需要得用指定的tag来检出特定版本分支,进行修订发行。
就像下图一样,以trunk分支为中心,每一个弯都是一个PR(Pull Request),合并到trunk分支。
学委补充一下PR,PR代表每次有效开发工作的提交与合并。
主干分支管理的好坏:
好处:简化管理,所有特性只要审核通过马上合并到主干分支。这样随时可以发布,也避免了出现大规模集成的风险。
缺点:一个个单一的提交造成问题不大,不过当出现颠覆式的提交或者多个提交,这些提交造成的问题会一直影响主干分支,也影响到每次发布,直到问题解决。
小伙伴可能有疑问了,那么稳定发行版本,如何进行打补丁(比如遇到bug或者安全漏洞需要提交修改)
稳定版本仓库:https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
linux还有一个独立的stable 仓库,它基于主线分支的一次镜像(或者定期同步,主要是发行大版本的时候)。
确定了发行的主版本后,做一个分支发布为stable仓库,后续比较急的补丁都打在stable分支上,然后再回顾这些提交,发布到内核仓库的主干分支。
第二种 Gitflow模式,即多特性分支管理, 比如hadoop
大数据的底层hadoop框架是怎么发行的?
我们看看下图,这就一目了然了。
一个trunk主干分支,加上现行的主流版本的特性分支(branch-2.10, branch-3.2等)。
别看有trunk分支就是咬定了是trunk-based开发模式,我们要看这个产品活跃分支。
hadoop框架诞生很早,应用比较广泛,属于应用型上层框架。
很多企业用的版本都不是统一个的3.X新版本,不少企业还是2.X版本。所以hadoop社区采用这种分支管理模式,长期维护了多个主流版本的开发。这点学委觉得是非常合适的。
就像下图一样,每一个弯都是一个PR(Pull Request):
学委想指出,这里出现了多个长分支,像feature1.x, feature
2.x(当然hadoop现在不维护1.x版本了),这个图只是展示作用。
这样的好处:
各个分支的开发独立运作,hadoop 2.X项目主要还是基于Java7运行环境执行。而hadoop 3.X 跟Java8运行。
最后
看完上述知识点如果你深感Java基础不够扎实,或者刷题刷的不够、知识不全面
小编专门为你量身定制了一套<Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+SSM框架+分布式+性能调优+微服务+并发编程+网络+设计模式+数据结构与算法>
针对知识面不够,也莫慌!还有一整套的<Java核心进阶手册>,可以瞬间查漏补缺
全都是一丢一丢的收集整理纯手打出来的
更有纯手绘的各大知识体系大纲,可供梳理:Java筑基、MySQL、Redis、并发编程、Spring、分布式高性能架构知识、微服务架构知识、开源框架知识点等等的xmind手绘图~
a面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**