簡體   English   中英

Ruby on Rails 應用程序中的 PgBouncer 和咨詢鎖

[英]PgBouncer in Ruby on Rails app and advisory locks

我一直在多個應用程序中廣泛使用咨詢鎖,現在,由於數據庫連接數量龐大,我正在考慮引入一個連接池。 我正在考慮將 pgbouncer 與事務 pool_mode 一起使用,並且從最初的研究來看,並非一切都清楚。

所以咨詢鎖是基於會話的特性,它不適用於事務池模式。 這也是在 Ruby on Rails 中運行遷移問題的常見來源,也是為什么在 Rails 6 中可以禁用咨詢鎖來解決遷移問題的原因之一。 另一方面,還有事務級鎖,它可能在事務池模式下工作得很好。 然而,這似乎不符合一般建議,即您不應該對 pgbouncer 使用咨詢鎖,甚至在 Rails 中,它要么是基於會話的咨詢鎖,要么根本不用於遷移(盡管這由於可以禁用每次遷移的事務,因此可以做出決定,因此有點令人困惑。

所以我想知道事務級咨詢鎖是否只適用於 pgbouncer 還是我應該尋找一些替代方案?

提前感謝您的回答。

任何在交易結束后無法存活的東西都可以在 pgBouncer 的交易池模式中使用。

所以我認為使用事務級咨詢鎖沒有問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM