本周系统设计复习:

  • 2025 年学习软件架构的 24 个好资源
  • SOAP vs. REST vs. GraphQL vs. RPC
  • SQS vs. SNS vs. EventBridge vs. Kinesis
  • 提高 API 性能的前 5 种常见方法
  • xAI 的 Grok-3 单页介绍

学习软件架构的资源

资源可以分为不同类型:

1. 软件设计书籍

一些有帮助的书籍包括:

  • DDIA(Designing Data-Intensive Applications)
  • System Design Volume 1 & 2
  • Clean Architecture
  • Domain-Driven Design
  • Software Architecture: the Hard Parts

2. 技术博客和通讯

阅读公司的技术博客,如 Netflix、Uber、Meta 和 Airbnb。此外,ByteByteGo 通讯每周提供软件设计见解。

3. YouTube 频道和架构资源

YouTube 频道如 MIT Distributed Systems、Goto Conferences 和 ByteByteGo 可以帮助软件架构和系统设计。Azure Architecture Center 和 AWS Architecture Blog 是其他重要资源。

4. 白皮书

为了更深入的见解,阅读白皮书,如 Facebook Memcache Scaling、Cassandra、Amazon DynamoDB、Kafka 和 Google File System。

5. 软件职业书籍

软件架构师还需要发展整体技能。关于软件职业方面的书籍,如 Pragmatic Programmer、The Software Architect Elevator、The Software Engineer’s Guidebook 和 Philosophy of Software Design 会有帮助。

API 时间线和 API 风格对比

随着时间的推移,不同的 API 架构风格发布。每种风格都有自己的标准化数据交换模式。

SQS vs. SNS vs. EventBridge vs. Kinesis

  • AWS SQS:完全管理的消息队列服务,帮助解耦分布式组件之间的通信。
  • AWS SNS:完全管理的发布/订阅消息服务,使用主题向多个订阅者或端点(如电子邮件、Lambda、SQS 等)发送消息。
  • AWS EventBridge:无服务器事件总线,基于特定路由规则和过滤器促进 AWS 服务之间的事件路由。
  • AWS Kinesis Data Streams:近实时捕获、处理和分析数据的实时数据流服务。

如何选择使用哪个服务?

以下是一些基本提示和示例:

  • 对于海量事件,如应用的点击流,使用 Kinesis Data Stream
  • 对于由单个消费者处理的事件,如图像处理作业,SQS 是更好的选择
  • 对于发送消息和通知,SNS 是很好的选择
  • 对于系统事件,如新用户注册,多个服务必须接收和响应,使用 EventBridge

提高 API 性能的 5 种方法

1. 结果分页(Result Pagination)

此方法用于通过流式传输回客户端优化大结果集,增强服务响应能力和用户体验。

2. 异步日志(Asynchronous Logging)

此方法涉及将日志发送到无锁缓冲区并立即返回,而不是每次调用都处理磁盘。日志定期刷新到磁盘,显著减少 I/O 开销。

3. 数据缓存(Data Caching)

频繁访问的数据可以存储在缓存中以加速检索。客户端在查询数据库之前检查缓存,像 Redis 这样的数据存储解决方案由于内存存储提供更快的访问。

4. 负载压缩(Payload Compression)

为减少数据传输时间,请求和响应可以压缩(如使用 gzip),使上传和下载过程更快。

5. 连接池(Connection Pooling)

此技术涉及使用开放连接池来管理数据库交互,减少每次需要加载数据时打开和关闭连接的开销。池管理连接的生命周期以有效使用资源。

Grok-3 单页介绍

Grok 3 于 2 月 17 日发布。根据 Elon Musk 的说法,它是”地球上最聪明的 AI”。

是什么让它如此强大?

Grok 3 在 Colossus 超级计算机上训练,有 10 万个 Nvidia H100 GPU。根据一个统计数据,它训练了 2 亿 GPU 小时。Grok 3 的关键能力是编码、科学研究、问题解决、创建营销活动、个性化协助和 API 集成。

Grok 3 的一些特殊功能

  • DeepSearch:允许 Grok 搜索网络和 X 帖子获取实时数据和信息
  • Think Mode:将复杂查询分解为步骤,就像人类问题解决一样
  • Big Brain Mode:用于密集任务(如模拟、数据分析或推理)的重型模式

Grok 3 可能如何工作

  1. Grok 3 支持多模态输入。用户可以以文本形式提问、上传图片或与 Grok 交谈。输入被分词以启动处理
  2. 合成数据训练增强查询解释
  3. 这被送入核心 transformer 模型分析输入
  4. 核心 transformer 向 DeepSearch 发出搜索指令,从网络或实时 X 数据检索必要信息
  5. 接下来,自校正过程通过内部反馈循环确保准确性
  6. 根据用户输入,Think Mode 或 Big Brain Mode 根据需要细化响应。它可能再次使用 DeepSearch 查找更多信息
  7. 答案以多模态方式交付给用户

注意,这些细节基于从 xAI 博客关于 Grok 和新功能公告中拼凑的信息。更多细节可能在未来几天透露。

本文为学习目的的个人翻译,译文仅供参考。

原文链接:EP151: 24 Good Resources to Learn Software Architecture in 2025

版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。