终于把客户端的 io 问题和 jdbc 的异步或同步 api 问题完美解决了:

数据库一般部署在内网,bio +专有 tcp 连接解决了80%的场景需求(中低并发低延迟),另外15%的需求通过 nio +专有 tcp 连接解决(高并发但 jdbc 连接数有限制),最后5%的需求通过 nio +共享 tcp 连接解决(高并发且 jdbc 连接数无限制)。

lealone 的默认配置是 bio + 专有 tcp 连接,当应用调用异步 jdbc api 时自动切换到 nio +专有 tcp 连接,当专有 tcp 连接数超过一个阈值时,通常是客户端 cpu 核数的数倍,新创建的 tcp 连接自动使用共享模式,此时在这条共享连接上调用同步或异步 jdbc api 都会委托给客户端调度器线程执行,不再是应用的线程。

Reply to this note

Please Login to reply.

Discussion

No replies yet.