阅读更多

0顶
0踩

企业架构

原创新闻 再论微服务架构之七宗罪

2016-05-31 14:08 by 副主编 mengyidan1988 评论(0) 有6358人浏览
引用

原文链接:7 Deadly Sins of a Microservices Architecture
作者:Martin W Brennan,ViewPop联合创始人
译者:刘帝伟 审核:赵屹华
责编:周建丁(zhoujd@csdn.net)

2014年年底,塔里克·阿贝卓布(TareqAbedrabbo,OpenCredo首席技术官)发表了一篇题为“微服务之七宗罪”的文章,他在此文确定了微服务架构七种常见的反发展模式。2016年一月,来自Voxxed的Danial Bryant发表了该文章的最终版,结合原文以及自己的经验对此文做了进一步的更新。

两人讨论的第一个问题都是构建错误的东西。就像Abedrabbo文章说的那样,可能是由于在定义项目范围和目标时含糊不清所造成的,或者像Bryant说的,试图利用最新的技术,而不是使用最适合特定目标的技术。这两种情况都会导致额外的、不必要的复杂性,因为它们都未集中于项目的最终目标。

不实施契约优先(contract-first)设计方法是项目误入歧途的另一种途径。一个好的服务契约允许开发者专注于微服务是在做什么,而不是专注于它是如何实现的,确定总体目标才是重中之重。

技术实现的细节仍需要解决,Abedrabbo和Bryant两者的文章都提出了通过把单体架构概念运用到微服务架构上面,用以创建分布式单体架构(distributed monolith)。单体架构和微服务架构的交叉也暴露了一个共享域模型问题。

由于应用程序现在通常由多个微服务组成,因此一个应用程序不再是一个刚性边界的单一实体,就好比传统的单体架构案例。开发者可以采用领域驱动设计(Domain-Driven Design,DDD)方法提供一个核心业务概念的演化模型来解决这一问题,这样会更为合适。

这两篇文章同时也表达了对选择错误、太多选择、以及交换信息通信协议的关注。服务功能应该影响协议,而好的方法则是采用标准化的态度,同时使用面向外部服务的同步协议,以及面向内部服务的异步协议。

Abedrabbo强调引进实践证明的DevOps的重要性,正如微服务许可的那样,从一开始就发挥连续传送管道的优势。它从早期开始就支持验收、回归和性能测试自动化,Bryant延续这一主题是为了确保系统在快速移动并经常波动的微服务世界中支持测试。

DevOps这一概念贯彻于Bryant的文章之中,鼓励操作者或系统管理员之间的相互理解。他建议,员工必须接受培训,以应对现实生活中的灾难恢复,这样问题和成功可以通过整个团队进行共享。

人类因素(human factor)是原文的最后一点。微服务可以简化开发并且促进协作精神,但习惯于传统的、大规模的、充满筒仓和政治组织的开发者,对于如何在运行时表现图片服务不可能有更深、更广泛的理解。企业则可以通过投资开发商和鼓励广大组织合作以建立更好的、可持续的、能够利用微服务能力的系统,从而解决这一问题。
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 架构学习资料精选

    架构师技术图谱包括:分布式、前端、大数据、存储、微服务、推荐系统、框架、消息队列、编程语言、设计模式、重构、集群等内容。 体验小程序版「架构师技术图谱」,扫描下方微信小程序码即可。 欢迎订阅《码农周刊...

  • 一个架构师谈什么是架构,以及怎么成为架构师

    来点轻松的话题。我们调剂一下后再继续讲CAS SSO单点登录吧因为后面的内容全部和代码有关,大家会觉得枯燥。所以今天我们先来点”番外篇“,讲讲什么是架构师,什么是架构这个永恒的话题吧。此...

  • 架构师素养及从小菜进阶架构师(2)

    支付宝架构师:讲述从工程师到架构师的成长之路- http://blog.csdn.net/Gupaoxueyuan/article/details/79089101支付宝架构师:从工程师到架构师的成长之路- http://blog.csdn.net/ak47java/article/details/78701226...

  • 【RPC框架之Zeroc ICE 介绍】

    二、微服务架构的优点 先天分布式 无状态(尽量) 积木式发展   三、 单体应用 通俗地讲,“单体应用(monolith application)”就是将应用程序的所有功能都打包成一个独立的单元,即主要业务逻辑都...

  • Python 全栈系列98 - 提供商业接口服务的架构考虑

    接口服务是一种产品,产品要考虑人性(的弱点),也就是“七宗罪” 七宗罪(拉丁语:septem peccata mortalia;英语:seven deadly sins),天主教称七罪宗,或称七大罪或七原罪,属于天主教教义中对人类恶行的...

  • InfoQ在新兴技术企业大会上对Lightbend企业架构师Kiki Carter的访谈

    Kiki Carter,Lightbend企业架构师,在2017新兴技术企业大会(Emerging Technologies for the Enterprise,ETE)上发表了题为“Somm”Lagom: Building Systems That Age Like Wine的演讲。\\“Somm”取自2012年的...

  • 国内有哪些顶级技术团队的博客值得推荐?

    优质文章推荐: 后端开发实践——开发者的第 0 个迭代 后端开发实践系列——领域驱动设计(DDD)编码实践 写了十年技术博客,我收获了什么 重构的七宗罪 小米信息部技术团队 小米信息部技术团队是小米旗下的一个技术...

  • “编程不规范,同事两行泪!”

    虎牙直播在微服务改造方面的实践和总结 有赞搜索系统的架构演进 为什么分库分表后不建议跨分片查询 别看不起分区表:我要为你点个赞 Spring Cloud Greenwich 正式发布 在前后端分离的路上承受了多少痛? 你真的会...

  • 2016企业开发趋势:Lightbend关于JVM开发者的调查

    SOA与微服务之争的真正答案应该是它们分别适合于不同的解决方案,但因为产生的应用程序数量要远远多于企业架构的数量,因此微服务框架就显得比ESB更适合于你的项目。 \u0026#xD; \u0026#xD;\u0026#xD; Payara 和 C2...

  • 程序员如何让自己的技术能力突飞猛进?

    Spring 代码…,当你进入到大师的作品中时,你可能就是下个踩在巨人肩膀上的人,大量的面试题及答案还有资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,...

  • Web API 开发接口

    微服务架构也有不足。 需要对其进行运维,微服务之间需要协作,它们可能会按照与大型单体应用不同的节奏进行演化。在这样一个分布式系统中,维护所有服务之间的一致性并不简单。 众多微服务之间的通信可能会因为 ...

  • 大学物理册答案上下都有

    大学物理册答案上下都有

  • UWB超宽带信道研究及源码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • Suno AI语音技术的资源描述

    Suno AI 是一家领先的人工智能(AI)公司,专注于开发创新的语音技术和解决方案。以下是关于 Suno AI 的资源描述: 语音识别技术:Suno AI 拥有先进的语音识别技术,能够准确地将语音转换为文本。他们的语音识别系统经过了大量的训练和优化,具有高度的准确性和鲁棒性,可应用于多种场景,如语音助手、语音搜索、智能客服等。 语音合成技术:除了语音识别,Suno AI 还致力于开发自然、流畅的语音合成技术。他们的语音合成系统能够生成高质量、逼真的语音输出,可以用于语音助手、自动化客服、有声书等领域。 智能语音应用开发:Suno AI 提供了一系列工具和平台,帮助开发者快速构建和部署智能语音应用。他们的开发工具包括 API 接口、SDK、开发文档等,支持多种编程语言和平台,让开发者可以轻松地集成语音功能到自己的应用中。 行业解决方案:Suno AI 为各行各业提供定制化的语音解决方案,满足客户特定的需求和业务场景。他们与零售、金融、医疗等领域的企业合作,提供智能语音客服、语音导航、语音支付等解决方案,帮助客户提升服务质量和效率。

  • 基于matlab的射线信道模型内含数据集.zip

    基于matlab的射线信道模型内含数据集.zip

  • 基于Lidar数据的概率占位栅格图(Occupancy Grid Map)+Python代码实现.pdf

    基于Lidar数据的概率占位栅格图(Occupancy+Grid+Map)+Python代码实现.pdf

  • autosar多核操作系统的监控和优化python代码.zip

    1.版本:matlab2014/2019a/2021a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

  • 基于flink的实时流计算web平台.zip

    flink基于flink的实时流计算web平台.zip 基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip基于flink的实时流计算web平台.zip

  • 行政数据分析看板12.xlsx

    Excel数据看板,Excel办公模板,Excel模板下载,Excel数据统计,数据展示

Global site tag (gtag.js) - Google Analytics