本周系统设计复习:
- 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 可能如何工作
- Grok 3 支持多模态输入。用户可以以文本形式提问、上传图片或与 Grok 交谈。输入被分词以启动处理
- 合成数据训练增强查询解释
- 这被送入核心 transformer 模型分析输入
- 核心 transformer 向 DeepSearch 发出搜索指令,从网络或实时 X 数据检索必要信息
- 接下来,自校正过程通过内部反馈循环确保准确性
- 根据用户输入,Think Mode 或 Big Brain Mode 根据需要细化响应。它可能再次使用 DeepSearch 查找更多信息
- 答案以多模态方式交付给用户
注意,这些细节基于从 xAI 博客关于 Grok 和新功能公告中拼凑的信息。更多细节可能在未来几天透露。
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP151: 24 Good Resources to Learn Software Architecture in 2025。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。