更新時間:2022-12-23 11:00:48 來源:動力節(jié)點 瀏覽1267次
首先的話,我們要來介紹一下究竟什么是java中間件。
隨著Javaweb開發(fā)的演進和進化,在面對消息系統(tǒng)、數(shù)據(jù)庫、服務(wù)化接口的抽象等等涉及數(shù)據(jù)分離的過程當(dāng)中,在分離過程當(dāng)中,會涉及到分離之后,系統(tǒng)間、數(shù)據(jù)庫間的交互。
java中間件就是處理數(shù)據(jù)交互、連接數(shù)據(jù)分離之后兩個系統(tǒng)間的通信。
中間件不允許任何一個開發(fā)項目。
也就是讓我們對應(yīng)系統(tǒng)間或者是數(shù)據(jù)庫間數(shù)據(jù)流通沒有感知。
有點像Linux下的管道。
在Java web開發(fā)中適用的范圍主要應(yīng)該是下面的3個領(lǐng)域。
1.遠程過程調(diào)用和對象訪問中間件
這個主要的是解決分布式環(huán)境下應(yīng)用的互相訪問問題。
同時,這個也是支撐應(yīng)用服務(wù)化功能的基礎(chǔ)。
就國內(nèi)來說,當(dāng)前遠程服務(wù)框架中間件較多應(yīng)用的是阿里巴巴的開源分布式服務(wù)框架Dubbo。
2.消息隊列中間件
這個主要解決的是應(yīng)用之間的消息傳遞、解耦、異步的問題。
它是一種EDA架構(gòu)。
也就是通過在低耦合的模塊之間傳輸事件消息來完成模塊之間的合作。
在很多大型的網(wǎng)站當(dāng)中,消息隊列采用發(fā)布和訂閱模式。
當(dāng)前,比較常用的消息隊列產(chǎn)品有RabbitMQ、Kafka、Apache的ActiveMQ、RocketMQ等等。
分布式服務(wù)框架和分布式消息隊列是系統(tǒng)模塊化之后主要的兩種聚合方式。
3.數(shù)據(jù)訪問中間件
它主要解決的是應(yīng)用訪問數(shù)據(jù)庫的共性問題的組件 。
舉例說明:
它就是使用數(shù)據(jù)庫指定的數(shù)據(jù)驅(qū)動。
例:ODBC和JDBC。
下面以JDBC作為例子來說明。
數(shù)據(jù)庫本地維護了一個數(shù)據(jù)訪問中間件,那么在對數(shù)據(jù)庫進行訪問的時候,配置的地址,其實是直接連接到JDBC這個數(shù)據(jù)訪問中間件的。
假如,執(zhí)行查詢數(shù)據(jù)又或者是對數(shù)據(jù)庫的操作都是通過JDBC連接數(shù)據(jù)庫,之后,通過JDBC查詢完成數(shù)據(jù)庫過后,再返回給我們應(yīng)用程序。
作為中間件,查詢過程對于我們是不可知的。
相關(guān)閱讀
初級 202925
初級 203221
初級 202629
初級 203743