架构决策记录在 Spotify 的应用
云栖号资讯:【点击查看更多行业资讯】
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!
Spotify 有多个团队使用架构决策记录(ADR)记录他们做出的各项决策。ADR 为 Spotify 带来了许多好处,包括改进新晋开发人员的入职管理,提升组织调整导致项目所有权移交的灵活性,改善团队之间关于最佳实践认知的一致性。
架构决策(AD)是一种软件设计选择,负责处理架构上很重要的功能性或非功能性需求。
由于其天生具备不断演进的特性,所以架构决策记录技术经常在敏捷环境中使用。正如敏捷专家 Michael Nygard 所描述的那样:
敏捷项目的架构必须以不同的方式进行描述和定义。并不是所有的决策都是一次做出的,也不是所有的决策都会在项目开始时完成。
架构决策记录包括可以帮助我们理解特定决策及其结果的上下文信息。此外,他们还可以记录没有做出的决策以及不这样决策的原因。
Spotify 工程师 Josef Blake 表示,决定何时编写 ADR 有时候并不容易,因为当一项决策对一个项目产生重大影响时,可能会存在多种理解方式。根据他的经验,至少在下述三种情况下编写 ADR。
首先,编写 ADR 来记录过去未记录的决策。这可以确保每个人都清楚地知道存在这项决策。
同样,如果做出了一项决策,而从来没有记录,那么它能成为标准吗?确定未记录的决策,一种方法是在同行评审期间引入竞争代码模式或库,从而引导审查者发现未记录的决策。
对于会对系统产生很大影响(例如会破坏 API)的更改,编写 ADR 是更改的最后一步。在这种情况下,Spotify 的工程师使用编写请求评议(RFC)的方法,促使所有利益相关者就一个共用的方法达成一致。一旦 RFC 过程完成,所商定的解决方案就会在 ADR 中记录。
不过,Blake 评论说,ADR 不应该只为具有重大影响的决策而编写。
未记录决策的代价很难衡量,但其影响通常包括重复工作(其他工程师试图解决相同的问题)或竞争性解决方案(两个做同样事情的第三方库)。
在这种情况下编写的 ADR 可以使情况变得不那么复杂。
架构决策记录决不是一种新技术。轻量级决策记录在 ThoughtWorks 的技术雷达上已经存在了好几年。如果你有兴趣尝试,可以在这个存储库中查找其他信息和开箱即用的模板。
【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK
原文发布时间:2020-05-13
本文作者:Sergio De Simone
本文来自:“InfoQ”,了解相关信息可以关注“InfoQ”

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
助力“新基建”,中科驭数发布KPU领域专用系列计算加速产品
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 2020年全民抗疫至今,国内疫情防治已经取得了阶段性胜利,全面有序复工复产也在稳步推进。与此同时,在3月份的两会上,国家领导人在政府工作报告中也明确要求,“要合理扩大有效投资,加强新一代信息基础设施建设”。 对比“传统基建”,“新基建”是指立足于高新科技的基础设施建设,主要包括大数据中心、人工智能、工业互联网、5G基建等七大领域。在这场国家级战略的帷幕下,“新基建”将为未来数字经济和科技创新打下坚实的基础。 值此之际,专注于领域专用计算架构研发的硬科技创业公司——中科驭数,于近日线上统一发布了六款KPU架构领域专用加速产品:三款即插即用的数据库加速、网络加速以及行情加速板卡产品(CONFLUX-1900R、SWIFT-1900N和SWIFT-2000QB)和三款加速硬件IP核产品(SWIFT-IP1900T、SWIFT-IP1900U和SWIFT-IP2000QB),将解决新基建中的数据中心、人工智能和工业互联网中,关于海量数据存储与网络传输的算力不足的痛点和加速需求,助力“新基建”战略...
- 下一篇
Kafka 加 Flink 不是终点!下一代大数据平台 Pravega
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 有人说世界上有三个伟大的发明:火,轮子,以及 Kafka。发展到现在,Apache Kafka 无疑是很成功的,Confluent 公司曾表示世界五百强中有三分之一的企业在使用 Kafka。实时备份机制让它在推荐、广告等互联网场景中游刃有余,但是实际生产中还有很多不允许丢数据的场景存在。针对这类场景是否有新的技术和框架出现? Kafka:大数据平台中的核心软件据中国信通院企业采购大数据软件调研报告来看,86.6% 的企业选择基于开源软件构建自己的大数据处理业务,但大数据人都会感叹大数据领域开源项目的“玲琅满目”。很多软件只经过一两年就形成一次更替,经过多年的厮杀和竞争,很多优秀的产品已经脱颖而出,也有很多产品慢慢走向消亡。比如 Spark 基本上已经成为批处理领域的佼佼者, Flink 成为了低延迟流处理领域的不二选择,而 Storm 开始慢慢退出历史舞台。 Kafka 在消息中间件领域基本上占据了垄断地位,最终沉淀出了以这几个软件为核心的大数据处理平台。 那么现在的大数据架构下的底层生...
相关文章
文章评论
共有0条评论来说两句吧...