阅读:5832回复:0
Go web到微服务学习路线之认知提高四步曲(建议)
网站由于Go是主线,所以GO的课程比较多。那么问题来了:从什么角度入手?
接下来我们来说个学习方法,仅供参考。 首先我们是主做 >入门 <=中级这个阶段的课程体系。意味着 1、入门语法和环境搭建,需要自行搞定。 2、成为大神后,这里就成为您的回忆了。 3、类似传统CMS、传统模板渲染网站 不在我们的业务范围内 第一步:自行恶补篇 Go语法、goland安装和科学使用、Linux基本操作(常识)、docker的基本操作(常识)、MySQL基本使用。请自行学习、也可观看外站视频+网文+书籍等。这一步请控制好时间。如果3个月的持续学习都无法入门Go语法或开发环境都无法搭建,建议立刻考虑别的行业。 以上搞定后,自行简单学习一下gin。 这是Go的web框架,当然你选择别的框架也无妨,随便。已经不重要了(下面会解释) 第二步:过了第一步,那么接下来由我们课程体系来接管接下来的技术栈。 首先,我们这里有个基于Gin的脚手架,文档在这:https://65480539.gitbook.io/goft/ 。开发很类似 java的spring boot ,足够完成基本的web操作。当然,你也可以选择使用原生的gin。无所谓,不重要。 与此同时,光会框架是没用的,额外的知识点也需要掌握,如casbin(权限)、设计模式、redis、oauth、领域驱动等也需要掌握。具体看这里 。 这一步是横向学习,增加知识面的广度。(大部分新手在没有项目经验的情况下,没有可能立刻会有深度,因此新手阶段打算阅读源码学习的方式是不可取的,除非天赋异禀) 到这一步,有些代码掌握不了咋办,这里放出终极"捷径": 至少敲5遍。不行就10遍。还不行就20遍 .20不行就50遍。除非天赋异禀,否则大部分高手也是这么学的,只不过他们不告诉你而已。 第三步:微服务阶段 首先,一定要知道现在是2021年了。建议立刻停止疯狂寻找 “传统微服务框架”的行为。在我们看来,传统 本地+手工进行微服务治理的框架 在一定程度上已经过时了,且它们本身就是 早期微服务建设阶段的残次品。 因此,疯狂的寻找传统微服务框架,妄想绕过k8s的学习的行为是不可取的、不与时俱进的。另外,k8s也不是啥新事物了。 接下来,升级一下电脑或购买云服务器学习k8s,路线在这 现在流行的开发方式是:把服务治理(也就是喜闻乐见的服务注册与发现、限流、熔断、统一认证、监控和统计、链路等等等等)统统交给k8s+xxx mesh架构。业务开发者只要拿着web框架、grpc什么的专注开发业务就行了。 其中xxx mesh指的是service mesh ,也就是网格服务。大概有两个角度 网关级。三大油腻的中年网关(nginx、traefik、kong),其他的不说了。 这三个油腻男 也在做 mesh架构。适合中小项目,轻量治理 其中,traefik 我们正在更新,具体看这里 后期打算在nginx mesh 和 kong mesh 中选择一个 再做课程更新 爸爸级。代表作是谷歌的istio 。 本课程3月份 正式开始录制和连载,敬请期待。适合中大型项目。暴强 service mesh 也可以称之为 跨语言架构,结合k8s后淡化了语言级框架的作用(撼动了它们的地位),也就是说:开发微服务不管你用的是PHP还是java还是golang,使用的架构是一样的,都是k8s+xxx mesh 。 唯独不同的是增删改查的业务API 第四步:鸡汤和常见问题 1、 不要抗拒学习。我们现在开发用的技术难道是当天学的?肯定不是, 不还是以前学的吗? 因此,现在用的是以前学的。现在学的是以后用的。没毛病,老铁~~~ 2、技术更新太快,学不动了怎么办? 没办法 3、到底选择哪个微服务框架呢? 说明第三步你没看,直接看的这一步。说三遍:不要框架、不要框架、不要框架 4、k8s是运维学的,我不要学的,对吗? 我们在开发增删改查时用到mysql。那么mysql的安装、基本配置和简单优化总要会的。k8s同理,确实不用学到运维的角度,但是不能认为“事不关己高高挂起” 5、Java好还是PHP好? 出门左转 |
|
|