本周系统设计复习:

  • 移动应用如何发布?
  • AWS 服务速查表
  • API 设计速查表
  • Azure 服务速查表
  • 计算机程序如何运行?

AWS 服务概览

AWS 从一个内部项目成长为云服务市场领导者,提供如此多的不同服务,即使是专家也会觉得难以全面了解。

该平台不仅满足基础云需求,还保持在机器学习和 IoT 等新兴技术的前沿,将自己确立为尖端创新的基础。AWS 不断完善其服务组合,确保先进的安全性、可扩展性和运营效率能力可用。

对于那些在复杂选项中导航的人,这个 AWS 服务指南是一个有用的视觉辅助工具。

它简化了探索 AWS 广阔景观,使用户能够识别和利用适合其云基础工作的正确工具。

API 设计速查表

API 暴露业务逻辑和数据给外部系统,所以安全高效地设计它们很重要。

API 密钥生成

我们通常为每个客户端生成一个唯一的应用 ID,并生成不同的公钥(访问密钥)和私钥(秘密密钥)对以满足不同的授权。例如,我们可以生成一对密钥用于只读访问,另一对用于读写访问。

签名生成

签名用于验证 API 请求的真实性和完整性。它们使用秘密密钥生成,通常涉及以下步骤:

  • 收集参数
  • 创建要签名的字符串
  • 哈希字符串:使用加密哈希函数,如 HMAC(基于哈希的消息认证码)与 SHA-256 结合,使用秘密密钥哈希字符串。

发送请求

设计 API 时,决定 HTTP 请求参数中应包含什么至关重要。在请求参数中包括以下内容:

  • 认证凭据
  • 时间戳:防止重放攻击
  • 请求特定数据:处理请求所需,如用户 ID、交易详情或搜索查询
  • Nonce:每个请求中包含的随机生成字符串,确保每个请求唯一并防止重放攻击

安全指南

为保护 API 免受常见漏洞和威胁,遵守这些安全指南。

Azure 服务

2010 年推出,Microsoft Azure 迅速增长到持有市场份额第 2 位,从基础产品演变为全面、灵活的云生态系统。

如今,Azure 不仅支持传统云应用,还满足 AI、IoT 和区块链等新兴技术,使其成为创新和开发的关键平台。

随着发展,Azure 继续增强其能力,为安全、可扩展性和效率提供先进解决方案,满足现代企业和初创公司的需求。这种扩展允许组织适应并在快速变化的数字景观中蓬勃发展。

附带的插图可以作为介绍和快速参考,适用于任何希望了解 Azure 的人。

计算机程序如何运行?

下图显示了步骤。

  1. 用户交互和命令启动:通过双击程序,用户指示操作系统通过图形用户界面启动应用。

  2. 程序预加载:一旦执行请求启动,操作系统首先检索程序的可执行文件。操作系统通过文件系统定位此文件并将其加载到内存中准备执行。

  3. 依赖解析和加载:大多数现代应用依赖许多共享库,如动态链接库(DLL)。

  4. 分配内存空间:操作系统负责在内存中分配空间。

  5. 初始化运行时环境:分配内存后,操作系统和执行环境(如 Java 的 JVM 或.NET Framework)将初始化运行程序所需的各种资源。

  6. 系统调用和资源管理:程序的入口点(通常是名为 main 的函数)被调用以开始执行程序员编写的代码。

  7. 冯·诺依曼架构:在冯·诺依曼架构中,CPU 执行存储在内存中的指令。

  8. 程序终止:最终,当程序完成任务,或用户主动终止应用时,程序将开始清理阶段。这包括关闭打开的文件描述符、释放网络资源,并将内存返回系统。

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

原文链接:EP113: AWS Services Cheat Sheet

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