已知限制
以下說明使用 Accelerate 時的已知限制。如果您遇到任何其他限制,請透過 Discord 與我們分享。
無法快取原始查詢
目前,無法快取 原始查詢 的回應。
與 Fluent API 不相容
用戶端擴充功能(Accelerate 中使用)目前無法正確轉發 Fluent API 類型。我們希望很快能在用戶端擴充功能中修復此問題。
與極度繁重或長時間執行的查詢不相容
Accelerate 旨在與高效能、低延遲的查詢一起運作。它不適用於可能導致效能問題或資源競爭的極度繁重或長時間執行的查詢。雖然限制是可配置的,但我們建議您最佳化查詢,以確保它們符合建議的指南。
對於無法最佳化或縮減的查詢,我們建議以下兩種解決方案之一
-
使用讀取副本擴充功能:Prisma ORM 讀取副本擴充功能 允許您設定兩個不同的連線:
primary
和replica
。您可以將您的 Accelerate 連線設定為primary
,然後將直接連線設定為replica
。任何資源密集型或長時間執行的查詢都可以路由到replica
,而primary
(您的 Accelerate 連線)將處理一般查詢。請注意,此解決方案需要您設定直接連線,並且需要完整的產生的 Prisma Client(即不含--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 優先設計的更多詳細資訊,請參閱我們的部落格文章。