摘要:
极客时间:《从 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、引言 计算高可用的本质是通过冗余来规避部分故障的风险,由于单台服务器无论如何都无法达到这个目的,因此计算高可用的设计思想很简单:通过增加更多服务器来达到计算高可用。 计算高可用的设计复杂度主要体现在任务管理,即当任务在某台服务器 阅读全文