深入理解微服务架构:银弹or焦油坑?

本文探讨了微服务架构与SOA的关系,解释了微服务的起源,指出微服务是更细粒度的架构设计,强调了服务粒度、服务通信、服务交付和应用场景的差异。同时,文章提醒读者注意微服务可能带来的复杂性、性能下降、问题定位困难等问题,并指出没有自动化支撑和服务治理可能导致管理混乱。
摘要由CSDN通过智能技术生成

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等

微服务是近几年非常火热的架构设计理念,大部分人认为是 Martin Fowler 提出了微服务概念,但事实上微服务概念的历史要早得多,也不是 Martin Fowler 创造出来的,Martin只是将微服务进行了系统的阐述。不过不能否认 Martin 在推动微服务起到的作用,微服务能火,Martin 功不可没。

微服务的定义相信你早已耳熟能详,参考维基百科,我就来简单梳理一下微服务的历史吧

  • 2005 年:Dr. Peter Rodgers 在 Web Services Edge 大会上提出了“Micro-Web-Services”的概念。
  • 2011 年:一个软件架构工作组使用了“microservice”一词来描述一种架构模式。
  • 2012 年:同样是这个架构工作组,正式确定用“microservice”来代表这种架构。
  • 2012 年:ThoughtWorks 的 James Lewis 针对微服务概念在 QCon San Francisco2012 发表了演讲。
  • 2014 年:James Lewis 和 Martin Fowler 合写了关于微服务的一篇学术性的文章,详细阐述了微服务。

由于微服务的理念中也包含了“服务”的概念,而 SOA 中也有“服务”的概念,我们自然而然地会提出疑问:微服务与 SOA 有什么关系?有什么区别?为何有了 SOA 还要提微服务?这几个问题是理解微服务的关键,否则如果只是跟风拿来就用,既不会用,也用不好,用了不但没有效果,反而还可能有副作用。

本文就来深入理解微服务,到底是银弹还是焦油坑

微服务与SOA的关系

对于了解过 SOA 的人来说,第一次看到微服务这个概念肯定会有所疑惑:为何有了 SOA还要提微服务呢?等到简单看完微服务的介绍后,可能很多人更困惑了:这不就是 SOA吗?

关于 SOA 和微服务的关系和区别,大概分为下面几个典型的观点。

微服务是 SOA 的实现方式

如下图所示,这种观点认为 SOA 是一种架构理念,而微服务是 SOA 理念的一种具体实现方法。例如,“微服务就是使用 HTTP RESTful 协议来实现 ESB 的 SOA”“使用 SOA 来构建单个系统就是微服务”和“微服务就是更细粒度的 SOA”。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值