繁体   English   中英

如何将Java连接池用于MySQL X DevAPI?

[英]How do you use Java connection pooling for MySQL X DevAPI?

我一直在探索Spring下一版本中对非阻塞异步反应式Web应用程序的支持。 令我惊讶的是,大多数应用程序倾向于与关系数据库进行交互。 因此,只要JDBC是一个同步阻止API,并且所有主要的关系数据库甚至都缺少专有的异步驱动程序,那么整个反应式事物可能仍会超前。

然后,几乎是偶然地,我发现MySQL的最新版本支持称为“ X DevAPI ”的东西,该东西包含在当前的MySQL JDBC驱动程序中(尽管它是JDBC规范之外的附加类)。

我还没有听说过有关X DevAPI的夸夸其谈,而且几乎没有什么文档似乎强调了将MongoDB替换为文档存储的用例。 但是,该库还具有以非阻塞异步方式访问MySQL关系数据库的功能。

不幸的是,唯一的文档示例是基本的“ Hello World”用例。 static void main方法从头开始建立一个新的MySQL X会话,并在最后将其关闭。

我很好奇这个新的API是否已准备好用于更实际的使用。 具体来说,是否有对连接池的支持? 是通过第三方库,还是通过没有充分记录的东西对MySQL库而言是本地的?

还是我可能会在这里遗漏一些基本知识,而根本不需要连接池,因为X DevAPI是在底层进行多路复用的?

根据文档 ,将有两种类型的会话:

尽管当前版本的MySQL X支持连接到单个节点的XSession,但是以后的版本可能会将其扩展为涵盖多个节点。 使用XSession的应用程序已准备好进行缩放:更改一些连接参数,并通过更改代码来完成。

  • NodeSession。 由于XSession仅提供sql函数的子集,因此应该有一种执行原始sql的方法。 SQL是全状态的,NodeSession也是如此。

使用NodeSession的应用程序建立到各个节点的连接。 为了使用NodeSession扩展应用程序,您必须尽可能地用XSession代替NodeSession的使用。

X协议需要安装X插件,因此您可以使用Java中的X DevApi检查示例存储库中的docker使用情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM