• 格雷戈尔·霍普在本文讨论了8本被视为软件架构师必读的经典书籍。 以下是所提及的关键书籍的摘要:1、维特鲁威(公元前 20 年)的《建筑学》:虽然与软件架构没有直接关系,但这部古代文献被提及,具有历史
  • 发现常见的架构反模式,学习如何避免它们并克服设计陷阱!获得宝贵的见解、实用的建议和实际示例,以构建更好的软件架构并改进现有架构。 反模式1:#货物崇拜在不了解流程、技术或方法为何以及如何运作的情况下采用它们,以期望
  • 集合论中的罗素悖论以及软件系统设计中过度宽容规则的问题。 罗素悖论揭示了集合论中的自指矛盾,表明过度宽容的规则可能导致难以处理的边缘情况。 软件系统中的过度宽容规则也可能引发意想不到的问题,挑战系统的可预测性和稳定性。 在软件系统设计中,需要平衡灵活性和严谨性,同时 icon
  • 当您设计一款软件时,设计时最重要的一点就是可理解性。安全性、性能和正确性都很重要,但它们次优于可理解性。 被误解的软件会产生Bug缺陷如果软件的实施者和维护者对软件存在误解,那么软件最终就会出现缺陷。主要缺 icon
  • 计算机科学家在研究分布式系统理论时使用三种模型类型:同步模型半同步模型异步模型同步模型意味着系统内发送的每条信息都有一个已知的通信上限(发送和接收信息之间的最大延迟)以及节点或代理之间的处理速度。这意味着你可以确定在一段 icon
  • 系统设计被定义为为系统的不同组件、接口和模块创建架构并提供有助于在系统中实现这些元素的相应数据的过程。系统设计是任何分布式系统设计背后的核心概念。 系统设计涉及识别数据源,它是描述、创建和规划框架以满足特定业务的必要性和先决条件的直觉。  icon
  • 以下是系统设计学习中的要点: CAP 定理基本要素:一致性、可用性、分区容错性。分区容错性:由于通信网络固有的不可靠性,因此必须具备。一致性和可用性之间的选择:< icon
  • 系统分析是系统设计中“做什么”之前的“如何” 。它提供了构建一个能够有效且高效地解决预期问题的系统的基本路线图。“想象一下你正在建造一座梦想之家。如果没有详细的蓝图,你不会开始敲钉子,对吧?“软件开发也是如此。” icon
  • 1.一个人的常量就是另一个人的变量。 2.函数延迟绑定;数据结构诱导绑定。寓意:在编程过程的后期对数据进行结构化。 3.句法糖会导致分号癌。 4.每个程序都是其 icon
  • 该项目应该用现代的、可扩展的、松散耦合的实现来取代现有的、单一的、难以扩展的结账系统。 为了实现这一目标,选择微服务架构作为软件系统的目标架构。微服务应该由一些核心服务来编排。此外,还有一个 Javascript 桌面应用程序,具有关联的前端后端(使用核心服务作为主要数据提供者)。服务之间的通信要么 icon
  • 重试机制是许多现代软件系统的关键组件。它允许我们的系统自动重试失败的操作,以从暂时性错误或网络中断中恢复。通过自动重试失败的操作,重试机制可以帮助软件系统从意外故障中恢复并继续正常运行。 今天,我们就来看看这些话题:什么是重试模式? icon
  • 遗传算法 (GA) 是更大类别的进化算法 (EA) 的子集,是计算机科学和运筹学中使用的一种元启发式算法,其灵感来自于自然选择的过程。遗传算法经常采用受生物学启发的算子,包括变异、交叉和选择,以产生优化和搜索问题的高质量解决方案。优化决策树以提高性能、解决数独难题、超参数优化、因果推理等都是 GA icon
  • 在深入研究设计 RESTful API 的最佳实践之前,我们先简要探讨一下 API 协议的一些基本方面。REST(代表性状态转移):REST 是一种用于设计网络应用程序的架构风格,通常用于构建 API。它依赖于客户端和服务器之间的无状态通信 icon
  • Vitess是一个由YouTube开发并开源的数据库解决方案,用于解决大规模MySQL部署中的扩展性问题。 最初,PayPal的三名员工尝试创建一个约会网站,但失败了。他们转向创建视频分享网站YouTube,并使用MySQL存储视频标题、描述和用户数据。< icon
  • 10篇本周Java工程、Spring、SpringBoot精彩文摘 1. Spring Security 和 JWT 入门将 JWT 与 Spring Security 结合使用可简化身份验证过程、增强安全性并支持 icon
  • 人们经常错误地将系统设计等同于简单地绘制软件架构图。另一个误解是将其仅与 BDUF(预先进行大型设计)、UML(统一建模语言)、TOGAF 等特定架构框架或各种文档类型(例如 HLD(高级设计)、SAD(软件架构文档)、KDD(关键设计决策)、ARD(架构需求文档)、LLD(低级设计)和 ADR(架 icon
  • 如何开始 [系统设计]。 阅读这些文章: 11)#Redis 用例: 10) #幂等API: 9)#Actor模型: 8)#RSocket: 7)#一致性哈希 解释: 6)#协议缓冲区与 #JSON 5)#服务发现 4)#单体式 icon
  • 过去,大多数公司和组织都采用自上而下的方式进行软件设计和架构--为每一个足够大的团队聘用一名架构师,作为产品/系统设计的集中权威。 现在,世界已转向更加分散的方法,各级工程师都参与设计和架构,而不仅仅是编码。 不同级别和技能的工程师的工作范围有所不同,例如 icon