Spring Cloud 微服务入门教程(一):微服务介绍

前言

我的个人博客网站一直坚持每年一次大更新,但这次我决定不更新了,因为再更新就是使用微服务了,一个小网站用微服务架构就有点杀鸡用牛刀了,而且维护起来比较费时费力。所以直接写成教程文章就不再大动干戈的去重写我的博客了。

微服务的历史

参考维基百科英文版,我们简单梳理一下微服务的历史:

  • 2005年:Dr. PeterRodgers在Web ServicesEdge大会上提出了“Micro-Web-Services”的概念。

  • 2011年:一个软件架构工作组使用了“microservice”一词来描述一种架构模式。

  • 2012年:同样是这个架构工作组,正式确定用“microservice”来代表这种架构。

  • 2012年:ThoughtWorks的James Lewis针对微服务概念在QCon San Francisco 2012发表了演讲。

  • 2014年:James Lewis和Martin Flower合写了关于微服务的一篇学术性的文章,详细阐述了微服务。

SpringCloud和Dubbo

Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点。

Spring Cloud,从命名我们就可以知道,它是Spring Source的产物,Spring社区的强大背书可以说是Java企业界最有影响力的组织了,除了Spring Source之外,还有Pivotal和Netfix是其强大的后盾与技术输出。其中Netflix开源的整套微服务架构套件是Spring Cloud的核心。

为什么我选择了SpringCloud

或许很多人会说Spring Cloud和Dubbo的对比有点不公平,Dubbo只是实现了服务治理,而Spring Cloud下面有17个子项目(可能还会新增)分别覆盖了微服务架构下的方方面面,服务治理只是其中的一个方面,一定程度来说,Dubbo只是Spring Cloud Netflix中的一个子集。但是在选择框架上,方案完整度恰恰是一个需要重点关注的内容。

微服务架构

SpringCloud微服务架构

这个架构图是我自己画的,因为是入门教程,所以并不是SpringCloud的所有,我只是在写这篇文章时想到了这么多,就画了这么多,所以在后续文章中可能比这个图要多一些,这里这个图只是为刚刚接触微服务的人大致了解一下。图中使用的搭配只是我习惯的搭配,有很多可以使用其他技术替代,只是给您参考一下。

后面我会慢慢逐个来交给大家如何使用这些组件,慢慢的把整个微服务架构丰富起来。

分享此页面

Comments