Dojo
话题
新佳
订阅
极道
元认知
元逻辑
元设计
元编程
元语言
软件系统设计指南
系统设计中的限制性与灵活性
集合论中的罗素悖论以及软件系统设计中过度宽容规则的问题。 罗素悖论揭示了集合论中的自指矛盾,表明过度宽容的规则可能导致难以处理的边缘情况。 软件系统中的过度宽容规则也可能引发意想不到的问题,挑战系统的可预测性和稳定性。 在软件系统设计中,需要平衡灵活性和严谨性,同时
每个架构师都应该读的八本经典书籍
格雷戈尔·霍普在本文讨论了8本被视为软件架构师必读的经典书籍。 以下是所提及的关键书籍的摘要:1、维特鲁威(公元前 20 年)的《建筑学》:虽然与软件架构没有直接关系,但这部古代文献被提及,具有历史
分布式系统阅读清单
计算机科学家在研究分布式系统理论时使用三种模型类型:同步模型半同步模型异步模型同步模型意味着系统内发送的每条信息都有一个已知的通信上限(发送和接收信息之间的最大延迟)以及节点或代理之间的处理速度。这意味着你可以确定在一段
设计软件最重要的目标是可理解性?
当您设计一款软件时,设计时最重要的一点就是可理解性。安全性、性能和正确性都很重要,但它们次优于可理解性。 被误解的软件会产生Bug缺陷如果软件的实施者和维护者对软件存在误解,那么软件最终就会出现缺陷。主要缺
系统设计面试概念术语要点
以下是系统设计学习中的要点: CAP 定理基本要素:一致性、可用性、分区容错性。分区容错性:由于通信网络固有的不可靠性,因此必须具备。一致性和可用性之间的选择:<
系统分析和设计指南
系统分析是系统设计中“做什么”之前的“如何” 。它提供了构建一个能够有效且高效地解决预期问题的系统的基本路线图。“想象一下你正在建造一座梦想之家。如果没有详细的蓝图,你不会开始敲钉子,对吧?“软件开发也是如此。”
软件设计就是知识构建
关于软件设计的文章,通过一个故事来探讨了软件设计中的一些
高可用高可靠系统设计中的重试机制
重试机制是许多现代软件系统的关键组件。它允许我们的系统自动重试失败的操作,以从暂时性错误或网络中断中恢复。通过自动重试失败的操作,重试机制可以帮助软件系统从意外故障中恢复并继续正常运行。 今天,我们就来看看这些话题:什么是重试模式?
卧槽:油管用MySQL支持24.9亿用户
Vitess是一个由YouTube开发并开源的数据库解决方案,用于解决大规模MySQL部署中的扩展性问题。 最初,PayPal的三名员工尝试创建一个约会网站,但失败了。他们转向创建视频分享网站YouTube,并使用MySQL存储视频标题、描述和用户数据。<
如何从架构角度应对复杂性?
软件系统中的复杂性永远不会真正消失。就像物理学中的能量一样,它不能被摧毁——只能被转化、重定向或重新分配。我们做出的每一个架构决策要么会转移复杂性,要么会改变其形
10篇本周Java工程和Spring精彩文摘
10篇本周Java工程、Spring、SpringBoot精彩文摘 1. Spring Security 和 JWT 入门将 JWT 与 Spring Security 结合使用可简化身份验证过程、增强安全性并支持
12篇软件和系统架构文摘 2024 年 11 月 4 日
以下文章帮助你了解使用零信任原则构建安全微服务的实用指南,并了解云原生网络的最新动态。我们还介绍了实际应用,例如 Netflix 的视频编码服务和 Telegram 的 Android 应用设计,让您一窥流行平台背后的架构。 1、
当前系统设计工具严重不足
人们经常错误地将系统设计等同于简单地绘制软件架构图。另一个误解是将其仅与 BDUF(预先进行大型设计)、UML(统一建模语言)、TOGAF 等特定架构框架或各种文档类型(例如 HLD(高级设计)、SAD(软件架构文档)、KDD(关键设计决策)、ARD(架构需求文档)、LLD(低级设计)和 ADR(架
学习系统设计11个课题
如何开始 [系统设计]。 阅读这些文章: 11)#Redis 用例: 10) #幂等API: 9)#Actor模型: 8)#RSocket: 7)#一致性哈希 解释: 6)#协议缓冲区与 #JSON 5)#服务发现 4)#单体式
NFR:软件设计中的架构北极星
欢迎来到我们对软件架构中非功能性需求 (NFR) 的探索的最后一部分!在深入探索单个 NFR 之后,是时候了解它们如何共同指导架构决策,以及为什么选择主要和次要 NFR 是构建不断发展的系统过程中非常关键的一步。 那么,到目前为止我们研究了什么?<
理解系统设计中的缓存
缓存是系统设计中的关键组件,可以大大提高性能和可扩展性。通过将频繁访问的数据临时存储在高速存储层中,缓存可以减少从原始源检索数据所需的时间。这篇博文深入探讨了缓存技术,并提供了实时示例和最佳实践,以帮助您在系统中实施有效的缓存策略。 什么是
软件架构:在质量和知识民主化之间平衡
过去,大多数公司和组织都采用自上而下的方式进行软件设计和架构--为每一个足够大的团队聘用一名架构师,作为产品/系统设计的集中权威。 现在,世界已转向更加分散的方法,各级工程师都参与设计和架构,而不仅仅是编码。 不同级别和技能的工程师的工作范围有所不同,例如
听起来不错但几乎行不通的系统理念
本文讨论了几个看似吸引人但在实践中往往失败的工程概念。以下是所提出的关键理念的摘要: 可插拔架构:
上页
下页