随笔分类 - 架构笔记
摘要:极客时间:《从 0 开始学架构》:架构重构内功心法第一式:有的放矢 极客时间:《从 0 开始学架构》:架构重构内功心法第二式:合纵连横 极客时间:《从 0 开始学架构》:架构重构内功心法第三式:运筹帷幄 相比全新的架构设计来说,架构重构对架构师的要求更高,主要体现在: 业务已经上线,不能停下来 关联
阅读全文
摘要:极客时间:《从 0 开始学架构》:互联网架构模板:“平台”技术 ####运维平台 运维平台核心的职责分为四大块:配置、部署、监控、应急,每个职责对应系统生命周期的一个阶段,如下图所示: 配置:主要负责资源的管理。例如,机器管理、IP 地址管理、虚拟机管理等。 部署:主要负责将系统发布到线上。例如,包
阅读全文
摘要:极客时间:《从 0 开始学架构》:互联网架构模板:“用户层”和“业务层”技术 ####用户层技术 #####1、用户管理 互联网业务的一个典型特征就是通过互联网将众多分散的用户连接起来,因此用户管理是互联网业务必不可少的一部分。 稍微大一点的互联网业务,肯定会涉及多个子系统,这些子系统不可能每个都管
阅读全文
摘要:极客时间:《从 0 开始学架构》:互联网架构模板:“网络层”技术 这里的网络层强调的是站在网络层的角度整体设计架构,而不是某个具体网络的构建。 ####负载均衡 负载均衡就是将请求均衡地分配到多个系统上。由于每个系统的处理能力是有限的,因此为了应对大容量的访问,就必须使用多个系统 #####1、DN
阅读全文
摘要:极客时间:《从 0 开始学架构》:互联网架构模板:“开发层”和“服务层”技术 ####开发层技术 #####1、开发框架 互联网公司都会指定一个大的技术方向,然后使用统一的开发框架。使用统一的开发框架能够有效解决: 技术人员之间没有共同的技术语言,交流合作少。 每类技术都需要投入大量的人力和资源并熟
阅读全文
摘要:极客时间:《从 0 开始学架构》:互联网架构模板:“存储层”技术 互联网的标准技术架构如下图所示,该图涵盖了互联网技术公司的大部分技术点 本节聊下“存储层” ####SQL 实力雄厚的大公司此时一般都会在 SQL 集群上构建 SQL 存储平台,以对业务透明的形式提供资源分配、数据备份、迁移、容灾、读
阅读全文
摘要:极客时间:《从 0 开始学架构》:微内核架构详解 微内核架构(Microkernel Architecture),也被称为插件化架构(Plug-in Architecture),是一种面向功能进行拆分的可扩展性架构,通常用于实现基于产品(原文为 product-based,指存在多个版本、需要下载安
阅读全文
摘要:极客时间:《从 0 开始学架构》:微服务架构最佳实践 - 基础设施篇 每项微服务基础设施都是一个平台、一个系统、一个解决方案,如果自己实现,其过程都需要经过需求分析、开发测试、部署上线等步骤。 ####自动化测试 微服务将原本大一统的系统拆分为多个独立运行的“微”服务,微服务之间的接口数量增加,并且
阅读全文
摘要:极客时间:《从 0 开始学架构》:微服务架构最佳实践 - 方法篇 ####服务粒度 微服务拆分粒度的**“三个火枪手”原则**,即一个微服务三个人负责开发。当我们在实施微服务架构时,根据团队规模来划分微服务数量,如果业务规继续发展,团队规模扩大,我们再将已有的微服务进行拆分。 为啥是3个人? 从系统
阅读全文
摘要:极客时间:《从 0 开始学架构》:深入理解微服务架构:银弹 or 焦油坑? ####微服务与 SOA 的关系 SOA和微服务的关系和区别,可分为以下几种典型的观点: 微服务是 SOA 的实现方式 SOA是一种架构理念,而微服务是SOA理念的一种具体实现方法。 微服务是去掉 ESB 后的 SOA 该观
阅读全文
摘要:极客时间:《从 0 开始学架构》:传统的可扩展架构模式:分层架构和SOA ####分层架构 分层架构是很常见的架构模式,它也叫 N 层架构,通常情况下,N 至少是 2 层。例如,C/S 架构、B/S 架构。常见的是 3 层架构(例如,MVC、MVP 架构)、4 层架构,5 层架构的比较少见,一般是比
阅读全文
摘要:极客时间:《从 0 开始学架构》:可扩展架构的基本思想和模式 软件系统与硬件、建筑系统的差异在于软件是可扩展的。通过修改和扩展,不断地让软件系统具备更多的功能和特性,满足新的需求或者顺应技术发展的趋势。改动的地方越多,投入也越大,出错的可能性也越大。因此,如何避免扩展时改动范围太大,是软件架构可扩展
阅读全文
摘要:极客时间:《从 0 开始学架构》:如何应对接口级的故障? 接口级故障的典型表现就是系统并没有宕机,网络也没有中断,但业务却出现问题了 导致接口级故障的原因一般有下面几种: 内部原因 程序 bug 导致死循环,某个接口导致数据库慢查询,程序逻辑不完善导致耗尽内存等。 外部原因 如黑客攻击、促销等引入超
阅读全文
摘要:极客时间:《从 0 开始学架构》:异地多活设计4步走 ####第 1 步:业务分级 按照一定的标准将业务进行分级,挑选出核心的业务,只为核心业务设计异地多活,降低方案整体复杂度和实现成本。 常见的分级标准有下面几种: 访问量大的业务 核心业务 产生大量收入的业务 ####第 2 步:数据分类 挑选出
阅读全文
摘要:极客时间:《从 0 开始学架构》:异地多活设计4大技巧 ####技巧 1:保证核心业务的异地多活 “异地多活”是为了保证业务的高可用,优先实现核心业务的异地多活架构 ####技巧 2:保证核心数据最终一致性 异地多活本质上是通过异地的数据冗余,来保证在极端异常的情况下业务也能够正常提供给用户,因此数
阅读全文
摘要:极客时间:《从 0 开始学架构》:业务高可用的保障:异地多活架构 ####1、引言 高可用计算架构还是高可用存储架构,其目的都是**为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。**但也存在一些极端的情况,导致所有或大部分服务器出现故障,如断电、自然灾害等,业务也就会受到不同层次的影
阅读全文
摘要:极客时间:《从 0 开始学架构》:如何设计计算高可用架构? ####1、引言 计算高可用的本质是通过冗余来规避部分故障的风险,由于单台服务器无论如何都无法达到这个目的,因此计算高可用的设计思想很简单:通过增加更多服务器来达到计算高可用。 计算高可用的设计复杂度主要体现在任务管理,即当任务在某台服务器
阅读全文
摘要:极客时间:《从 0 开始学架构》:高可用存储架构:集群和分区 两种常见的高可用存储架构:数据集群和数据分区。 ####1、数据集群 使用多台服务器来存储数据即为数据集群架构,集群指的是多台(至少三台)机器组合在一起形成一个统一的系统,根据集群中机器承担的不同角色可分为两类:数据集中集群和数据分散集群
阅读全文
摘要:极客时间:《从 0 开始学架构》: 高可用存储架构:双机架构 ####1、引言 存储高可用方案的本质都是**通过将数据复制到多个存储设备,通过数据冗余的方式来实现高可用,其复杂性主要体现在如何应对复制延迟和中断导致的数据不一致问题。**因此,针对任何高可用存储方案,可从以下几个方面进行思考分析。 数
阅读全文
摘要:极客时间:《从 0 开始学架构》:FMEA方法,排除架构可用性隐患的利器 FMEA 方法,就是保证我们做到全面分析的一个非常简单但是非常有效的方法。 ####1、FMEA 介绍 FMEA(Failure mode and effects analysis,故障模式与影响分析)又称为失效模式与后果分析
阅读全文