首页
学习
活动
专区
工具
TVP
发布

架构师必修的3法则

最近读到架构演进过程中需要遵循的3原则,给了我非常好的启发,这里做一详细的读书笔记。 一、时间复杂度法则 该法则指出,随着系统越来越大,其软件开发复杂度成对数增长。...架构师应用这一法则,可以管控功能需求带来的复杂度,保证架构清晰简洁。同时利用自动化测试、静态检查等手段验证架构质量。...通过遵循这3法则指导架构设计,可以让架构不断地演进,应对需求变化,持续交付高质量的系统。这是一本非常浓缩的好书,给了我架构方面的原则性启发。 这强调了控制复杂度增长的重要性。...架构师要利用模块化、抽象等手段,使复杂度可控,避免复杂度带来失控的风险。 通过遵循这3法则,架构师可以更好地应对快速迭代的需求,持续交付优秀的系统架构。 以上原则对架构设计的原则性指导。...我也希望自己可以在实践中不断体会这3法则的价值,严格执行,逐步提高架构能力。如有任何建议,欢迎提出!

10920

咖们如何评判优秀架构师

「腾讯云开发者社区沙龙online」邀请到腾讯云云服务器副总经理李力、贝壳金服小微企业生态CTO&腾讯云最具价值专家(TVP)史海峰、奈学教育科技创始人&CEO&腾讯云最具价值专家(TVP)孙玄三位咖...视频内容 1.jpg 一、优秀架构师的成长故事 李力:我成为架构师从某种程度上是一件机缘巧合的事情,腾讯没有架构师这样一个实际存在只去做架构规划的岗位,我们技术人员都统称为工程师。...于是我逐渐成长为58集团的最高级别架构师、技术委员会主席、转转首席架构师,主要负责中后台、大数据、运维、安全、交易等技术建设。再后来,我有了更高的发展诉求,于是出来创办了奈学教育。...不论是微服务、无服务计算、大数据还是云服务,核心本质都在我学过的基础范围内。...对架构师来说,满足业务需求只是第一步,体现架构师的水准在非功能性需求,要想清楚自己应该干什么。 Q:任务急,时间短,怎么做架构? 李力:这是架构师经常遇见的状况,也才体现出架构师的能力。

3.5K86
您找到你想要的搜索结果了吗?
是的
没有找到

架构师难-领域划分问题

引子 在《架构师之路-redis集群解析》提到:提出有水平的问题、做出有水平的总结和建议、做出有水平的回答 是架构师面临的三难。 天天开会,最怕开会。开会十分钟,准备半天功。...下面是围绕这三难展开的故事。 情景-领域划分问题 几年前的一天,在一个会上,完全不相关的团队人员在进行我们系统的架构评审。由于他们对我的系统不了解,提的问题多是针对架构师个人能力上的。...示例三(异步处理模式) 有些应用整体是实现一个职责,但是被中间件分成了两个部分。比如有个服务是异步处理模式。所谓异步处理模式是将一个执行耗时长的流程分成两个阶段。比如退款操作。

22030

2020云架构师所需十技能

随着大数据云计算技术的发展,围绕这一技术也催生了很多的新的职业,比如云架构师。什么是云架构师?...而云计算架构师所需的技能也因各个组织的特定的云基础架构而有所不同,作为一名云架构师要出色的完成自己的工作职责需要掌握什么技能呢?以下是云架构师所需掌握的十技能: ?...尤其是对Kubernetes技能的需求特别高,根据Indeed的数据,在2015年10月至2019年10月之间,Kubernetes的工作岗位比例增加了2,141%,而Kubernetes的求职份额也增加了...“人们对多云和混合云的兴趣和需求非常,” Kohn说。“我建议大家至少对其他主要的云技术也要有所了解。” ? ? 灵活性 云计算将继续发生变化,使用云计算所需的技能也将随之变化。...数据存储 这包括基础设施、硬件、资源调配、容量规划以及数据安全性方面的知识。 ?

2.1K20

数据架构师成长思考总结

有很多相关的书籍: 领导者之剑:成功人士的 5 突破思维技巧、金字塔原理、极简思考:来自世界顶尖咨询公司的高效工作法······ 也可以参看很多结构化的应用方式:结构化面试、结构化金融产品设计、结构化系统开发方法...(对团队数据可视化能力建设的 SWOT 分析示例) SWOT 分析法四个象限可以分别分类四独立的方面,而其中 SW 部分 - 优势劣势一般用于分析内部条件;OT 部分 - 机会威胁一般用于分析外部情况...那么针对分解的产出物,应当以数据挖掘的物料准备类似的逻辑进行前期处理,来提高效率、去除噪声。...可以抽象成年龄分层 - 青少年(10、14)、中年(35、42)、老年(55、72),降低数据量提高内聚性。

64940

架构师之路:星环大数据架构师的培训心得

2020年3月,有幸参与了星环科技大数据架构师的培训认证。在范颖捷老师的授课中,感慨颇多。今天我根据学习到的部分知识谈谈自己的心得体会。...在谈培训心得之前,我得先向大家介绍一下向我提供星环大数据架构师的培训认证的 [星环科技公司] ?...图片来源:星环科技培训官网 培训流程 整个星环大数据架构师的培训认证流程以线上直播的形式,结合实践案例,由浅入深地向我们展示了星环科技针对不同需求而推出的行业解决方案。...星环科技大数据架构师的培训除了教会我大数据架构师的知识,整个培训让我明白了三件事情: 架构师是干嘛的? 大数据项目如何根据需求做好解决方案? 作为架构师应该如何推进项目以及把控风险?...小到一个玩具,到一个国家的运作都可以隐含着这样的内容。 最后由衷感谢星环科技,感谢范颖捷老师为我们提供的这次培训,虽然培训时间较短,但这为我今后的职业生涯规划产生了深远的影响。

1.1K30

Java架构师必须知道的 6 设计原则

开发原则 面向对象的基本原则(solid)是五个,但是在经常被提到的除了这五个之外还有 迪米特法则和合成复用原则等, 所以在常见的文章中有表示写六或七原则的; 除此之外我还将给出一些其它相关书籍和互联网上出现的原则...类的职责主要包括两个方面:数据职责和行为职责,数据职责通过其属性来体现,而行为职责通过其方法来体现。...比如数据职责和行为职责清晰明确。...接口仅仅提供客户端需要的行为,即所需的方法,客户端不需要的行为则隐藏起来,应当为客户端提供尽可能小的单独的接口,而不要提供的总接口。...例子:某系统提供一个数据转换模块,可以将来自不同数据源的数据转换成多种格式,如可以转换来自数据库的数据(DatabaseSource)、也可以转换来自文本文件的数据(TextSource),转换后的格式可以是

1K30

10开源的快速开发平台—架构师必看

JeecgBoot同时还有屏设计器、报表设计器、仪表盘设计和门户设计,有丰富的文档和视频,也支持多数据库。...流程设计器图片表单设计器图片屏设计器图片仪表盘/门户设计图片JeecgBoot官方演示地址:http://boot.jeecg.com4、DigdagDigdag 是一款开源企业解决方案,旨在实现易于部署...Skyve支持不同的数据库引擎:MySQL、SQL 服务器和 H2 数据库引擎。其开发人员目前正在努力支持PostgreSQL和Oracle。...OpenXava确保了高生产率、平缓学习曲线、一批企业功能以及移动和平板电脑的响应式布局。OpenXava是一个免费的开源社区版,但企业可以购买不同的额外功能版本。...蓝图保存在 JSON 方案中,而数据则存储在 PostgreSQL 数据库中。开发人员可以通过在 JSON 方案中定义其要求、业务功能和工作流程来编写蓝图。

5.7K30

架构师--浅谈数据库选型

做架构选型的时候通常涉及数据库的选型,一般会从业务场景(时效性、数据量、成本、数据schema等)、数据库的成熟度、数据库的社区活跃度(可参考网站:https://db-engines.com/en/ranking...一致性(Consistency)事务要保证数据库整体数据的完整性和业务数据的一致性,事务成功提交整体数据修改,事务错误则回滚到数据回到原来的状态。...用于复杂的 ETL、数据挖掘等延时要求不高的场景。处理的数据规模、灵活性高,但查询延时差。...数据库分类下面根据业务使用场景对常用数据库进行通用分类,关系型数据库产品:Mysql、Oracle、PostgreSQL为代表,均是结构化的关系型数据库,主要基于SQL进行操作;文档数据库产品:以MongoDB...KV数据库产品:以Redis、Memcached作为代表,主要应用在热点数据的缓存系统,支持典型数据库的快速存储访问图数据库产品:以Neo4j、nebula作为代表,支持图的存储,主要应用于知识图谱、关键路径搜索等场景

44420

TechHQ首席架构师浓缩1000小时的项目经验总结出5技能点,架构师必看!

——温斯顿 丘吉尔 自从我开始担任TechHQ的首席架构师以来,我已经设计了至少十几个区块链应用程序了。我入职后的第一项任务是写一篇关于作为架构师如何开始学习区块链技术的文章。...有人认为架构师的定义特征是他们很了解技术,并起到一定的领导作用。了解很多有关技术或业务的知识确实是有帮助的,但架构师真正做的是理解和沟通。...在过去的一年里,我学到了很多关于区块链的知识,同时我也学会了如何在一个新的领域里成为一名更好的架构师。 如果有一天我决定成为一名机器学习架构师,我也会遵循同样的道路。...我大部分时间都花在了协商如何在有众多利益冲突的情况下从A处获取数据到B处。我们需要生成模型,但是上下两个项目之间几乎没有什么是可以重复利用的。 在创建新产品时,模型的用途就显现出来了。...物联网数据收集、数据注册表、支付流程和控制模块就可以让你根据支付状态来打开和关闭电表。我们为X、Y和Z公司也做了类似的事情。”“你想要一个加密食品市场吗?

69252

Java架构师互联网公司面试经历总结

Java架构师面试经历 Java架构师面试经历从58同城——华为 ——招商银行网络中心——金蝶互联网公司GR——苏宁易购 ——蚂蚁金服,看完鬼知道我经历了什么,但是每一次都是成长。...本人从2013年7月份开始参加工作,前后共参加过六七次面试,现将面试的经历整理总结如下: 58同城——2019年{3月30日} 30道单选 10道多选 java基础,jvm,数据库 java的继承 封装...java基础:老生常谈的几个问题 HashMap String Integer  异常  多线程 IO 对象比较 同步锁  几个java关键字 socket 编程  数据库:数据库事务,锁类型,索引,范式...数据库: oracle数据库版本号 存储过程中的赋值方式 项目经历: 项目技术介绍  负责的模块介绍  怎么实现的等  项目问的较深 项目中印象最深刻的问题  怎么解决的?...尽管每个架构师都有自己的成长路径,但是了解其他架构师的成长之路,对未来想成为架构师的人有一定的借鉴价值。希望再接再厉,加速成长!码字不易,希望对大家有用!

2.7K10

数据机遇还是忽悠?

持反方观点,为技术时代的到来欢呼的,一位是北京大学光华管理学院新媒体营销研究中心副主任苏萌,另一位是日本政治家、内阁成员山本一太。...他提出“一台电脑论”,即科学家们研究所需的数据,最好用一台电脑就能装下,否则数据处理会过于繁琐,无助于解决问题。他结合自身经验说,随着数据量的增大,研究的准确性一开始会随之上升,但很快就会趋平。...这有三个原因:一是因为不同机构间的数据还未真正流动起来,目前还只是数据“孤岛”;二是完整的生态产业链还未形成,尽管通过行为数据分析已能够分辨出一个消费者的喜好,但从供应到购买的链条还没建成;三是因为数据分析人才仍然极度匮乏...一位听众挑战正方,说,你们认为大数据过于庞杂纷繁,反而解决不了问题,那是不是说,当处理数据的计算工具变得足够好时,大数据就会变得有用?...正如Howard在发表“失败感言”时所说,“我们并非反对数据,只是反对大而无当的数据数据本身当然非常重要”。人类已经并将继续产生日益庞大的数据,或许不论我们接受与否,大数据时代都已到来。

3.5K81

架构师 | 数据仓库建设灵魂10问

笔者先后在外企,互联网,金融行业工作,从最初的ODS,DM架构到后面ODS,DWD,DWS,ADS架构都有较深的理解和应用,甚至在相当长的时间内,数仓设计一直作为一个常规的面试题目,来考核各层级的数仓开发和架构师...这篇文章主要针对数仓设计来谈谈我的看法,因为不同的规模的公司对数仓建设的目的有差异,这里从架构师角度仅讨论中大型企业的数仓架构建设。本文主要以一问一答式来展开讨论。 1.一般用数仓来做什么?...首先历史数据备份,尤其是金融机构,客户的历史若干年的记录都需要保留,而如果放在源业务系统,数据量过大,此外很多历史数据是冷数据,不常使用。...B.dw层,这一层建设很有讲究,一般的公司有公共IT部门,该部门会构建统一数仓,如主数据,如统一交易表,统一埋点 或者 标准维度表等。...,如果没有一个中间层进行隔离的话,如果对应的底表被多个下游表使用,那么模型的修改代价是非常的。

50040

架构师的AIML数据湖参考架构指南

现代数据湖一半是数据仓库,一半是数据湖,并且对所有内容都使用对象存储。将对象存储用于数据湖非常有意义,因为对象存储适用于非结构化数据,而数据湖就是用来存储非结构化数据的。...非结构化数据通常存储在业界称为数据湖中。 将对象存储用作数据湖和数据仓库的基础,可以得到一个能够容纳所有数据的解决方案。结构化存储驻留在基于 OTF 的数据仓库中,非结构化存储驻留在数据湖中。...让我们看看现代数据湖中可用于存储和处理判别式 AI 所需数据的选项。 非结构化数据的存储 非结构化数据将驻留在数据湖中,在那里可用于训练和测试模型。...顾名思义,此功能不会复制数据。相反,它使用用于实现数据仓库的开放表格式的元数据层来创建数据唯一副本的外观。...生成式 AI 所有模型,无论是使用 Scikit-Learn 构建的小模型、使用 PyTorch 或 TensorFlow 构建的自定义神经网络,还是基于 transformer 架构的语言模型,都需要数字作为输入并产生数字作为输出

8010

架构师指南:现代数据湖参考架构

现代数据湖将数据湖的灵活性与数据仓库的结构相结合,同时为两者提供可扩展性和性能。...旨在最大化其数据资产的企业正在采用可扩展、灵活且统一的数据存储和分析方法。这种趋势是由负责构建与不断变化的业务需求相一致的基础架构的企业架构师推动的。...但现代数据湖不仅仅是一个花哨的数据仓库,因为它还包含一个用于非结构化数据数据湖。OTF 还提供与数据湖中外部数据的集成,这允许在需要时将外部数据用作 SQL 表。...可以在摄取层中进行简单和复杂的数据转换。 数据源:数据源层在技术上不是现代数据湖解决方案的一部分,但本文中包含它,因为构建良好的现代数据湖必须支持具有不同数据发送功能的各种数据源。...如果数据湖用作原始数据的着陆区,那么此功能以及数据仓库的 SQL 功能可用于在将原始数据插入数据仓库之前对其进行转换。

11010

架构师之路一-架构师入门指引

导读:本系列文章教你怎么样成为一名架构师,而本篇文章则带你先认识一下什么是架构师架构师的工作是什么?...为什么需要架构师 为什么需要架构师或者说架构师能解决什么样的问题,我们不妨先从两个不同的视角来看一下。...以用户登录为例,从架构设计的角度可能就只是一个用户服务组件,而从概要设计的角度可能就是前端页面、用户接口、数据库等一系列功能的设计。...概要设计和详细设计阶段的职责(与开发组长一起完成概要设计) 与开发组长一同确定详细设计的范围,指导中级开发人员完成必要的详细设计 初期指导,说明架构设计意图、详细设计注意事项 设计检查与评审,确保详细设计符合架构设计要求 参与数据库设计...,确保数据库设计符合架构设计要求,主要考虑性能、数据量等问题 参加界面设计评审 功能清单整理,根据系统用例和架构设计中的组件定义推导出功能清单 接口定义,包括组件间的通信机制定义和功能模块间的接口定义

2.6K42

优秀架构师必须了解的6方面30条设计原则

我们在设计软件的过程中,把握的一个关键点是:软件架构并非由架构师负责设计。我们的架构不是由架构师制定,然后交给其他人来实施。 相反,架构的设计任务由真正编写代码的团队负责。...架构师负责对工程师设计的架构进行修复、完策划和改进。我们的架构团队是指导员和把关人,而非独裁者。 在短期内,由一位架构师来制定架构的确既快捷又实惠。...就像 Paul (@pzfreo)描述的架构评审那样:架构师参与进来,听一会,发表一点评论然后就走了。作为一名架构师,你对架构发表自己的看法和意见无可厚非。...线程之间共享的可变数据会降低程序速度。如果可以,请使用并发数据结构,并且仅在必要时使用同步。尽可能少地使用锁。如果你打算在线程锁期间阻塞,请确保自己足够了解具体细节,因为这里存在极大的隐患。...总结 作为一个架构师,我们应该像园丁一样思考、塑造、策划和去除杂草而不是定义和构建。虽然在短期内,由一位架构师来制定架构的确既快捷又实惠。但是,从长远来看,团队的力量才是最强的。

88520

:UBER数据迁徙

数据迁移的日期定为万圣节(10月31日),而这恰是交通量会非常高的一天。...上面图中的大问题是:我们仍然依赖于单一的PostgreSQL (数据库管理系统)来存储大部分的数据。下面的饼图显示了数据是如何在数据库中分配的: ?...我们评估了各种NoSQL(不同于传统的关系数据库的数据库管理系统的统称)的具有上述特点风格的数据库。...追加(无更新)数据模型:它仅支持一个只追加数据模型中,一旦它被写入后,就不能进行修改。这对于存储交易数据,并希望防止数据损坏的系统是非常有用的。由于是只追加模型,修改会自然幂等和交换。...在真正可以开始迁移之前,第一个任务是从用户身份到用户唯一识别码的迁移,因为原代码依赖于自动递增的PostgreSQL 数据库标识符。几百条SQL查询需要被重写。

2.1K70

每个架构师都应掌握的六架构伸缩性原则

当达到这个临界点时,架构师就有责任将系统演化成一个响应迅速、可伸缩的系统。核心系统架构机制和模式需要进行重新设计,以便提升处理能力。...对于很多架构师来说,这是一个未知或不太熟悉的领域,因为可伸缩性问题有时候会把我们引向一条与一般性软件架构原则不太一样的道路。 下面的六条经验法则是每个软件架构师在构建可伸缩系统时都应该掌握的知识。...这些通用规则可以作为架构师指南,应对不断增长的负载和数据量处理需求。 1成本和伸缩性之间的关系 对系统进行伸缩的一个核心原则是能够方便地添加新资源来处理增长的负载。...4数据层最难伸缩 数据库实际上是每个系统的核心。它们通常包括“事实来源”事务数据库,包含了业务正常运行所需的核心数据和向数据仓库提供临时数据项的运营数据源。...查询优化变得非常有用,同样,也需要添加更多的内存,让数据库引擎能够缓存索引和表数据。但最终数据库引擎都会耗尽资源,需要进行更彻底的改变。 首先要注意的是,在数据层做出数据结构变更是件痛苦的事情。

60410
领券