繁体   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