本周系统设计面试:
- AWS、Azure 和 Google Cloud 的大数据管道速查表
- 比较 API 架构风格的速查表
- 我们每天使用的 10 个关键数据结构
- 构建安全 API 的速查表
大数据管道速查表
每个平台提供涵盖整个生命周期的全面服务套件:
- 摄取(Ingestion):从各种来源收集数据
- 数据湖(Data Lake):存储原始数据
- 计算(Computation):处理和分析数据
- 数据仓库(Data Warehouse):存储结构化数据
- 展示(Presentation):可视化和报告洞察
AWS
- 摄取:Kinesis(数据流)
- 数据湖:S3(存储)
- 计算:EMR(处理)
- 数据仓库:RedShift(仓库)
- 展示:QuickSight(可视化)
Azure
- 摄取:Event Hubs
- 数据湖:Data Lake Store
- 计算:Databricks(处理)
- 数据仓库:Cosmos DB
- 展示:Power BI(可视化)
Google Cloud
- 摄取:PubSub(数据流)
- 数据湖:Cloud Storage
- 计算:DataProc 和 DataFlow(处理)
- 数据仓库:BigQuery
- 展示:Data Studio(可视化)
6 大 API 架构风格
它涵盖 6 个最流行的 API 架构风格:
- SOAP
- REST
- GraphQL
- gRPC
- WebSocket
- Webhook
10 个关键数据结构
想象一下将数小时的手动工作削减,瞬间解决复杂问题,并让 AI 优化你的整个工作流——使你生产力提高 10 倍。
我们每天使用的 10 个关键数据结构:
- list:保持你的 Twitter 信息流
- stack:支持文字编辑器的撤销/重做
- queue:保持打印作业,或在游戏中发送用户动作
- hash table:缓存系统
- Array:数学运算
- heap:任务调度
- tree:保持 HTML 文档,或用于 AI 决策
- suffix tree:用于在文档中搜索字符串
- graph:用于跟踪友谊,或路径查找
- r-tree:用于查找最近邻居
- vertex buffer:用于发送数据到 GPU 进行渲染
构建安全 API 的速查表
不安全的 API 可能危及你的整个应用。遵循这些策略减轻风险:
1. 使用 HTTPS
加密传输中的数据,防止中间人攻击。这确保数据在传输过程中未被篡改。
2. 速率限制和节流
速率限制通过限制来自单个 IP 或用户的请求防止 DoS 攻击。目标是确保公平性和防止滥用。
3. 输入验证
防御注入攻击和意外数据格式。验证头部、输入和负载。
4. 认证和授权
- 不要使用基本认证进行身份验证。相反,使用标准认证方法如 JWT
- 使用难以猜测的随机密钥作为 JWT 密钥
- 使令牌过期时间短
- 对于授权,使用 OAuth
5. 使用基于角色的访问控制(RBAC)
RBAC 简化 API 的访问管理,减少未经授权操作的风险。基于角色的用户权限细粒度控制。
6. 监控
监控 API 是早期检测问题和威胁的关键。
- 使用 Kibana、Cloudwatch、Datadog 和 Slack 等工具进行监控
- 不要记录敏感数据如信用卡信息、密码、凭证等
本文为学习目的的个人翻译,译文仅供参考。
原文链接:EP135: Big Data Pipeline Cheatsheet for AWS, Azure, and Google Cloud。
版权归原作者或原刊登方所有。本文为非官方译本;如有不妥,请联系删除。