已知限制
以下是使用 Accelerate 时已知限制的描述。如果您遇到任何其他限制,请通过 Discord 与我们分享。
无法缓存原始查询
目前,无法缓存 原始查询 的响应。
与流畅 API 不兼容
客户端扩展(在 Accelerate 中使用)目前无法正确转发 流畅 API 类型。我们希望尽快在客户端扩展中修复此问题。
与极其繁重或长时间运行的查询不兼容
Accelerate 旨在与高性能、低延迟查询一起使用。它不适用于可能导致性能问题或资源争用的极其繁重或长时间运行的查询。虽然限制是可配置的,但我们建议优化您的查询,以确保它们符合建议的准则。
对于无法优化或缩减的查询,我们推荐以下两种解决方案之一
-
使用读取副本扩展:Prisma ORM 读取副本扩展 允许您设置两个不同的连接:
primary
和replica
。您可以将您的 Accelerate 连接设置为primary
,然后将直接连接设置为replica
。任何资源密集型或长时间运行的查询都可以路由到replica
,而primary
(您的 Accelerate 连接)将处理正常查询。 请注意,此解决方案要求您同时设置直接连接,并且需要完整的生成的 Prisma 客户端(即不带--no-engine
)。 -
分离分析查询:我们首选的解决方案是将您的分析查询分离到一个单独的应用程序中。然后,这个单独的应用程序可以使用直接连接,以便它可以运行繁重的查询,而不会影响您的 Accelerate 驱动的应用程序的性能或成本。
如果您有需要运行极其繁重或长时间运行的查询以及 Prisma Accelerate 的用例,请联系我们。
与 MongoDB 连接字符串中的直接 IPv4 地址不兼容
Accelerate 不支持 MongoDB 连接字符串中的直接 IPv4 地址。当提供 IPv4 地址时,Accelerate 会将其转换为 IPv6 格式以通过其 NAT 网关进行路由。由于端口值的格式,此转换可能会导致连接字符串被视为无效。
解决方法:要解决此问题,请创建一个指向您的 IPv4 地址的 DNS 记录,并在您的连接字符串中使用该 DNS 记录,而不是直接 IP。
示例
- IPv4 连接字符串(不支持):
mongodb://user:[email protected]:27017/db_name
- DNS 记录连接字符串(支持):
mongodb://user:[email protected]:27017/db_name
有关 Accelerate 的 IPv6 优先设计的更多详细信息,请参阅我们的 博客文章。