刷新
SaaS架构:开放平台架构设计

博主头像 大家好,我是汤师爷~ 今天聊聊开放平台架构设计。 为什么需要搭建开放平台 增强产品能力 开放平台能够让三方开发者和合作伙伴开发新的应用或服务,增加原有SaaS产品能力。这样就可以满足更多用户需求,从而提高用户的满意度和黏性。 促进创新 三方开发者能够在SaaS标准产品的基础上,创造新的解决方案,为平 ...

SaaS架构:多租户系统架构设计

博主头像 什么是多租户? 多租户是SaaS领域的特有产物,在SaaS服务中,租户是指使用SaaS系统的客户,租户不同于用户,例如,B端SaaS产品,用户可能是某个组织下的员工,但整个企业组织是SaaS系统的租户。 多租户技术是一种软件架构技术,可以实现多个租户共享系统实例,并且租户间能够实现数据与行为的隔离。 ...

MQ核心作用异步&削峰&解耦使用场景详解

博主头像 说在前面 在如今的高并发互联网应用中,如何确保系统在巨大的流量冲击下还能稳稳当当运转,是每个技术团队都会遇到的挑战。说到这,消息队列(MQ) 就是背后的“大功臣”了。 无论是异步处理请求、平滑应对流量高峰,还是让各个系统模块相互独立不“拖后腿”,MQ 都是不可或缺的帮手。那么,MQ 是怎么削峰的?或 ...

系统设计面试参考-设计Spotify系统

博主头像 Spotify 是世界上最受欢迎的音乐流媒体平台,每月活跃 用户 (MAU) 超过 6 亿,付费用户超过 2 亿。在本文中,我们将学习如何设计 像 Spotify 这样的音乐流媒体服务,该服务每天可以处理数以百计的数百万用户和数十亿个音乐流,确保低延迟和高可用性。1.需求收集功能需求在深入研究设计之 ...

读构建可扩展分布式系统:方法与实践15可扩展系统的基本要素

博主头像 1. 可扩展系统的基本要素 1.1. 分布式系统在本质上就是复杂的,你必须考虑多种故障模式,并设计应对所有可能发生的情况的处理方式 1.2. 大规模应用程序需要协调大量的硬件和软件组件,共同实现低延迟和高吞吐量的能力 1.3. 面临的挑战是将所有活动部件组合成一个应用程序来运行,使其既能满足需求又不 ...

读构建可扩展分布式系统:方法与实践14流处理系统

博主头像 1. 流处理系统 1.1. 时间就是金钱 1.1.1. 从数据中提取有价值的知识和获得洞见的速度越快,就能越快地响应系统所观察的世界的变化 1.1.2. 信用卡欺诈检测 1.1.3. 网络安全中异常网络流量的捕获 1.1.4. 在支持GPS的驾驶应用程序中进行的实时路线规划 1.1.5. 社交媒体网 ...

读构建可扩展分布式系统:方法与实践13可扩展的事件驱动处理

博主头像 1. 可扩展的事件驱动处理 1.1. 使用消息传递系统进行通信,你可以创建松耦合的架构 1.1.1. 消息生产者只是将消息存储在队列中,而不用关心消费者如何处理消息 1.1.2. 有一个或多个消费者,并且生产者和消费者的集合可以随着时间的推移而改变 1.1.3. 有助于提高服务响应能力、通过缓存消除 ...

云设计模式介绍

博主头像 云设计模式介绍以及它们如何帮助应对分布式计算的谬误 作为构建分布式系统的软件工程师,我们经常遇到诸如不可靠的网络、延迟问题和安全问题等挑战。"分布式计算的谬误"描述了如果未解决,可能导致系统故障的常见误解。但认识到这些陷阱只是开始。真正的问题是:我们如何有效地克服它们?这就是云设计模式发挥作用的地方 ...

SaaS业务架构:业务能力分析

博主头像 大家好,我是汤师爷~ 今天聊聊SaaS业务架构的业务能力分析。 业务能力概述 简单来说,业务能力是企业“做某事的能力”。 业务能力描述了企业当前和未来应对挑战的能力,即企业能做什么或需要做什么。业务能力建模的关键在于定义了企业做什么,而不是如何做(由业务流程描述)。 以人才招聘为例,大多数公司都需要 ...

读构建可扩展分布式系统:方法与实践11强一致性

博主头像 1. 强一致性 1.1. 最终一致数据库通过跨多台机器分区和复制数据集来获得可扩展性,其代价是要跨副本维持强数据一致性以及允许冲突写入 1.1.1. 在更新数据对象后,不同的客户端可能会看到该对象的旧值或新值,直到所有副本都收敛到最新值 1.2. 另一类分布式数据库提供一种可替代的模型,即强一致性数 ...

读构建可扩展分布式系统:方法与实践10最终一致性

博主头像 1. 最终一致性 1.1. 在一些应用领域,通常谈论的是银行和金融行业,最终一致性根本不合适 1.2. 事实上,最终一致性在银行业已经使用了很多年 1.2.1. 支票需要几天时间才能在你的账户上进行核对,而且你可以轻松地开出比账户余额多的支票 1.2.2. 当处理检查并建立一致性后,你才能看到一些后 ...

SaaS架构:流程架构分析

博主头像 大家好,我是汤师爷~ 今天聊聊SaaS架构中的流程架构分析。 业务流程的概念 业务流程是企业为实现目标而制定的一套系统化的工作方法。它由一系列有序的业务活动组成,按照既定规则将资源(输入)转化为有价值的结果(输出)。这一过程需结合企业的具体情况和可用资源,旨在为客户创造价值,同时达成企业目标。 通过 ...

读构建可扩展分布式系统:方法与实践09可扩展数据库基础

博主头像 1. 可扩展数据库基础 1.1. 绝大多数应用程序都是基于关系数据库技术构建的 1.2. 数据库必须存储大量数据,为分布在全球的客户端提供快速的查询响应,并且全天候可用 1.3. NoSQL数据库采用简单的数据模型,可以复制和分区以支持海量数据集和请求量 1.4. Facebook以使用MySQL管 ...

读构建可扩展分布式系统:方法与实践08微服务

博主头像 1. 微服务 1.1. 微服务的起源可以追溯到2008年左右 1.1.1. 在Amazon,​“两个比萨原则”成为一个单系统组件团队规模的管理原则,后来被称为微服务 1.1.1.1. 每个内部团队都应该小到可以用两个比萨饼喂饱 1.1.2. Amazon和Netflix是微服务架构的先驱,他们在20 ...

读构建可扩展分布式系统:方法与实践07无服务器处理系统

博主头像 1. 无服务器的魅力 1.1. 对于某些应用程序,负载在工作时间可能很高,而在非工作时间可能很低或者不存在 1.2. 其他应用程序后台流量可能在99%的时间里都很低 1.2.1. 一旦到了一些大型节目的门票发布时间,负载需求可能会在数小时内飙升至平均水平的10000倍,然后回落至正常水平 1.3.  ...

读构建可扩展分布式系统:方法与实践06异步消息传递

博主头像 1. 异步消息传递 1.1. 通信是分布式系统的基础,也是架构师需要纳入其系统设计的主要问题 1.2. 客户端发送请求并等待服务器响应 1.2.1. 这就是大多数分布式通信的设计方式,因为客户端需要得到即时响应后才能继续 1.2.2. 并非所有系统都有这个要求 1.3. 使用异步通信的方式,客户端( ...

<1···456···10>