构建 API 时最常见的影响性错误调查
构建 API 服务器时,无论使用何种技术,您都会面临一系列基本问题。大多数问题都可以避免,但我仍然看到拥有数十年经验的专业工程师年复一年地在同样的战斗中挣扎。
让我们一起走进数据库性能性能陷阱的花园。我们将讨论您可能会犯哪些错误、如何发现这些错误、如何解决这些错误以及我们是否可以采取预防措施。
错误 #1:查询不变的信息
当我构建 时,我必须允许用户发送地址。由于他们的数据很乱,有时他们会发送 ISO 国家代码,或者可能是国家名称,也可能是别名。我可以处理这个问题,因为 GitHub 上有很多具有宽松许可证的 贷款数据库性能,但最终我选择付费购买
要更改,我们会在每月的应用程序部署期间发送 SQL 脚本来添加新记录。
我的 C# API 服务器不是查询数据库性能中的表,而是将这些数据保存在单例中。它会在输入或输出时查找正确的名称。数据只占用几千字节,为了方便起见,我有多个散列的不区分大小写的字典。
您可能有几十个这样的静态数据集。查找数据集、原因代码、配置标志 — 将它们存储在静态单例中!如果您忘记了,您可能会发现您的系统每秒对永远不会改变的数据进行数千次不必要的查询。
错误#2:状态页面检查过度使用数据库性能
您的 API 服务器需要一个健康检查系统。它可以是 工业品牌战略 页面或 API,但它应该执行一系列基本功能测试,以确保机器正常运行。典型的测试包括:
- 我有正确的配置文件吗?
- 我是否可以联系我需要的外部服务,或者是否有防火墙阻止我?
- 我的服务器是否以正确的凭据和权限运行?
- 我的数据库连接字符串有效吗?
这些类型的状态检查对于启动作为自动扩展组一部分的服务器或使用容器化启动模板是必不可少的。
沙特电话号码 在部署服务器之前彻底测试所有内容非常重要 – 启动缺少数据库连接字符串的机器将是一场灾难。
下一步是让我的 API 服务器在启动时加载这些数据。代码不必太复杂——这里有一些类似 C# 的伪代码,大致显示了如何使其工作: