时间过得好快,终于到了该说再见的时候,仿佛下笔写下专栏开篇词就在昨日。回想当初,我与极客时间团队讨论专栏的主题,希望可以面向零基础用户,给一些中小团队的微服务架构落地提供参考和帮助。但是微服务确实有一定的技术门槛,对于团队也有一定的要求,“从入门到放弃”这句话用在微服务上也不是耸人听闻,因此我在构思开篇词时写下了“微服务,从放弃到入门”这个标题,希望通过专栏我们可以一起走入微服务的大门。现在专栏正文已经更新完毕,和我一起走到这里的同学,也请不要松气,从入门到精通还有很长一段路要走。
回想起一开始学习微服务时,我对注册中心、RPC调用、熔断、限流等概念也是一知半解,虽然也在实际项目中应用过,但对它们背后的工作原理并不是很了解。我记得当时在微服务架构中为什么要使用注册中心,注册中心是如何判断服务提供者节点存活的,这个问题也一直困扰着我。后来随着服务化改造项目越来越多,我在项目中遇到的问题也越来越多,难度也越来越大。当时为了排查线上问题,我只能逼自己深入进代码细节,去理解注册中心背后的工作原理。从学习到实践再到学习的过程,才让我真正对注册中心的原理和架构有了深刻地理解,做到了不仅知其然,也知其所以然。之前困扰我的问题以及线上的故障也都一一有了解决方案,仿佛一切都是水到渠成。
所以在入门到精通这段路上,一定少不了实践的过程。只有在掌握基础知识以后,通过具体业务项目的实践,才能深刻体会到这些知识点的原理,真正理解专栏中讲述的那些架构取舍的根本原因所在。这也是我在过去一年的时间里,作为微博跨语言服务化改造的主导者之一,参与推进多个重要业务线微服务架构落地后所得出的体会。同时也希望通过专栏可以把整个实践过程做个总结,分享一下我的实践经验。
再回到专栏,专栏内容的安排是由浅入深,从基础知识讲起,逐渐深入到业务实践中去。但是微服务发展至今,涵盖的知识点越来越多,所以我挑选了其中最为核心的部分给你详细讲解。更新完全部正文我们再回过头来看,你在回顾这个专栏时可以把它分为两部分,上半部分是微服务架构的基础知识,包括基本原理和基础组件;下半部分是微博在微服务架构方面的具体实践,包括容器运维平台以及Service Mesh的具体实践。对于大部分微服务的初学者来说,通过专栏上半部分的学习可以对微服务架构有全面的认识;而对于有一定经验的微服务开发者来说,专栏下半部分的具体实践,能给你提供一些工作中可能会用到的方法论和实战指引。
做好一件事从来都不是容易的,就好像我写专栏的过程,需要花费大量的时间和精力一次次推翻自己的想法、突破认知的边界。就这样从酷暑写到寒冬,几乎每个工作日的夜晚和周末,都用在学习、写作、录音上。这个过程虽然很痛苦,但对我来说收获是巨大的。同样,学习微服务也是一个循序渐进的过程,就像打怪升级一样,刚开始的初级阶段好像比较容易,但越往后难度越大,尤其到了具体实践环节,对我们构建的知识体系有了一定的要求,不少同学走到这里可能就放弃了。但是相信我,在遇到难以理解的知识时,不要轻言放弃,通过反复阅读和理解,并结合具体实践去体会,你的收获会越来越大,对微服务的理解也会越来越深。
专栏虽然结束了,但我想你一定还有很多疑问,不用担心,我还会继续帮助你答疑。同时针对专栏前面没有来得及回复的留言,我也会专门挑选一些典型的问题深入解答。最后考虑到很多同学在留言中提到想了解一些微博的基础架构,我还会给你赠送特别福利,写几篇关于微博基础架构的文章,敬请期待!