Prisma Accelerate 的已知限制
以下是使用 Accelerate 時已知的限制描述。如果您遇到任何其他限制,請透過 Discord 與我們分享。
無法快取原始查詢
目前,無法快取原始查詢的響應。
不相容 fluent API
客戶端擴充套件(在 Accelerate 中使用)目前無法正確轉發 fluent 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:password@192.168.1.100:27017/db_name - DNS 記錄連線字串(支援):
mongodb://user:password@my-database.example.com:27017/db_name
有關 Accelerate 的 IPv6 優先設計的更多詳細資訊,請參閱我們的部落格文章。