微服务学习导航

但愿给你3-5分钟的碎片化学习,多是坐地铁、等公交,聚沙成塔,水滴石穿,码字辛苦,若是你吃了蛋以为味道不错,但愿点个赞,谢谢关注。html

如何学习

  学习是一我的的核心竞争力,终生持续学习是别人离不开你的秘诀,若是能分享和教会别人,你的收获多是双边甚至更多。就技术领域的学习,我仍是一个在海边玩耍的小孩,时不时由于捡到一块漂亮的石头就开心不已。算法

学习金字塔

  学习金字塔是个被熟知的好方法,以下图所示。shell

  该方法至少内置了两层含义:1.学习是按部就班的过程,不要但愿走捷径,刷聪明才智。2.学习是从理论到实践再到理论的反复迭代的过程,不要以为一个闭环就能搞的定。若是人家恭维以为你是某一方面的专家,你要有所保留,不要掉进赞美的坑里。数据库

  

  学习比如小孩玩乐高游戏,首先要明确要拼什么,是航空母舰仍是直升机,其次要尽量的占有更多有价值的学习资源,也就是要有足够的的积木,接下来就是看说明书,按步骤,分阶段,按级别的动手过程。架构

  因此回到咱们的主题,咱们要学习的是微服务这个总目标,接下来搜集尽量多的有价值的资源,最后查一查咱们的说明书或者叫地图,了解学习图谱和路径了(百度脑图)。下面接着要规划的就是个人脑图和学习要点,若是您有更好的方式,请多指教。框架

学习路径

  

  学习路径属于学习的细节部分,根据以上的路径,咱们须要总体了解微服务整片森林的构成,也是就后面要展现的思惟导图,随后导图的每一个构件须要逐个拆分梳理,好比微服务包含的六大组建,最后咱们开始行动,各个击破。在分阶段学习的过程当中,咱们至少要按部就班,由简入深,避免一开始拔高门槛,致使的心理受挫。最后一环,经过讨论,分享进行知识的盘点和复习、固话。ide

  提到学习方法,另外补充一个左耳朵耗子提出ARTS的学习小技巧,即每周至少作一个 leetcode 的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是 Algorithm、Review、Tip、Share 简称 ARTS)须要坚持至少一年。我以为这种方式也很不错,不过那是学习的细节和学习毅力的问题了,但凡是有这种好习惯的人,值得敬仰,我知道的有阮一峰前辈有这种持续的学习毅力。微服务

学习什么

  微服务已经不是什么新技术,只是闻道有前后,大厂和趋势在前行,你不得不迈开脚步(可能你反对,可是趋势挡不住),当微服务扑面而来的时候,你是否还在观望或者犹豫,当你恍然大悟的时候,你是否又迷茫不知所措?是的,咱们须要一份微服务的脑图,也许这份图谱不必定是标准答案,可是在你作参考和评估的时候,但愿能对你有所帮助。以下图所示:学习

  

  因为内容较多,查看全貌请移步百度脑图spa

  为了更好地理解微服务和设计微服务架构,列出几个比较经典的设计图辅助理解:

  图一

  

   图二:(胡忠想 微博技术专家)

  

  不知道你对以上的图有何感想,欢迎加入咱们的QQ群进行深刻讨论:105365283

六大组件

  如脑图所示,微服务整体的内容包含有六大组件:服务描述,注册中心,服务架构,服务监控,服务跟踪和服务治理。这六大组件互相依赖,相辅相成,纵深挖掘,又能够牵扯出DevOps和容器化技术等周边信息,这些武器库表明的是技术的将来,不论是你是在小企业仍是大厂,仍是大厂里的小部门,不知道你是否有这种体验?

  

     (微服务生态)

服务描述:

  相似服务的说明文档,简单但不可或缺。好比,服务调用首先要解决的问题就是服务如何对外描述。好比,你对外提供了一个服务,那么这个服务的服务名叫什么?调用这个服务须要提供哪些信息?调用这个服务返回的结果是什么格式的?该如何解析?这些就是服务描述要解决的问题。

注册中心:

  有了服务的接口描述,下一步要解决的问题就是服务的发布和订阅,就是说你提供了一个服务(Provider),如何让外部(Consumer)想调用你的服务的人知道。这个时候就须要一个相似注册中心(Registry)的角色,服务提供者将本身提供的服务以及地址登记到注册中心,服务消费者则从注册中心查询所须要调用的服务的地址,而后发起请求。以下图所示:

  

服务框架:

  经过注册中心,服务消费者就能够获取到服务提供者的地址,有了地址后就能够发起调用。但在发起调用以前你还须要解决如下几个问题。服务通讯采用什么协议?是RESTful API仍是gRPC?数据传输采用什么方式数据压缩采用什么格式?这些活一般集成到了咱们的服务框架里面,市面上有不少这样的开源框架,相对都比较成熟,接下来考验你的是快速上手的能力。

服务监控:

  一旦服务消费者与服务提供者之间可以正常发起服务调用,你就须要对调用状况进行监控,以了解服务是否正常。一般来说,服务监控主要包括三个流程,指标收集,数据处理,数据展现。监控是为了发现问题和异常,若是要进一步跟踪和定位问题,则须要进一步了解服务追踪。

服务追踪:

  除了须要对服务调用状况进行监控以外,你还须要记录服务调用通过的每一层链路,以便进行问题追踪和故障定位,最后达到接近问题的目的。服务监控和追踪能够合并起来,可是要明确各自的职责是不同的。

服务治理:

  服务监控可以发现问题,服务追踪可以定位问题所在,而解决问题就得靠服务治理了。服务治理就是经过一系列的手段来保证在各类意外状况下,服务调用仍然可以正常进行。就目前开源的服务框架,大部分都不包括服务治理的内容,因此有可能这块是须要你和你的团队进行定制化开发,就看你作到什么程度了,就比如你有数据库可是你没有ER图描述,并不影响你用微服务,固然若是有就是锦上添花的东西了。

  以上六大组件能够粗暴的定义为微服务的二级目录,他们共同组成了微服务架构,在生产环境下缺一不可。

  相信经过以上的整理,你对微服务的学习方法和学习路径已经有了一个大概的思路了,接下来就是迈开脚步,持续输出的能力了,你准备好了吗?

参考文献:

但愿以上分享对你有帮助,我是IT人张飞洪,入行10年有余,人不堪其忧,吾不改其乐,谢谢您关注。

相关文章
相关标签/搜索