我在写一个使用ActiveRecord的Adhearsion组件。问题是组件可能会运行几分钟(通话的长度)。在那段时间内,组件有一个ActiveRecord对象作为实例变量。该对象使用连接池中的一个数据库连接。根据呼叫者的数量,连接池可能会被提前耗尽。在通话过程中数据会被保存多次,但不需要立即可用。虽然使用ActiveRecord非常方便,但并不需要。我可以想象几种解决方案,并希望征求社区的意见,提示和替代解决方案:ActiveRecord连接池的方法
- 有一个非常大的连接池(> 1000个连接)。
- 每当我的ActiveRecord对象发生变化时,声明并释放数据库连接。不知道该怎么做,代码示例将不胜感激。
- 将数据写入日志文件,该日志文件定期导入到数据库中。
- 在单独的服务器进程上设置Web服务,该进程通过HTTP请求接受数据并将其写入数据库。
- 使用数据发送到的消息队列。工作人员将数据导入数据库。
我不喜欢需要外部软件运行(消息队列,Web服务)的解决方案。
您试图实现多少个并发活动呼叫? – eric 2010-09-25 00:56:22