Skip to main content

System Design: 支付系统

· 3 min read

为了解决支付系统中高并发、容错、事务一致性等复杂问题,我们可以尝试应用以下设计模式和关键概念:

消息模型类型

· 4 min read

消息模型是消息中间件中用于定义消息传递方式的抽象模式,常见的除了**订阅/发布模式(Pub/Sub)点对点模式(P2P)**外,还有其他衍生或组合模型。

模式消息传递耦合度可靠性扩展性典型实现典型应用
点对点, P2P一对一ActiveMQ, RabbitMQ异步任务、队列缓冲
发布/订阅一对多Kafka, RabbitMQ事件通知、广播
请求/回复双向RabbitMQ, ZeroMQRPC 调用
推/拉可配置可配置Kafka, RocketMQFan-out
流处理连续中到高Kafka Streams, Apache Flink日志处理、实时监控

数据的序列化与反序列化

· 6 min read

序列化(Serialization)和反序列化(Deserialization)是数据处理中的两个核心概念,特别是在分布式系统和网络通信中尤为重要。

基本概念

AWS 常用服务的清单

· 5 min read

以下是 AWS 常用服务的清单,附带核心功能和典型应用场景,帮助您根据需求快速匹配服务:

适用于程序开发

  1. 核心请求流
  2. 数据流
  3. 安全/运维

架构图

1. 核心请求流

Azure 常用服务清单

· 5 min read

以下是 Azure 常用服务的清单,按照与 AWS 相同的分类和架构逻辑整理,便于从 AWS 迁移或对比学习:


架构图

1. 核心请求流

2. 数据流

3. 安全/运维


服务类型

一、计算服务

  1. Azure Virtual Machines (VMs)

    • 核心:可扩展的虚拟服务器,支持多种 OS 和实例类型
    • 场景:企业应用、批处理、开发测试环境
    • 关键点:支持自动扩缩容(VM Scale Sets)
  2. Azure Functions

    • 核心:事件驱动的无服务器计算
    • 场景:实时数据处理、微服务、事件触发任务
  3. Azure Kubernetes Service (AKS)

    • 核心:托管 Kubernetes 容器服务
    • 场景:容器化微服务架构

二、存储服务

  1. Azure Blob Storage

    • 核心:对象存储服务,支持热/冷/归档层
    • 场景:静态网站、大数据存储、备份
  2. Azure Managed Disks

    • 核心:块存储服务,用于 VM 持久化存储
    • 场景:数据库存储、高性能应用
  3. Azure Files

    • 核心:完全托管的云文件共享
    • 场景:企业文件共享、迁移本地文件服务器

三、数据库服务

  1. Azure SQL Database

    • 核心:托管关系型数据库服务
    • 场景:OLTP 应用、企业系统
  2. Azure Cosmos DB

    • 核心:全球分布的多模型 NoSQL 数据库
    • 场景:低延迟全球应用、游戏、IoT
  3. Azure Synapse Analytics

    • 核心:企业数据仓库和分析服务
    • 场景:大数据分析、商业智能

四、网络服务

  1. Azure Virtual Network (VNet)

    • 核心:Azure 中的私有网络
    • 场景:混合云连接、网络安全隔离
  2. Azure Front Door

    • 核心:全球 HTTP 负载均衡和 CDN 服务
    • 场景:全球应用加速、DDoS 防护
  3. Application Gateway

    • 核心:第 7 层负载均衡器
    • 场景:Web 应用流量管理、WAF 集成

五、安全与身份

  1. Azure Active Directory (AD)

    • 核心:身份和访问管理服务
    • 场景:单点登录、多因素认证
  2. Azure Key Vault

    • 核心:密钥和机密管理服务
    • 场景:证书管理、加密密钥存储

六、大数据与分析

  1. Azure Data Factory

    • 核心:云 ETL 和数据集成服务
    • 场景:数据管道编排、异构数据源集成
  2. Power BI

    • 核心:商业智能和分析服务
    • 场景:数据可视化、交互式报表

七、DevOps 与监控

  1. Azure Monitor

    • 核心:全栈监控服务
    • 场景:应用性能监控、日志分析
  2. Azure DevOps

    • 核心:CI/CD 和应用生命周期管理
    • 场景:自动化构建、测试和部署

典型场景组合

1. Web 应用架构

  • 服务组合:Azure VMs + Application Gateway + Azure SQL + Blob Storage + Front Door
  • 说明:高可用 Web 应用的标准架构

2. 无服务器数据处理

  • 服务组合:Azure Functions + Blob Storage + Cosmos DB + Event Grid
  • 说明:事件驱动的数据处理管道

3. 大数据分析

  • 服务组合:Azure Synapse + Data Factory + Power BI
  • 说明:端到端数据分析解决方案

与 AWS 服务对照表

类别AWS 服务Azure 服务
计算EC2Azure Virtual Machines
LambdaAzure Functions
存储S3Blob Storage
EBSManaged Disks
数据库RDSAzure SQL Database
DynamoDBCosmos DB
网络CloudFrontAzure Front Door
安全IAMAzure Active Directory
大数据RedshiftAzure Synapse
DevOpsCodePipelineAzure DevOps

这个清单提供了从 AWS 到 Azure 的平滑过渡参考,保持相同的架构模式同时利用 Azure 的特有优势。

System Design 过程中的软硬件限制

· 3 min read

在系统设计中,了解硬件资源限制、数据库性能指标和常见数据规模是至关重要的。以下是整理的关键参数和参考范围,涵盖数据规模、硬件配置、数据库性能等方面:


一、数据规模参考

  1. 文件/数据大小

    • 单条用户数据(如 JSON 记录):1 KB - 10 KB
    • 高清图片:1 MB - 5 MB
    • 短视频(1 分钟):10 MB - 100 MB
    • 长视频(1080p,1 小时):1 GB - 3 GB
    • 数据库单表容量限制:
      • MySQL/PostgreSQL:单表建议 ≤ 500GB(性能下降临界点)
      • 分布式数据库(如 Cassandra):单表可支持 PB 级

DevOps实践指南:如何保证系统稳定性、高可用性与一致性 | 2025 运维工程师必备技能

· 7 min read

一、 核心目标分解

  • 稳定性 (Stability):
    • 系统抵御故障、快速恢复的能力。
    • 目标:降低故障发生率 (MTBF - Mean Time Between Failures)
  • 可用性 (Availability):
    • 系统在需要时可被正常使用的程度。
    • 目标:最大化正常运行时间 (Uptime),通常用 SLA (如 99.9%, 99.99%) 衡量。
  • 一致性 (Consistency):
    • 确保环境、配置、部署流程、行为在开发、测试、生产等所有阶段高度一致
    • 目标:消除“在我机器上是好的”问题,减少环境差异导致的故障

二、 DevOps 达成目标的支柱策略

1. 基础设施即代码 (IaC)

不保证 100% 成功,但为了提高成功率,你应该懂得的面试成功指南:核心认知、策略与实战技巧

· 39 min read

找到理想的技术工作确实不仅需要扎实的硬技能,更需要掌握一套有效的面试策略和认知方法。

心法指南

下面是整理的全面指南,希望能帮你更有信心地迎接挑战:

🧠 一、 核心认知:转变思维,理解面试本质

  1. 面试不是考试,而是价值交换的对话:

    • 核心: 你不是在被"考",而是在与公司探讨"我如何能解决你们的问题/达成你们的目标"。
    • 认知: 公司有痛点(技术债、新项目、性能瓶颈、团队协作问题等),你拥有技能和经验。面试是展示你如何匹配并解决这些痛点的过程。时刻思考:"我能为他们带来什么独特价值?"