跳到主要内容

已知限制

以下是使用 Accelerate 时的已知限制说明。如果您遇到任何其他限制,请通过 Discord 与我们分享。

无法缓存原始查询

目前,无法缓存 原始查询 的响应。

与 fluent API 不兼容

客户端扩展(在 Accelerate 中使用)目前无法正确转发 fluent API 类型。我们希望尽快在客户端扩展中修复此问题。

与极重或长时间运行的查询不兼容

Accelerate 设计用于处理高性能、低延迟的查询。它不适用于可能导致性能问题或资源争用的极重或长时间运行的查询。虽然限制是可配置的,但我们建议优化您的查询,以确保它们符合建议的准则。

对于无法优化或精简的查询,我们推荐两种解决方案之一

  1. 使用读副本扩展:Prisma ORM 读副本扩展 允许您设置两种不同的连接:一个 primary(主库)和一个 replica(副本)。您可以将 Accelerate 连接设置为 primary,然后将直接连接设置为 replica。任何资源密集型或长时间运行的查询都可以路由到 replica,而 primary(您的 Accelerate 连接)将处理普通查询。请注意,此解决方案要求您同时设置直接连接并需要完整的生成的 Prisma Client(即不使用 --no-engine)。

  2. 分离分析查询:我们更推荐的解决方案是将您的分析查询分离到一个单独的应用程序中。这个独立的应用程序可以使用直接连接,这样它就可以运行重型查询,而不会影响由 Accelerate 驱动的应用程序的性能或成本。

如果您有需要同时运行极重或长时间运行的查询以及 Prisma Accelerate 的用例,请联系我们。

与 MongoDB 连接字符串中的直接 IPv4 地址不兼容

Accelerate 不支持 MongoDB 连接字符串中的直接 IPv4 地址。提供 IPv4 地址时,Accelerate 会将其转换为 IPv6 格式,以通过其 NAT 网关路由。这种转换可能会导致连接字符串因端口值的格式而被视为无效。

变通方法:要解决此问题,请创建一个指向您的 IPv4 地址的 DNS 记录,并在您的连接字符串中使用该 DNS 记录,而不是直接 IP。

示例

  • IPv4 连接字符串(不支持):mongodb://user:password@192.168.1.100:27017/db_name
  • DNS 记录连接字符串(支持):mongodb://user:password@my-database.example.com:27017/db_name

有关 Accelerate IPv6 优先设计的更多详细信息,请参阅我们的 博客文章