首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计5

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。 如何设计一个高性能的系统架构,这是面试中一般常见的问题,明白回答该类问题的套路可以帮助我们理清思路。 本篇会聚焦high-level的思路,实际场景中还需要根据实际条件约束综合考虑。 具体保护系统的措施包括:系统限流,即通过流量控制来保证系统的稳定性,当实际并发压力超过系统性能设计指标时,就拒绝新的请求连接,让用户进行排队。 通过上述的思路,我们大概可以了解在回答高性能系统设计思路时,应该有的基本套路。 5、事后排查 当然,即使我们事前考虑的再多,也仍然会存在延迟和吞吐量的问题。 (2)定位吞吐量的问题 对于吞吐量指标要和 CPU使用率一起来看,在请求速率逐步增大时,经常会出现四种情况,对应的建议也一并附在了下面的表格中: 参考资料 李运华,《从0开始学架构》 刘海丰,《架构设计面试精讲

    48320编辑于 2023-03-06
  • 来自专栏小白晋级大师

    分布式系统架构5:限流设计模式

    这是小卷对分布式系统架构学习的第5篇文章,今天来学习限流器和限流设计模式1.为什么要限流? 任何一个系统的运算、存储、网络资源都不是无限的,当系统资源不足以支撑外部超过预期的突发流量时,就应该要有取舍,建立面对超额流量自我保护的机制,而这个机制就是微服务中常说的“限流”2.四种限流设计模式说到限流 比如说系统在连续2秒内都收到60TPS的请求,但是请求发生的时间分别在第1秒的后0.5秒,以及第2秒的前0.5秒。这样系统实际曾在1秒内发生超过80 TPS的请求。 当流量大时,限流本身会降低系统处理能力总结今天学习了4种限流设计模式:流量计数器模式、滑动窗口模式、漏桶模式、令牌桶模式,后面2种都是基于缓冲区的限流算法。简单了解了下分布式限流的概念。 后续有时间补充Sentinel的限流原理和其中用了哪些设计模式。

    43610编辑于 2024-12-22
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计(7)

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。 高可用,是近年来IT应用系统的常见需求。 注意:本篇内容阅读时间可能会超过5分钟,呼呼。 1、明确系统高可用的评估标准 首先,N个9。即系统可用性指标要求是几个9,大部分互联网公司都要求4个9。 参考架构设计基础部分的一些关键指标 其次,影响请求量占比。 本质理解:从架构设计的角度出发,降级设计就是在做取舍,它是一种有损的系统容错方式。 (2)其次,我们需要说明如何实现的熔断 和 降级。 (3)最后,系统故障是不可避免的。 做架构设计的时候就需要把故障当作不可或缺的一环来处理,因此在分布式系统设计和开发的过程中,要通过各种架构手段来提高系统可用性。

    46130编辑于 2023-03-06
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计(1)

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。本篇,我们聚焦架构设计的基础知识。 在了解架构设计这个topic之前,我们需要对一些常见的概念有理解。 架构是软件系统的“基础结构”,从不同的角度或维度,可以将系统划分为不同的结构,比如:业务逻辑的角度,物理部署的角度,开发规范的角度等等。框架关注的是“规范”,而架构关注的是“结构”。 5个9 表示 具有极高的可用性,年度不可用时间小于5分钟。更加科学的度量方式:任何一家互联网公司,都有流量的低峰期和高峰期,在低峰期停机1分钟和高峰期停机1分钟,对业务影响的结果完全不同。 (4)系统全链路性能指标一次请求会涉及到的前后端全链路性能指标:参考资料李运华,《从0开始学架构》刘海丰,《架构设计面试精讲》潘新宇,《23讲搞定后台架构实战》作者:周旭龙出处:https://edisonchou.cnblogs.com

    4.5K11编辑于 2023-05-18
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计(2)

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。 本篇,我们聚焦架构设计的理解部分。 本质论 架构设计的主要目的是为了解决复杂度带来的问题。 从功能复杂度来看,主要解决的是业务发展带来的系统耦合、开发效率缓慢问题。 从非功能性复杂度来看,主要解决的是高性能、高可用、高扩展性等需求。 实际工作中,Rank、Role 和 Relation 都是通过业务架构图 和 系统架构图来展示的,如下所示:  业务架构图  系统架构图 Rule 规则: 指软件系统角色之间如何协作来完成系统功能, 一般通过系统序列图来展示: 打比方 软件架构设计类似于大自然“设计”一个生物,通过演化让生物适应环境,逐步变得更加强大。 架构设计过程: 首先,设计出来的架构要满足当时的业务需要; 其次,架构要不断地在实际应用过程中迭代,保留优秀的设计,修复有缺陷的设计,改正错误的设计,去掉无用的设计,使得架构逐渐完善; 第三,当业务发生变化时

    52610编辑于 2022-12-16
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计(4)

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。 本篇,我们聚焦架构设计架构拆分的原则。 架构设计的原则 (1)合适原则 合适优于业界领先 (2)简单原则 简单优于复杂 (3)演化原则 演化优于一步到位 架构即人性,设计一个符合企业当前情况,又可以演进、不好大喜功的架构,善莫大焉。 架构拆分的案例 (1)典型案例 某位研发工程师在重构一个负责交易流程的系统时,将其拆分成报价系统、促销系统,以及订单系统,而当时他们只有两个人负责交易系统的开发工作。 (4)回答点评 立足于点:从原有系统中关于订单、促销和报价功能耦合在一起带来的实际问题出发 连接成线:从交易流程的角度做设计串联起三个系统的拆分逻辑是连接成线 扩散成面:从复杂度和成本考量的方向夯实了设计的原则 参考资料 李运华,《从0开始学架构》 刘海丰,《架构设计面试精讲》 潘新宇,《23讲搞定后台架构实战》 作者:周旭龙 出处:https://edisonchou.cnblogs.com 本文版权归作者和博客园共有

    48620编辑于 2023-03-06
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计(6)

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。 秒杀抢购,是近年来电商系统的常见考点,本篇,我们聚焦此类问题的回答思路。 注意,本篇内容和上一篇高性能系统架构设计思路相辅相成,建议先阅读上一篇再阅读本篇内容。 首先,我们需要明确基本的回答套路: 明确需求阶段 => 分阶段梳理难点 => 针对难点的解决方案设计 下面,我们就按照这介个点段分别来看看。 5、订单支付阶段 订单支付阶段难点:订单支付完成后,一般会由支付平台回调系统接口,更新订单状态。在支付回调成功之后,抢购系统还会通过异步通知的方式,实现订单更新之外的非核心业务处理。 参考资料 李运华,《从0开始学架构》 刘海丰,《架构设计面试精讲》 潘新宇,《23讲搞定后台架构实战》 作者:周旭龙 出处:https://edisonchou.cnblogs.com 本文版权归作者和博客园共有

    90020编辑于 2023-03-06
  • 来自专栏EdisonTalk

    5分钟了解系统架构设计(3)

    最近梳理了之前学习的架构设计相关的一些课程学习总结,将其整理成了一个大纲脑图,以每篇5分钟系列展现出来,希望对你有所帮助。 本篇,我们聚焦如何在面试中回答架构设计。 其实,关于架构设计的问题,我们只需要做到立足于点、连接成线 和 扩散成面。 下面,我们以一个典型案例来看看,如何基于这个套路来回答。 而且每当点评系统需求上线时,其他系统都需要跟着进行联调测试,导致需求迭代速度缓慢。 问题来了 你会如何做架构设计改造?为什么? 回答示例 回答套路: 四个层面,缺一不可。 1840,这个量级的数据意味着并不需要设计高性能架构方案。 从点评系统的功能复杂度(系统耦合 + 协作/研发效率低)来看 本质上是解决随着业务发展所带来的系统开发效率问题,需要架构师以部门负责人的视角,考虑现有研发团队的能力素质、IT成本、资源投入周期等因素是否匹配设计的三种方案

    56030编辑于 2022-12-30
  • 来自专栏Tom弹架构

    Spring 5系统架构

    EL的特性是基于Spring产品的需求而设计的,可以非常方便地同Spring IoC进行交互。 Spring以JVM的动态代理技术为基础,设计出了一系列的AOP横切实现,比如前置通知、返回通知、异常通知等。 同时,Pointcut接口可以匹配切入点,可以使用现有的切入点来设计横切面,也可以扩展相关方法根据需求进行切入。 8 各模块之间的依赖关系 Spring官网对Spring 5各模块之间的关系做了详细说明,如下图所示。 [file] 下图对Spring 5各模块做了一次系统的总结,描述了模块之间的依赖关系,希望能对“小伙伴们”有所帮助。 [file]

    53420编辑于 2021-12-30
  • 来自专栏Tom弹架构

    Spring 5系统架构

    Spring 5的模块结构如下图所示。 组成Spring框架的每个模块都可以单独存在,也可以将一个或多个模块联合实现。下面分别介绍每类模块的组成和功能。 EL的特性是基于Spring产品的需求而设计的,可以非常方便地同Spring IoC进行交互。 Spring以JVM的动态代理技术为基础,设计出了一系列的AOP横切实现,比如前置通知、返回通知、异常通知等。 4.8 各模块之间的依赖关系 Spring官网对Spring 5各模块之间的关系做了详细说明,如下图所示。 下图对Spring 5各模块做了一次系统的总结,描述了模块之间的依赖关系,希望能对“小伙伴们”有所帮助。

    56940编辑于 2022-04-25
  • 来自专栏Tom弹架构

    Spring 5系统架构

    EL的特性是基于Spring产品的需求而设计的,可以非常方便地同Spring IoC进行交互。 Spring以JVM的动态代理技术为基础,设计出了一系列的AOP横切实现,比如前置通知、返回通知、异常通知等。 8 各模块之间的依赖关系 Spring官网对Spring 5各模块之间的关系做了详细说明,如下图所示。 [图片2.png] 下图对Spring 5各模块做了一次系统的总结,描述了模块之间的依赖关系,希望能对“小伙伴们”有所帮助。 [图片3.png] 本文为“Tom弹架构”原创,转载请注明出处。 关注微信公众号“Tom弹架构”可获取更多技术干货!

    55400发布于 2021-10-22
  • 系统架构设计

    系统架构设计 系统架构设计是一个复杂而重要的过程,需要考虑多个方面的因素来满足系统的需求和目标。 下面是一个大致的系统架构设计的步骤: 以上是一个大致的系统架构设计的步骤,实际的设计过程可能会更加复杂和细致,需要结合具体的项目和需求来进行设计。 同时,系统架构设计是一个迭代的过程,需要不断地进行评估和优化。 系统架构设计是一个复杂而重要的过程,需要考虑多个方面的因素来满足系统的需求和目标。 安全设计:考虑系统的安全性,包括数据的加密、身份认证、访问控制等安全方面的设计。 进行系统评估和优化:对设计系统架构进行评估和优化,确保系统满足需求和目标,并提高系统的性能和可靠性。 以上是一个大致的系统架构设计的步骤,实际的设计过程可能会更加复杂和细致,需要结合具体的项目和需求来进行设计。同时,系统架构设计是一个迭代的过程,需要不断地进行评估和优化。

    40610编辑于 2025-08-29
  • 来自专栏带你回家

    Spring5 系统架构

    一,系统架构   Spring 总共大约有 20 个模块,由 1300 多个不同的文件构成。 以下是 Spring 5 的模块结构图: 组成 Spring 框架的每个模块集合或者模块都可以单独存在,也可以一个或多个模块联合实现。 在 Spring 中,他是以 JVM 的动态代 理技术为基础,然后设计出了一系列的 AOP 横切实现,比如前置通知、返回通知、异常通知等,同时, Pointcut 接口来匹配切入点,可以使用现有的切入点来设计横切面 1.3 数据访问及集成:由spring-jdbc、spring-tx、spring-orm、spring-jms 和 spring-oxm 5 个模块组成。   1.7 Spirng 各模块之间的依赖关系   该图是 Spring5 的包结构,可以从中清楚看出 Spring 各个模块之间的依赖关系。

    71020发布于 2019-11-07
  • 来自专栏Java项目实战

    WMS系统架构设计

    仓储物流系统架构设计: 数据库层:用于存储仓库、货物、订单等信息。 应用程序层:包括库存管理、货物追踪、订单管理、仓库布局、自动化设备控制等功能模块。 以上是仓储物流系统中的部分专业词汇 WMS系统架构设计: 图片 WMS系统架构设计是指为实现仓库管理系统的功能需求,设计出符合系统性能、可靠性、可维护性、可扩展性、安全性等要求的软件架构。 WMS系统架构设计需要考虑以下几个方面: 系统架构模式:WMS系统架构模式可以采用分层架构、MVC架构、微服务架构等。 系统可扩展性设计:WMS系统需要考虑系统的可扩展性问题,包括系统的模块化设计、基础设施的设计等。 系统集成设计:WMS系统需要考虑系统集成问题,包括与其他系统的接口设计、数据交换等。 综上所述,WMS系统架构设计需要综合考虑系统的功能需求、性能需求、安全需求、可扩展性需求等方面,设计出合理的系统架构,以实现系统的高效、稳定、安全和可持续发展。

    2.3K00编辑于 2023-03-20
  • 来自专栏【程序员Aion】带你去考证

    系统架构设计师|关于系统架构(上)

    前言从本篇开始,梳理关于软考的「系统架构设计师」的文章,如果不对,还望指出。1.1 系统架构系统架构系统的一种整体的高层次的结构表示,是系统的骨架和根基,其决定了系统的健壮性和生命周期的长短。 通俗地说,【系统架构系统架构 (System Architecture)是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括组件、连接件、约束规范以及指导这些内容设计与演化的原理 系统架构设计的目的是对需要开发的系统进行一系列相关的抽象,用于指导系统各个方面的设计与实现,架构设计系统开发过程中起着关键性作用,架构设计的优劣决定了系统的健壮性和生命周期的长短。 1.2 软件架构定义【软件架构】软件架构(也可称为体系结构)是用来刻画软件系统整体抽象结构的一种手段,软件架构设计也是软件系统开发过程中的一个重要环节。 ● 实现阶段:将设计阶段设计的算法及数据类型用程序设计语言进行表示,满足设计架构和需求分析的要求,从而得到满足设计需求的目标系统

    1.7K31编辑于 2024-08-19
  • 来自专栏架构之家

    Uber系统架构设计

    Uber 一开始是单体架构,后来逐渐演化为面向服务的架构。Uber 最早只为旧金山提供服务,他们称之为 UberBlack。 核心架构:类名、业务逻辑单元之间的继承关系、主业务逻辑、插件点(名称、依赖关系、结构等)、响应式编程链(响应式编程之间的关系)、统一平台组件(统一的平台级模块) 解决方案 应用 iOS 架构(从 MVC 支持应用频繁读写 因为出租车每 5 秒更新一次位置信息,因此会有频繁的写操作。 从关系型数据库 PostgreSQL 到建立在 MySQL 之上的无模式 NoSQL 数据库 ---- 系统架构 ---- 系统组件 地图 — 把出租车位置发送给乘客 乘客发出出行请求, 出处:https://xie.infoq.cn/article/c7c4c0fb77b70d1ea3c8c5e0b

    1.8K10编辑于 2022-09-01
  • 来自专栏【程序员Aion】带你去考证

    系统架构设计师|关于系统架构设计师(下)

    背景本篇为系统架构设计师的第二篇,主要说说何为系统架构设计师,他与系统架构之间的关系以及如何成为系统架构设计师,如有描述不清,还望指出。 架构设计师是系统开发的主体角色,构设计师的成果是创建架构系统开发中架构设计师是整个系统的核心。架构设计师是负责系统架构的人、团队或组织 (IEEE1471-2000)。 (Project Architect)和系统架构师 (System Architecture)等5类。 (4)技术架构设计和实现能力。在软件开发和信息系统建设中至关重要的能力,包括需求分析、架构设计、技术选型、实现与部署等。(5)应用系统架构的解决和实现能力。 5 如何成为系统架构设计师从上述的10种能力来看,从管理、技术、运维、运营等不同角度来描述如何成为系统架构设计师或者其中的一员。

    1.8K50编辑于 2024-08-20
  • SaaS架构:多租户系统架构设计

    多租户技术是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。 它是为共用的数据中心内如何以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍可保障客户的数据隔离。简单来说是一个单独的实例可以为多个组织服务。 二、多租户技术特点 1. 5. 集成性:传统软件的集成性就相对较强,通常一个软件可以关联很多系统。而SaaS用户对应用程序细节的控制非常少,甚至没有,比如对版本、支持的特性和额外插件的控制。 劣势: (1)租户相互影响:因为所有租户共享一组资源,当一个租户占用大量机器资源时,其他租户的使用体验很可能受到影响,在这种情况下,就有必要对技术架构设计一些限制(限流、降级、服务器隔离等),以使影响可控 七、多租户系统的定位   多租户系统旨在满足多个用户使用一组产品的需求,并实现用户之间的数据和行为隔离。根据不同的用户需求,软件和硬件资源可以共享或隔离,系统架构可以灵活地支持多种隔离模式。

    1.9K21编辑于 2025-11-03
  • 来自专栏smartguys

    5G 融合计费系统架构设计与实现(一)

    5G 融合计费系统架构设计与实现(一) 随着5G商用临近,5G的各个子系统也在加紧研发调试,本人有兴全程参与5G中的融合计费系统(CCS)的设计、开发、联调工作。 接下来将用几篇文章介绍我们在CCS实现过程遇到的挑战与架构设计的考量。相信这些宝贵的经验可以适用于更广的软件系统,免于重复地陷入软件开发的焦油坑。    没错,新5G系统在尽一切可能拥抱最新的技术潮流。正由于这个原因,在设计新的5G CCS时,我们发现以前的技术储备全都用上了。 总结下微服务架构几点要素:注册与发现、API Gateway、服务间通讯……   3Gpp制定的5G架构规范也是采用微服务的模式。下图是5G系统的总体架构图。 不止于5G的整体架构是微服务架构,每个子服务的内部也都是按微服务的架构重新设计实现的。容器化、微服务架构、服务编排是这两年我们系统的改造重点。相信也是其它子服务的改造重点。

    1.8K40发布于 2019-06-25
  • 来自专栏闲余说

    架构设计 5-高可用架构之高可用存储架构

    导读:《架构设计》系列为极客时间李运华老师《从0开始学架构》课程笔记。本文为第五部分,主要介绍高可用存储架构,分别介绍了双机架构和集群架构以及各种具体方案的优缺点和应用场景。 缺点 如果采取主主复制架构,必须保证数据能够双向复制,而很多数据是不能双向复制的,如: 用户注册后生成的用户 ID,如果按照数字增长,那就不能双向复制 库存不能双向复制 场景 主主复制架构对数据的设计有严格的要求 例如,系统判断当前需要切换,但需要人工做最终的确认操作 数据冲突解决 当原有故障的主机恢复后,新旧主机之间可能存在数据冲突 常见架构 互连式 互连式就是指主备机直接建立状态传递的渠道,在主备复制的架构基础上 数据集中集群架构中,客户端只能将数据写到主机;数据分散集群架构中,客户端可以向任意服务器中读写数据 场景 数据集中集群适合数据量不大,集群机器数量不多的场景:ZooKeeper 集群,一般推荐 5 台机器左右 分区 数据分区指将数据按照一定的规则进行分区,不同分区分布在不同的地理位置上,每个分区存储一部分数据,通过这种方式来规避地理级别的故障所造成的巨大影响 设计一个良好的数据分区架构,需要从多方面去考虑 数据量

    72820编辑于 2022-08-19
领券