我正在使用Netty和MySql构建一个服务器。当客户端连接到服务器时,有时(并非总是)服务器必须查询MySql才能响应。我想我可以通过以下方法之一来查询MySql安全性:
1)对访问MySql的代码使用同步块。对我来说,这是最简单的方法。然而,我担心阻塞i/o线程(用于向客户端读/写数据的线程)是否是一个好主意。
2)使用异步连接器库(如async- MySql - MySql )查询MySql,而不阻塞i/o线程。
3)使用Netty的内置函数访问MySql。但是,我不知道哪些函数对我的情况有用
有人能给我一些建议吗?非常感谢
我在Goliath (事件机)下使用activerecord和em_mysql2。最奇怪的事情发生在我的用户模型上。当我第一次向/users发布一篇文章时,所有的工作都会如愿以偿。当我做第二篇文章时,我会得到一个错误。
Mysql2::Error: This connection is still waiting for a result, try again once you have the result: INSERT INTO `users` (... and so on ...)
我的任何其他型号或路线都不会发生这种情况。我假设,如果db连接处于混乱状态,我将在其他请求上看到相同的错