我在寫一個使用ActiveRecord的Adhearsion組件。問題是組件可能會運行幾分鐘(通話的長度)。在那段時間內,組件有一個ActiveRecord對象作爲實例變量。該對象使用連接池中的一個數據庫連接。根據呼叫者的數量,連接池可能會被提前耗盡。在通話過程中數據會被保存多次,但不需要立即可用。雖然使用ActiveRecord非常方便,但並不需要。我可以想象幾種解決方案,並希望徵求社區的意見,提示和替代解決方案:ActiveRecord連接池的方法
- 有一個非常大的連接池(> 1000個連接)。
- 每當我的ActiveRecord對象發生變化時,聲明並釋放數據庫連接。不知道該怎麼做,代碼示例將不勝感激。
- 將數據寫入日誌文件,該日誌文件定期導入到數據庫中。
- 在單獨的服務器進程上設置Web服務,該進程通過HTTP請求接受數據並將其寫入數據庫。
- 使用數據發送到的消息隊列。工作人員將數據導入數據庫。
我不喜歡需要外部軟件運行(消息隊列,Web服務)的解決方案。
您試圖實現多少個併發活動呼叫? – eric 2010-09-25 00:56:22