簡體   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