Loading...
avatar
Articles
604
Tags
736
Categories
13
Home
Archives
Tags
Categories
About
守株阁Gergely Orosz 文章翻译-软件架构被高估,简明设计被低估 Back to Home
Search
Home
Archives
Tags
Categories
About

Gergely Orosz 文章翻译-软件架构被高估,简明设计被低估

Created2022-01-19|Updated2026-08-09|系统架构
|Word Count:14|Reading Time:1mins|Post Views:

原文链接:《Software Architecture is Overrated, Clear and Simple Design is Underrated》

Author: magicliang
Link: https://magicliang.github.io/2022/01/19/Gergely-Orosz-%E6%96%87%E7%AB%A0%E7%BF%BB%E8%AF%91-%E8%BD%AF%E4%BB%B6%E6%9E%B6%E6%9E%84%E8%A2%AB%E9%AB%98%E4%BC%B0%EF%BC%8C%E7%AE%80%E6%98%8E%E8%AE%BE%E8%AE%A1%E8%A2%AB%E4%BD%8E%E4%BC%B0/
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
系统架构翻译
Related Articles
cover
2022-01-12
《架构师修炼之道》
刻戒于碑,铸法于鼎 软件特性、质量属性。 将两个元素以某种方式连接在一起,就形成了结构。 module component-connector 就是我们经常讲的系统交叉点 allocation 就涉及到我们的部署设计 每一本书都会讲到利益相关者,也就是 stakeholder。 主动撰写设计决策,承担设计职责。 软件之所以叫软件,是因为它灵活而易于变动。架构是软件里硬的部分,为变动提供了章法,也制造了约束-否则我们不用经常“对架构产生冲击”,而需要打破架构。 设计原则: 以人为本(能落地能产生价值的架构才是真的好架构) 推迟决策 善于借鉴 化虚为实 推迟决策不是推迟大的设计决策,要推迟的是细枝末节的决策。不要陷入舍本逐末的优化中,导致项目无法受控。 忽视前人的设计,是最低效的设计方法之一。所以寻找架构风格是很重要的。 设计思维模式: 理解:换位思考 探索:尝试各种结构组合,找到最能提升目标质量属性的那种组合。-大多数情况下,是我们手头最简单最现成的解决方案。 展示:用图、表、模型、原型来展示,探讨。原型应该尽量具有交互性,可以直接和客户评审。 评估:评估到底我们要做什么东西...
cover
2021-05-27
插件化架构
为什么要实现插件化架构 业务和平台要解耦。业务和平台都是多对多的关系。全链路里既有业务,也有平台。大家应该如何 talk by interface。我们看待复杂组织的业务流程,要线性看,看到很多节点;也要分层看,看到复合的层次。在这种情况下,上层架构域和下层架构域之间怎么实现复杂度的管理? 如果我们需要构建大规模的泛交易平台,我们需要靠插件化架构把我们的系统组装起来。 插件化架构通常需要一个 runtime 层(或者 boot 层)、core 层。 从业务视角来看,要解决多团队协同的问题 因为多个业务域/团队没有把能力用统一的方式透出,所以没有人能够知道统一的技术能力应该怎么串联。进行全链路沟通需要大量的沟通对齐工作。 从业务视角来看,复杂性业务要素包含本业务用例里的各种模型。 从平台视角来看,要解决复杂性管理问题 平台要支撑多种业务,业务的复杂性、差异性,以及众多业务需求不确定性,在各平台内部如何管理和支撑?简单的 if-else 不易于管理,确保对业务的支撑能力不相互影响。隔离是最好的管理手法。 从平台视角来看,复杂性业务要素包含本域内标准系统用例里的各种模型。 同一个模型,...
cover
2022-01-19
Gergely Orosz 文章翻译-成为一个更好的技术写作者
原文链接:《Becoming a Better Writer in Tech》
cover
2022-01-19
演进式架构
如果读一本书,没有附带正确的复盘(提出反馈并总结反馈),则浪费了这次读书的完整机会。 复盘需要经过痛苦的思索,把一些之前自己没有办法充分接受的观点,充分接受。 本书是一本讲战略的书。 这本书告诉我们很多概念,一旦加上“架构”前缀,突然就有了特殊的含义:架构特征(architectural characteristic)、架构量子(architectural quantum)、架构维度(architectural dimension)、架构模式(architectural pattern)。 新时代的架构愿景-怎样用敏捷的方式来拥抱变化? 架构难以被修改是由架构本身的不变性决定的,架构天然就是难以修改的。 有些人可能认为,就好像建筑业的实践那样,应该先完成这类架构设计,再开始开发。但需求是快速变动的这一事实告诉我们,我们可能要经常修改我们架构,以拥抱需求变化。 “需求总是在动态变化的”,比“架构应该是被预先确定”,更加像是一个事实(后者更加像是一个观点)。 当代的架构是: 不断努力的结果 【能够响应不断变化的需求和外部人员的反馈】 实施这种架构以替代传统架构,是需要决策者(技术...
cover
2020-09-02
异地多活与单元化
核心结论 单元化不是“多建几套机房”,也不是把应用复制到多个城市就结束。它解决的是一个更具体的问题:当业务规模大到单机房、单库、单服务集群都无法继续水平扩展时,如何让一部分用户或一部分业务身份的请求,从接入层、服务层、中间件到数据层,都尽量闭环在同一个逻辑单元里。 一个成熟的单元化系统,至少要把四个域对齐: 域 需要对齐的内容 失配后的结果 流量域 请求能按用户、商家、地域、订单等分片标识进入指定单元 入口正确,内部调用仍然乱跳 数据域 核心数据按同一分片规则落到对应单元 服务闭环,数据库跨城访问 故障域 单元故障只影响该单元承载的流量和数据 一个局部故障拖垮全站 治理域 路由规则、注册中心、发布、监控、演练都理解单元 规则靠人工同步,切换时失控 这个定义能把几个常被混用的词分开: 概念 隔离对象 是否要求存储隔离 常见用途 AZ(Availability Zone) 基础设施故障域 不要求 机房级容灾、容量冗余 Set / Cell 业务流量和业务数据 通常要求 容量扩展、故障隔离、异地多活 RZone / GZone / ...
cover
2021-02-10
《恰如其分的软件架构》
前言 这两周集中时间间歇性读完了《恰如其分的软件架构》这本书。这本书讲的是架构方法,架构方法是一种思维模型(mind set),这种思维模型叫作“风险驱动模型”。 这本书经我们团队的架构师推荐,列在我们团队的集体书目里很久了。但真正去读它、读完它的人又很少。究其原因,还是这本书的内容以谈概念为主,虽然书中举的例子非常生动,仍然始终无法摆脱“为了谈概念而举玩具例子”的问题-这几乎是所有架构书的通病。似乎正统的架构书籍都不可避免地举一些传统行业或者经典软件(比如很多书籍都会反复出现在“xxx 播放器”)的例子。这些软件架构非常经典,可以只用一些小的组件、场景,就讲清楚典型的组件、模式和架构风格的用处。但没有很深的工程/架构经验的读者读这些书的时候,仿佛重新回到了抄书和念书的大学课堂,对于脱离现实的例子只会产生“左耳进右耳出”的感觉。能够温故而知新,是一本书经典化的特征。而能够阅读非入门级的纯理论书籍,则是一个程序员的认知能力和经验达到了一定程度的特征。我读这本书里很多细节还是很痛苦,证明我还是对于形式化的符号(symbol)、记法(notion)还不是很熟悉,而且对于书中运用的问题解...
avatar
magicliang
关于技术以及人生
Articles
604
Tags
736
Categories
13
Github
Announcement
人生只是,守株待兔
Recent Posts
Unix 常用命令
Unix 常用命令2026-08-08
深入 Logstash 17 - Logstash 的演进与 Elastic Agent 的冲击
深入 Logstash 17 - Logstash 的演进与 Elastic Agent 的冲击2026-08-06
深入 Logstash 16 - Logstash vs Fluentd vs Vector:日志管道的三种取舍
深入 Logstash 16 - Logstash vs Fluentd vs Vector:日志管道的三种取舍2026-08-06
深入 Logstash 15 - Logstash vs Beats vs Ingest Pipeline:该用谁
深入 Logstash 15 - Logstash vs Beats vs Ingest Pipeline:该用谁2026-08-06
深入 Logstash 14 - 性能调优:JVM heap、批处理与持久队列磁盘
深入 Logstash 14 - 性能调优:JVM heap、批处理与持久队列磁盘2026-08-06
© 2017 - 2026 By magicliangFramework Hexo 8.1.2|Theme Butterfly 5.6.1
Search
Loading Database