微服务架构之外的选择——基于服务架构

来自ThoughtWorks的主管Neal Ford在最近的一次演讲中表达了他对企业软件系统架构转型的看法,他认为从单体架构转向基于服务的架构要比转向微服务架构来得容易。Ford在UberConf 2016大会上做了一次关于基于服务架构的演讲,基于服务架构是介于面向服务架构和微服务架构之间的一个中间地带。这里可以下载演讲幻灯片(PDF格式)。

微服务架构有很多优点,不过Ford建议应该把这些优点应用在新开发的项目上。对于已经采用了单体架构的组织来说,转向微服务架构有很多问题需要解决:分离代码,分离单体数据库,采用DevOps方法,监控网络,管理分布式事务等。但是转向基于服务架构就不需要做这么多改变,只需要把系统代码分割成若干个以领域为中心的块。基于服务架构可以由几十个可部署的服务组成,并非像微服务支持者们所主张的成百上千个。这些服务可以有独立的数据库,也可以分享单个数据库。Ford认为这是最为关键的不同点,因为他深知在转向微服务架构过程中,拆分数据库是最为复杂的部分。而微服务架构的优点只有在一定条件下才能得以体现,比如每个微服务对它们的数据具有独占所有权,或者有属于自己的数据库存储。


Ford指出,微服务架构也会带来一些复杂性,比如调用关系链以及网络调用隐含的性能问题。单个微服务不管从业务领域方面还是从性能方面来说都很简单,易于理解。但如果是一群微服务,就不是这么回事了。基于服务架构按照领域把更大的代码块组合在一起,减少了网络调用,这样会带来更好的性能。原来可能需要若干个相关微服务的调用变成了单个服务的方法调用。

这种处在中间地带的架构方式是一种折衷的解决方案。微服务架构通过采用DevOps方法,把代码拆分成更小的可部署单元,在交付速度和伸缩性方面得到优化。基于服务架构比单体架构或面向服务架构具有更快的交付速度,它使用微服务架构和面向领域开发拥护者们所推崇的以领域为中心的方式对代码进行拆分。面向服务架构主张根据层而不是领域来对整体架构进行拆分,导致一个简单的业务变更会影响到多个层,需要更多的测试才能发布出去。以领域为中心的架构把测试范围减少到单个要发布的组件上,相比单体架构或面向服务架构交付得更快。要发布的组件越小,测试范围就越小,这就是微服务优化的目标。基于服务架构在提升软件交付速度方面也卓有成效。

最后,Ford在多个方面对几种不同的架构进行了对比。他建议在高度集成的环境里使用面向服务架构,在新开发的项目上使用微服务架构,而基于服务架构主要用于对单体架构系统进行迁移。他认为单体架构不是最终状态。另一个资深的企业架构师Mark Richards,在UberConf上也带来了关于基于服务架构的演讲,他的演讲PPT可以从这里下载(PDF格式)。他们和O'Reilly合作制作了一个深入探讨这个主题的视频。

原文链接:http://www.infoq.com/cn/news/2016/10/service-based-architecture


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

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

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

相关文章

html5中 save方法,如何HTML5画布另存为窗口8 Metro应用中的图像文件?(How to save html5 c...

var myImage canvas.toDataURL("image/png");我认为myImage在现在png格式如何保存编码的图像字节myImage作为一个文件(图片文件夹)?Answer 1:而不是使用的.toDataUrl ,你需要使用.msToBlob :var blob canvas.msToBlob();然后&…

系统架构师8

软考——系统架构设计师工作日志 《E:\Myproject\利亚德\x系统架构设计师\系统架构设计师工作日志.txt》 系统架构设计师 ok --》主要信息 官方: 人事考试服务频道.mht http://www.bjld.gov.cn/bjpta/ 北京人事考试 http://www.bjld.g…

Autofac 之 基于 Castle DynamicProxy2 的 Interceptor 功能

Autofac 结合 Castle DynamicProxy2 功能 Autofac 不仅作为轻量级高效的 IoC 容器,而且还能很好的与 Castle.DynamicProxy2 结合起来,实现 AOP 功能。 首先,我们需要定义拦截器,简单的定义可实现 Castle.DynamicProxy.IIntercepto…

类和对象运行时在内存里是怎么样的?各种变量、方法在运行时是怎么交互的?

转载自 类和对象运行时在内存里是怎么样的?各种变量、方法在运行时是怎么交互的?在回答这个问题之前先了解一下Java的一些基础知识。我们知道Java程序运行在虚拟机环境里,那我们先看一下虚拟机的大致内存结构。如下图所示,虚线框…

java通过commons-fileupload实现多张图片的上传(jsp页面)

<div id"middle"><div id"form"><form action"ProductInfoServlet?tagadd" method"post" enctype"multipart/form-data" ><h2>三只松鼠--新增</h2><table align"center">&l…

系统架构师7

2017年11月11日 软件系统架构师考试经验分享 置顶 2017年11月13日 15:25:53 凌飞安 阅读数 7812 版权声明&#xff1a;原创作品&#xff0c;转载请注明出处&#xff01;个人主页 http://www.lingfeian.com https://blog.csdn.net/lingfeian/article/details/78520808 系统架构…

工业利用计算机实现生产自动化属于,自动化考试试题(含答案)

第一类&#xff1a;填空题一&#xff0e;填空题1&#xff0e;自动化控制系统按被控量的时间特性分为(连续量)和(离散量)。2&#xff0e;PLC 全称为(可编程序逻辑控制器)&#xff0c;DCS全称为( 集散控制系统)。3&#xff0e;输入输出单元是(PLC)与工业过程控制现场之间的连接部…

保定有国家承认的计算机学校吗,河北省122所大学名单,不在名单内的都是国家不承认的野鸡学校...

原标题&#xff1a;河北省122所大学名单&#xff0c;不在名单内的都是国家不承认的野鸡学校据教育部官网信息显示&#xff0c;截至2019年6月15日&#xff0c;河北省共有普通高等学校122所&#xff0c;其中本科院校61所&#xff0c;专科院校61所。在名单中虽然有一所211院校&…

从Java类到对象的创建过程都做了些啥?内存中的对象是啥样的?

转载自 从Java类到对象的创建过程都做了些啥&#xff1f;内存中的对象是啥样的&#xff1f;先回顾一下Java程序执行的过程&#xff1a;Java程序执行时&#xff0c;第一步系统创建虚拟机进程&#xff0c;然后虚拟器用类加载器Class Loader加载java程序类文件到方法区。方法区放…

ASP.NET Core MVC TagHelper实践HighchartsNET快速图表控件

ASP.NET Core MVC TagHelper最佳实践HighchartsNET快速图表控件支持ASP.NET Core。 曾经在WebForms上写过 HighchartsNET快速图表控件-开源 Highcharts的ASP.NET Web自定义控件。 今天我就来改造它&#xff0c;将其使用最新的TagHelper 来实践&#xff0c;学习TagHelper 的使用…

架构师6

系统架构师考试总结 2019年06月11日 10:48:47 devillyd2018 阅读数 103 2011年11月12日&#xff0c;在这个百年一遇的大单身节的第二天&#xff0c;我怀着无比紧张的心情走进了系统架构师的考场。 虽然暂时还不知道我的成绩&#xff0c;无所谓啦&#xff0c;虽然答的一般&…

计算机视觉论文doc,嘉炬-计算机视觉论文资料.doc

成 绩评卷人姓 名嘉炬学 号华 中 师 范 大 学研 究 生 课 程 论 文论文题目 计算机视觉技术在教育领域的应用完成时间 2015年1月15日课程名称 计算机视觉专 业 通信与信息系统年 级 2014级注&#xff1a;研究生须在规定期限内完成课程论文&#xff0c;并用A4页面打印&#xff0…

Oracle数据库基本概念理解(1)

--函数 数字转换为字符 --0 强制位数&#xff0c;9位数不够不显示 $美元 SELECT TO_CHAR(124.3456,0000.00) FROM dual ; SELECT TO_CHAR(124.3456,9999.99) FROM dual ; SELECT TO_CHAR(124.3456,$9999.99) FROM dual ; --日期 日期转换为字符 SELECT TO_CHAR(SYSDATE,YY…

关于Heap Dump

转载自 关于Heap DumpHeap Dump是什么&#xff1f; Heap Dump也叫堆转储文件&#xff0c;是一个Java进程在某个时间点上的内存快照。Heap Dump是有着多种类型的。不过总体上heap dump在触发快照的时候都保存了java对象和类的信息。通常在写heap dump文件前会触发一次FullGC&a…

使用StyleCop 进行代码评审

使用StyleCop对原代码进行审查&#xff0c;看编写的代码是否遵循设计规范、.Net约定和一些贯用法等。保证代码的一致性&#xff0c;可读性等等。 在此之前&#xff0c;先简单介绍下FxCop&#xff08;起初只是微软内部使用的工具&#xff09;,一个分析托管程序集&#xff0c;检测…

系统架构师5 ***********那就给个合格分了。111

https://download.csdn.net/download/sun_lq/11109495 https://download.csdn.net/download/u011669055/10736374 https://download.csdn.net/download/robertsoft/10747039 十年IT从业背景&#xff0c;一次考试通过系统分析师(通过系统分析师的学习 ... [复制链接] 发表于 …

2012三年大专计算机试题医学,计算机原理2012年4月真题(02384)

计算机原理2012年4月真题及答案解析(02384)计算机原理2012年4月真题及答案解析(02384)&#xff0c;该试卷为计算机原理自考历年真题试卷&#xff0c;包含答案及详细解析。一、单项选择题(本大题共15小题&#xff0c;每小题2分&#xff0c;共30分)在每小题列出的四个备选项中只有…

JVM内存管理------JAVA语言的内存管理概述

转载自 JVM内存管理------JAVA语言的内存管理概述引言 内存管理一直是JAVA语言自豪与骄傲的资本&#xff0c;它让JAVA程序员基本上可以彻底忽略与内存管理相关的细节&#xff0c;只专注于业务逻辑。不过世界上不存在十全十美的好事&#xff0c;在带来了便利的同时&#xf…

微软市值今天涨了 250 亿,这家离我们越来越远的公司,为什么生意反倒越来越好了?

纳德拉上台两年半&#xff0c;微软市值已经涨了 50% 今天早上&#xff0c;微软发布了今年第三季度的财报。受云计算和 Office 业务推动&#xff0c;财报后的盘后交易里&#xff0c;微软股价上涨 5.9%、市值涨了超过 250 亿美元——收购 LinkedIn 的钱差不多就回来了。 财报发布…

系统架构设计师考试 重要的部分

系统架构师考试比较的难&#xff0c;属于软件工程师考试中的高级考试&#xff0c;有选择题&#xff0c;分析题&#xff0c;论文&#xff0c;请坚持。 这是高产似母猪啊。 1.每天2小时&#xff0c;坚持了4年考过了软件设计师&#xff0c;系统架构师&#xff0c; 四年时间花了大…