AWS 云架构图指南(赞助)
利用 AWS 和 Datadog 的专家洞察,增强云架构的可视性。在本电子书中,AWS 解决方案架构师 Jason Mimick 和 James Wenzel 将指导您完成创建专业且富有影响力的图表的最佳实践。
本周的系统设计复习:
-
JWT 简单解释
-
API 设计的 5 大支柱
-
计算机内存如何工作?
-
你必须知道的 Kubernetes 扩展策略
-
正在招聘:顶级人工智能初创公司和人工智能职位
-
赞助我们
JWT 简单解释
JWT,即 JSON Web Tokens,是一种在双方之间安全传输信息的开放标准,广泛用于身份验证和授权。
JWT 由三个主要组件组成:
-
标题
每个 JWT 都带有一个标头,指定用于签名 JWT 的算法。它以 JSON 格式编写。 -
有效载荷
有效载荷由声明和用户数据组成。声明分为多种类型,例如注册声明、公开声明和私有声明。 -
签名
签名是确保 JWT 安全的关键。它通过对编码后的标头、编码后的有效负载、密钥和算法进行签名来创建。
JWT 可以通过两种不同的方式签名:
-
对称签名
它使用同一个密钥来签名和验证令牌。签名 JWT 的服务器和验证 JWT 的系统必须共享同一个密钥。 -
非对称签名
在这种情况下,私钥用于对令牌进行签名,公钥用于验证令牌。私钥安全地保存在服务器上,而公钥可以分发给任何需要验证令牌的人。
交给你:你使用 JWT 进行身份验证吗?
API 设计的 5 大支柱
API 是现代系统的支柱。但以正确的方式设计它们也很重要。
以下是开发人员在设计 API 时应考虑的一些事项
-
界面
API 设计关注的是定义 API 的输入和输出。例如,定义如何将 CRUD 操作暴露给用户或客户端。 -
API范例
API 可以按照不同的范式构建,每种范式都有各自的协议和标准。一些选项包括 REST、GraphQL 和 gRPC。 -
API 中的关系
API 通常需要在各个实体之间建立关联。例如,一个用户可能有多个与其账户相关的订单。为了提供更好的用户体验,API 端点应该反映这些关联。 -
版本控制
修改 API 端点时,正确的版本控制和支持向后兼容性非常重要。 -
速率限制
速率限制用于控制用户在一定时间段内对 API 的请求数量。这对于维护 API 的可靠性和可用性至关重要。
交给你:你会将哪些其他 API 设计原则添加到列表中?
计算机内存如何工作?
这是一个简单的分解,显示了数据如何在系统中从输入到处理再到存储的移动。
-
数据通过键盘、鼠标、摄像头或远程系统等输入源输入。
-
永久存储用于保存您的系统文件、应用程序和媒体。这包括硬盘驱动器、USB 驱动器、ROM/BIOS 和基于网络的存储。
-
RAM 是计算机的工作空间。它包括物理内存和虚拟内存,用于在您使用数据和程序时临时存储它们。
-
缓存靠近 CPU,分为 1 级和 2 级。它有助于加快对常用数据的访问。
-
CPU 寄存器是速度最快、最小的内存单元。处理器直接使用它们来几乎立即执行指令。
内存金字塔越高,存储速度越快,体积越小。
交给您:您还会添加什么内容来加深对计算机内存工作原理的理解?
你必须知道的 Kubernetes 扩展策略
-
水平 Pod 自动伸缩或 HPA
Horizontal Pod Autoscaler 根据观察到的 CPU 利用率、内存使用情况或自定义指标自动扩展 Deployment、ReplicaSet 或 StatefulSet 中的 Pod 数量。 -
垂直 Pod 自动缩放或 VPA
根据应用程序需求,VPA 会调整分配给各个 Pod 的资源,例如 CPU 和内存。这种方法会根据工作负载指标动态更改 Pod 资源设置。 -
集群自动伸缩
Cluster Autoscaler 会自动调整 Kubernetes 集群中的节点数量。它会根据需求与云提供商交互,添加或删除节点。这对于维护集群的平衡至关重要。 -
预测性自动扩展
预测性自动扩展使用机器学习来预测未来的资源需求。它可以帮助 Kubernetes 通过预测工作负载需求来调整资源。
交给你:你会将哪些其他 Kubernetes 扩展策略添加到列表中?
现正招聘:技术职位
过去 12 小时内开放的热门机器学习职位
-
Cash App 承保与信贷高级机器学习工程师(建模)
-
罗氏公司高级首席机器学习工程师
-
MD 安德森癌症中心高级机器学习工程师
-
Palo Alto Networks 高级首席机器学习工程师 (GenAI/LLM)
-
Adobe 高级机器学习工程师
-
Peraton 的AI/机器学习分析师主管
本周高增长人工智能初创公司的高影响力职位
-
Luma AI 数据基础设施软件工程师
-
CoreWeave 计算服务高级软件工程师
-
Typeface 高级前端工程师
-
Fireworks AI 的Web 应用程序高级/首席软件工程师
-
Otter.ai iOS 高级软件工程师
-
ClickHouse 安全软件工程师
-
Plus 运行时高级/高级软件工程师
-
Invisible AI 高级全栈工程师
本周高薪通用软件工程师职位
-
NVIDIA 首席平台软件工程师 – OpenBMC 平台架构师
-
Harvey 工程总监兼现场负责人
-
West Monroe 软件工程总经理
-
TikTok 技术主管后端软件工程师
-
Snowflake AI ML 应用现场工程高级经理
-
Tenstorrent 高级销售工程师
-
Salesforce 的软件工程 PMTS
-
Anthropic 模型上下文协议软件工程师
赞助我们
将您的产品展示给超过 1,000,000 名技术专业人士。
我们的时事通讯将您的产品和服务直接呈现给重要的受众——数十万工程领导和高级工程师——他们对重大技术决策和大宗采购有影响力。
房间很快订满 – 立即预订
广告位通常提前4周左右售罄。为了确保您的广告能够触达这些极具影响力的受众,请立即发送电子邮件至[email protected]预订您的广告位。
原文: https://blog.bytebytego.com/p/ep164-jwt-simply-explained