2020-02-07 20:57:35

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


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的所有,我只是在写这篇文章时想到了这么多,就画了这么多,所以在后续文章中可能比这个图要多一些,这里这个图只是为刚刚接触微服务的人大致了解一下。图中使用的搭配只是我习惯的搭配,有很多可以使用其他技术替代,只是给您参考一下。

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


商业用途请联系作者获得授权。
版权声明:本文为博主「任霏」原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://www.renfei.net/posts/1003316
评论与留言
以下内容均由网友提交发布,版权与真实性无法查证,请自行辨别。

本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!


本站有缓存策略,时间约2小时后能看到您的评论。本站使用自动审核机制,如果您的内容包含广告/谩骂/恐怖/暴力/涉政等不和谐内容将无法展示!

关注任霏博客
扫码关注「任霏博客」微信订阅号
微博:任霏博客网
Twitter:@renfeii
Facebook:任霏
最新留言 感谢🙏,第一个问题是空格的问题应该,我逐字敲完后可以构建了.第二个问题是我docker环境的问题,docker更新为最新版后需要重置配置文件.现已经正常使用,再次感谢您的分享和您的细心解答,期待下次相遇😄 还有一个问题可以请教下吗?就是我在容器里建文件夹没有权限,su root后密码不知道是多少,sudo mkdir xxx 提示我,没有sudo命令,请问有好的解决方法吗?谢谢解答 -v 后面可以指定文件吗 我的也是报错,还有。我执行了这个:@localhost kingbase-es-v8-r3-docker % docker run -d --name kingbase -p 54321:54321 -e SYSTEM_PWD=SYSTEM -v /opt/kingbase/data:/opt/kingbase/data -v /opt/kingbase:/opt/kingbase/Server/bin kingbase:v8r3 docker: 'run -d --name kingbase -p 54321:54321 -e SYSTEM_PWD=SYSTEM -v /opt/kingbase/data:/opt/kingbase/data -v /opt/kingbase:/opt/kingbase/Server/bin kingbase:v8r3' is not a docker command. See 'docker --help' 麻烦帮忙看下,是不是我写的命令有问题,还是版本问题,谢谢啦 请问我build的时候一直报错,是资源没了吗?failed to solve with frontend dockerfile.v0: failed to create LLB definition: failed to do request: Head "https://reg-mirror.qiniu.com/v2/library/centos/manifests/7?ns=docker.io": Moved Permanently 能不能在代码那里详细解释一下啊,没完全懂呀 en 按照路径上的来操作的,但是启动时一直报:zsh: no such file or directory: docker run -d --name kingbase -p 54321:54321 -e SYSTEM_PWD=SYSTEM -v /Volumes/installation/opt/kingbase/data:/opt/kingbase/data -v /Volumes/installation/opt/kingbase/bin/license.dat:/opt/kingbase/Server/bin/license.dat kingbase:v8r3 错误 博主,怎么没有spark入门教程? 亲测可用,十分感谢。 讲得好 我想提示博主,Adblock 广告屏蔽插件被启用提示这个弹窗非常不友好。它唯一的作用是影响用户阅读,甚至厌恶了离开。没有哪个用户会为了某一个站点而关闭防广告插件,因为这对于用户是不明智也不理智的,最终的伤害是贵站。