摘要: Go 语言学习 Python 学习 Java 学习 vue 学习 linux 学习 从"0"开始学架构 网络请求协议学习 面试题收集 自动化运维及服务相关 知识点收集整理 持续更新... 其他内容正在整理更新中 欢迎回到 博客首页 阅读全文
posted @ 2019-12-27 16:55 Py猫的故事 阅读(247) 评论(0) 推荐(0)
摘要: 提供一个架构设计文档模板还是很有必要的,可以方便你在实际进行架构设计的时候更好地编写相关文档,给出架构设计中最重要的两个文档的模板和关键说明。 备选方案模板 1. 需求介绍 [需求介绍主要描述需求的背景、目标、范围等] 随着业务的不断发展,业务上拆分的子系统越来越多,目前系统间的调用都是同步调用,由 阅读全文
posted @ 2026-04-06 22:17 Py猫的故事 阅读(19) 评论(0) 推荐(0)
摘要: 讲架构设计,主要聚焦在后端系统,但这并不意味着 App、前端就没有架构设计了,专栏所讲述的整套架构设计理念,虽然是来源于我的后端设计经验,但一旦形成完善的技术理论后,同样适应于 App 和前端。 架构设计理念,可以提炼为下面几个关键点: 架构是系统的顶层结构。 架构设计的主要目的是为了解决软件系统复 阅读全文
posted @ 2026-04-06 21:24 Py猫的故事 阅读(4) 评论(0) 推荐(0)
摘要: 软件开发领域有一个流行的原则:DRY,Don’t repeat yourself。翻译过来更通俗易懂:不要重复造轮子。开源项目的主要目的是共享,其实就是为了让大家不要重复造轮子,然而现实往往没有那么美好,开源项目虽然节省了大量的人力和时间,但带来的问题也不少,相信绝大部分技术人员都踩过开源软件的坑, 阅读全文
posted @ 2026-04-06 19:54 Py猫的故事 阅读(12) 评论(0) 推荐(0)
摘要: “架构设计三原则”中的演化原则部分,系统的架构是不断演化的,少部分架构演化可能需要推倒重来进行重写,但绝大部分的架构演化都是通过架构重构来实现的。,架构重构对架构师的要求更高,主要体现在:业务已经上线,不能停下来 架构重构时,业务已经上线运行了,重构既需要尽量保证业务继续往前发展,又要完成架构调整, 阅读全文
posted @ 2026-04-06 19:14 Py猫的故事 阅读(6) 评论(0) 推荐(0)
摘要: 互联网的标准技术架构如下图所示,这张图基本上涵盖了互联网技术公司的大部分技术点,不同的公司只是在具体的技术实现上稍有差异,但不会跳出这个框架的范畴。 互联网架构模板:“存储层”技术 SQL SQL 即我们通常所说的关系数据。前几年 NoSQL 火了一阵子,很多人都理解为 NoSQL 是完全抛弃关系数 阅读全文
posted @ 2026-04-06 18:31 Py猫的故事 阅读(15) 评论(0) 推荐(0)
摘要: 互联网的出现不但改变了普通人的生活方式,同时也促进了技术圈的快速发展和开放。在开源和分享两股力量的推动下,,大的方面有大数据、云计算、人工智能等,细分的领域有 NoSQL、Node.js、Docker 容器化等。各个大公司也乐于将自己的技术分享出来,以此来提升自己的技术影响力.对于技术人员来说,技术 阅读全文
posted @ 2026-04-06 16:40 Py猫的故事 阅读(8) 评论(0) 推荐(0)
摘要: 微内核架构(Microkernel Architecture),也被称为插件化架构(Plug-in Architecture),是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品(原文为 product-based,指存在多个版本、需要下载安装才能使用,与 web-based 相对应)的应用 阅读全文
posted @ 2026-04-06 11:49 Py猫的故事 阅读(10) 评论(0) 推荐(0)
摘要: 微服务是近几年非常火热的架构设计理念,大部分人认为是 Martin Fowler 提出了微服务概念,但事实上微服务概念的历史要早得多,也不是 Martin Fowler 创造出来的,Martin 只是将微服务进行了系统的阐述 由于微服务的理念中也包含了“服务”的概念,而 SOA 中也有“服务”的概念 阅读全文
posted @ 2026-04-06 11:34 Py猫的故事 阅读(5) 评论(0) 推荐(0)
摘要: 可扩展架构的基本思想和模式 软件系统与硬件和建筑系统最大的差异在于软件是可扩展的,一个硬件生产出来后就不会再进行改变、一个建筑完工后也不会再改变其整体结构。真正有生命力的软件系统,都是在不断迭代和发展的,典型的如 Windows 操作系统,从 Windows 3.0 到 Windows 95 到 W 阅读全文
posted @ 2026-04-06 09:38 Py猫的故事 阅读(9) 评论(0) 推荐(0)
摘要: 异地多活方案主要应对系统级的故障,例如,机器宕机、机房故障、网络故障等问题,这些系统级的故障虽然影响很大,但发生概率较小。在实际业务运行过程中,还有另外一种故障影响可能没有系统级那么大,但发生的概率较高 接口级故障的典型表现就是系统并没有宕机,网络也没有中断,但业务却出现问题了。例如,业务响应缓慢、 阅读全文
posted @ 2026-04-05 21:01 Py猫的故事 阅读(8) 评论(0) 推荐(0)
摘要: 无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。 但在一些极端场景下,有可能所有服务器都出现故障。例如,典型的有机房断电、机房火灾、地震、水灾……这些极端情况会导致某个系统所有服务器都故障,或者业务整体瘫痪,。因为备份系统平 阅读全文
posted @ 2026-04-05 20:15 Py猫的故事 阅读(8) 评论(0) 推荐(0)
摘要: 高可用存储架构:双机架构 常见的高可用存储架构有主备、主从、主主、集群、分区,每一种又可以根据业务的需求进行一些特殊的定制化功能,由此衍生出更多的变种。 存储高可用方案的本质都是通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题 阅读全文
posted @ 2026-04-05 11:47 Py猫的故事 阅读(4) 评论(0) 推荐(0)
摘要: 高可用更复杂一些,主要原因在于异常的场景很多,只要有一个场景遗漏,架构设计就存在可用性隐患,而根据墨菲定律“可能出错的事情最终都会出错”,架构隐患总有一天会导致系统故障。 FMEA 介绍 FMEA(Failure mode and effects analysis,故障模式与影响分析)又称为失效模式 阅读全文
posted @ 2026-04-05 08:16 Py猫的故事 阅读(16) 评论(0) 推荐(0)
摘要: CAP 定理(CAP theorem)又被称作布鲁尔定理(Brewer's theorem),是加州大学伯克利分校的计算机科学家埃里克·布鲁尔(Eric Brewer)在 2000 年的 ACM PODC 上提出的一个猜想。2002 年,麻省理工学院的赛斯·吉尔伯特(Seth Gilbert)和南希 阅读全文
posted @ 2026-04-04 22:37 Py猫的故事 阅读(7) 评论(0) 推荐(0)
摘要: 高性能负载均衡:分类及架构 单服务器无论如何优化,无论采用多好的硬件,总会有一个性能天花板,当单服务器的性能无法满足业务需求时,就需要设计高性能集群来提升系统整体的处理性能。 高性能集群的本质很简单,通过增加更多的服务器来提升系统整体的计算能力。由于计算本身存在一个特点:同样的输入数据和逻辑,无论在 阅读全文
posted @ 2026-04-04 21:12 Py猫的故事 阅读(4) 评论(0) 推荐(0)
返回顶部