前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SOA和微服务的区别并不是size!

SOA和微服务的区别并不是size!

作者头像
ImportSource
发布2018-04-03 12:01:08
7160
发布2018-04-03 12:01:08
举报
文章被收录于专栏:ImportSource

Stephen O’Grady

对于那些已经在技术行业有一段时间的人来说,一般总是想要去比较甚至将当前的微服务现象等同于更古老的面向服务架构(SOA)的做法。有人甚至明确地发表诸如“微服务只不过是新的SOA”或者“亚马逊是唯一get到SOA的公司”。

这样的论调是不足为奇的,因为它确实有一定的事实依据。对于部分企业来说,SOA是他们一直在坚持的,即使错了也要继续走下去,它被重新定义了,看起来非常像有为青年(进步组织)们今天正在构建的云原生架构(Cloud Native),其中就包括微服务。然后SOA被剥夺了其核心的部分,摇身一变SOA被认为是由多个服务(service)组成而不是单体应用程序。

这样的做法现在是受欢迎的。但是,SOA从一开始就是一场艰苦的战斗。它获得了炒作和金钱,这反过来又不可避免地给人们传递了积极的信号。但即使如此,业界还是趋向于一个相对更简单的技术标准。

如果说SOA和微服务至少从功能的角度有一些共同点的话,那么为什么前者被拒绝而后者则被接受?

许多人会指出大小(size)是关键的区别。有人认为被SOA定义的服务不够细致,因此更难构建和管理。摆脱这一显而易见的事实,因为这样的话你就误以为是大型服务相关的管理成本问题,然后你就开始把其分解成大量较小的替代品,同时也忽略了更为关键的区别:SOA主要是供应商引导的现象,微服务在很大程度上相反从下到上驱动。

鉴于AWS等平台的成功,很难说SOA不是建立平台的有效途径,但目前来说SOA已不是主要的方法。但是值得注意的是,基于服务的平台(service-based platforms)是目前很多开发人员都在使用的架构。最初由大型供应商设想的SOA驱动的世界,其中的服务其实是建立在拜占庭框架的复杂(而且经常是政治)“标准”之上的,从来没有得到普遍认可,原因其实很简单,就是开发者不愿意不认可。

可以肯定的是,微服务确实从各种SOA从业人员的经验教训中获益匪浅,实际上甚至对微服务起到了推动作用,微服务的普及也在一定程度上削减了我们对SOA的使用。

但是,最重要的是抛开SOA后,开发人员开始发挥决定性作用 - 在许多情况下,由开发人员来决定将会使用什么和不会使用什么。

微服务对人们来说比单体应用要更容易开发,而不用考虑那些SOA供应商的标准,这就是为什么即使SOA在数量上仍然高于微服务,但微服务的势头看起来要更加积极良好。

在这个行业中,我们经常会从技术和功能的角度去解释一个东西成功或失败的原因,但真实的原因往往要简单得多:那就是“主人公”要不要用,仅此而已。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 ImportSource 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档