SOA和微服务之间的区别

近几年,我们有很多文章对SOA和微服务之间的不同点和相似点进行了分析。有些人认为SOA有很多地方是值得微服务学习的,而有些人则认为区别对待微服务和SOA会更好。而Neal Ford认为,将单体迁移到面向服务的架构要比迁移到微服务来得容易。关于选择SOA还是微服务的话题,最近并没有太多的争论,直到Redmonk的Stephen O'Grady发表了他的文章,这个话题再次进入了人们的视野。O'Grady在他的文章里说到,服务的大小不应该成为关键的决定性因素。这些年来,人们也一直在争论这个观点,比如Dan North。而Jeppe Cramon也说过:

单纯使用服务大小来定义微服务有失偏颇,也难以确定一个微服务是否被赋予了正确的职责……

O'Grady相信,SOA和微服务之间有着千丝万缕的联系:

在过去,SOA存在的一些缺陷导致它变成企业的幻象,就像今天那些使用了微服务云原生架构的激进型组织一样。如果我们深入到SOA的核心,我们会发现,SOA的本意是说架构应该由服务组成,而不是单体。

O'Grady在他的文章里通过Google Trends生成了一些图表,其中第一张图表显示了SOA在整个行业历史上曾经有一小段时期处于流行的高峰状态。

Stephen认为,通过服务大小来区分SOA和微服务将有碍找出导致SOA没落与微服务崛起的真正原因,SOA是由厂商驱动的,而微服务更多的是由开发者来驱动。

因为AWS的大肆成功,我们无法否认基于服务驱动的平台确实是构建可伸缩平台的一种有效方式,也无法否认它们在现今所取得的主导地位。但值得注意的是,现今基于服务的平台一般是由开发者来驱动的。而SOA最初由大型的厂商来驱动,基于拜占庭式的复杂(一般带有政治性质)的标准框架来构建服务,而这些标准并不为开发者所接受。

O'Grady在文章中提到,微服务在好的方面和不好的方面都借鉴了SOA。

微服务比单体更容易开发,而且没有了SOA的厂商标准累赘。

在过去几年,还有其他的一些人也表达了类似的观点,Asanka说:

如今,企业正在转向更干净的SOA,开始拥抱MSA。或许最大的看点是组件化,以及微服务提供的单一功能能够被快速地部署成组件,在必要的时候可以很容易地进行伸缩。不管怎样,这是一种很新奇的概念。

其中的第二张Google Trends图表也很有趣。

原文地址:http://www.infoq.com/cn/news/2017/07/soaandmicroservices


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/324414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

考研生的努力程度是有多恐怖!

2021年全国研究生招生考试在12月26日开始,不过我没有参加。早就听闻考研生是多么多么的努力,今日一见,果然名不虚传,在这之前他们是有多努力我不知道,但是今天我所见到他们努力的程度,可以用恐怖来形容。偶…

全文索引 - Pomelo.EFCore.MySql

背景 全文索引:MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。Pomelo.EntityFrameworkCore.MySql:一款第三方MySQL的Entity Framework Core驱动,在GitHub中开源&#xff0c…

“老师,为什么我一上课就感到困,听课听的总是走神?”

“老师,为什么我一上课就感到困,听课听的总是走神?” “老师,为什么我你讲的每个题我都能听明白,但是让我自己做我就一点思路都没有呢?” “老师,我记下来语法了,但是还是不会用怎么办?” “老师,我……” 怎么办?怎么办?急死了! 今天老师就给你解答一下你的为什么…

高并发场景下的限流策略

转载自 高并发场景下的限流策略 在高并发的场景下,我们的优化和保护系统的方式通常有:多级缓存、资源隔离、熔断降级、限流等等。 今天我们来聊聊限流。 为什么需要限流 举个比较简单的例子,正常来说,一个员工A他每天能够处理…

Entity Framework Core 批处理语句

在Entity Framework Core (EF Core)有许多新的功能,最令人期待的功能之一就是批处理语句。那么批处理语句是什么呢?批处理语句意味着它不会为每个插入/更新/删除语句发送单独的请求,它将在数据库的单次请求中批量执行多个语句。在这篇文章中&…

mybatis和spring整合时这个报错,应该这样解决!

01问题描述今天在写mybatis和spring整合的时候,出现了个问题,其实也没有多难,就是自己没有仔细看,特此记录一下。报错问题如下:org.springframework.beans.factory.BeanCreationException: Error creating bean with n…

一个简单的例子,学习自定义注解和AOP

转载自 一个简单的例子,学习自定义注解和AOP 记得今年年初刚开始面试的时候,被问的最多的就是你知道Spring的两大核心嘛?那你说说什么是AOP,什么是IOC?我相信你可能也被问了很多次了。 1、到底是什么是AOP&#xff…

Xamarin for iOS 11(一) - 初尝ARKit

编者语:Xamarin 的兼容性是它最大的优点,对于iOS / Android 新的功能支持也是无缝的,做到100%兼容。Xamarin.ios for iOS 11.0的支持已经开始,大家可以在这里下载最新的Preview支持 (https://releases.xamarin.com/preview-xcode-…

挺不喜欢下雪的

你要储蓄你的可爱,眷顾你的善良,变得勇敢。当这个世界越来越坏时,只希望你能越来越好。——《南山南》昨天夜间,窗外雪花飘飘,朋友圈中到处都是晒下雪的照片,有的说是“这是2020年的第一场雪”,…

是什么使你留在你的公司

一个故事 之前离职的一个同事,是典型的技术型人才,前段时间跟他一起吃饭,得知他工作状况不是很理想(他在创业型团队,工作强度非常大,且做出来的东西得不到应有的认可,公司给他的报酬也不是很高…

有些事,父母一定不能依着孩子!

今天的文章,可能有的人不太喜欢。在我教学这么些年以来,这个问题在今年出现的最多——父母总是站在孩子的角度,不管什么事都是依着孩子;如果此事对孩子好也就罢辽,但是明明对孩子没有一点好处,还要和孩子一…

“看起来你每天都要做好多事,你有时间吗?”

“我看你每天要干的事好多啊,你有那么多时间吗?” “有啊,早起会儿,晚睡会儿,时间就出来了” 我每天确实是要做好多事。 01 我是一个喜欢规律生活的人,通常会将自己的一天划分为好多块,每一块时间安排的事都不一样,不太喜欢别人打乱我的生活规律,也不知道这是好事还是…

Sentinel限流保护

自定义限流错误页

浅谈 EF CORE 迁移和实例化的几种方式

出于学习和测试的简单需要,使用 Console 来作为 EF CORE 的承载程序是最合适不过的。今天笔者就将平时的几种使用方式总结成文,以供参考,同时也是给本人一个温故知新的机会。因为没有一个完整的脉络,所以也只是想起什么写点什么&a…

Redis 高可用特性之 “持久化” 详解

转载自 Redis 高可用特性之 “持久化” 详解 在之前的文章中,介绍了《Redis的内存模型》,从这篇文章开始,将依次介绍 Redis 高可用相关的知识——持久化、复制(及读写分离)、哨兵、以及集群。 本文将先说明上述几种技术分别解决了 Redis 高…

这本书强烈推荐看看!

大家好,我是雄雄,欢迎关注公众号【雄雄的小课堂】今天,给大家推荐一本书《计算机是怎样跑起来的》,作者:矢泽久雄。也不知道它是怎么进入我的书架的,由于最近一直在看理财类的书籍,所以以前加入…

基于.NET CORE微服务框架 -谈谈Cache中间件和缓存降级

1、前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版API网关,其它像Token身份验证,限流降级等功能完…