什麼是 Fuse?



JBoss Fuse 是 Redhat 的一個開源 ESB 解決方案。它是一個基於社群專案 Apache Servicemix 的企業級解決方案。

整合到 Fuse

JBoss Fuse 是一個輕量級且靈活的整合平臺,它允許快速整合企業應用程式。

Fuse 最初由 Progressive Software Inc. 開發,該公司於 2012 年被 Redhat 收購。JBoss Fuse 6.1.0.redhat-379 GA 是 Fuse 的穩定版本,可以從其官方網站下載。

架構

Fuse 將各種技術組合成一個單一產品。

Architecture

元件

Apache CXF

Apache CXF 是一個開源的 Web 服務開發框架,它也支援 SOAP 和 REST Web 服務的開發。

Apache Camel

Apache Camel 是一個基於 EIP 的整合框架。EIP 或企業整合模式是針對企業整合中反覆出現的問題的已識別解決方案。透過組合這些預定義的開箱即用模式,可以快速實現完整的整合解決方案。

它允許使用多種領域特定語言(如 Java、Spring DSL 和 Scala 等)編寫路由邏輯。

Apache AMQ

Apache AMQ 是一個 JMS,它根據 JMS 標準提供可靠的訊息傳遞系統。它不僅支援 JMS 規範,還提供一些 JMS 規範中未包含的令人興奮且有用的功能。

Apache Karaf

Apache Karaf 是一個輕量級的 OSGi 容器,充當工件的執行時。與 JVM 相比,Apache Karaf 具有更強的動態特性。它允許在執行時安裝或解除安裝模組。Fuse 中的所有工件都部署在 Karaf 中。

Fabric

Fabric 提供了一種簡單的方法來管理大型分散式環境中工件的部署。它為所有多個 Fuse 例項提供集中式管理。

安裝 Fuse

安裝 Fuse 非常簡單。與其他 JBoss 產品一樣,Fuse 以 zip 檔案的形式提供,可以解壓縮,並且在進行一些小的配置更改後,可以直接啟動。

安裝 Fuse 是一個四步過程:

下載

從以下連結下載 Fuse 6.1.0 GA:https://www.jboss.org/

解壓縮

與所有其他 JBoss 產品一樣,Fuse 也是一個平臺無關的 zip 檔案。

將下載的檔案解壓縮到您希望作為 Fuse 安裝目錄的目標目錄中。明智地選擇此目錄,因為在 Fuse 例項的整個生命週期中,它應該保持不變。

注意 - 即使 Fuse 像其他 JBoss 產品一樣解壓縮和啟動,也不建議在安裝完成後將 Fuse 安裝從一個位置移動到另一個位置。

配置

解壓縮 Fuse 後,您將在解壓縮的目錄中找到以下目錄:

  • bin
  • etc
  • deploy
  • lib
  • licenses
  • extras
  • quickstarts

其中我們只使用兩個目錄binetc

實際上,在提取 Fuse 後,我們應該能夠直接啟動 Fuse,但這將使用所有預設配置啟動 Fuse,這對於生產環境來說是不明智的。強烈建議在啟動 Fuse 之前進行以下更改。

設定環境變數

  • 設定以下環境變數:JAVA_HOME

  • 該變數應指向 Java 安裝目錄:M2_HOME

  • 該變數應指向 Maven 安裝目錄:PATH

  • 設定路徑變數以包含 Java 和 Maven 可執行檔案。

Windows

在 Windows 上,可以透過遵循以下說明進行設定:

開始 → 我的電腦 → 右鍵單擊 → 屬性 → 高階系統設定 → 環境變數。

UNIX 和克隆

對於每個使用者,在*nix 作業系統中都有一個 bash 配置檔案。我們可以透過更改此檔案來新增或編輯現有的系統變數。

$ vi ~/.bash_proflle

注意 - 此檔案中的任何更改都是永久性的。強烈建議在更改原始檔案之前備份現有檔案。

基本配置

我們將討論 JBoss Fuse 的基本配置,為此,我們必須從以下命令開始編輯 $FUSE_INSTALLATION_DIR/etc/

  • user.properties

    • #admin=admin,admin

    • 這需要根據我們想要的第一個管理員使用者名稱進行更改,第二個管理員密碼,第三個可以保持原樣,因為它表示角色,並且不要忘記刪除 #

    • 例如 – FuseAdmin = FusePAss,admin

Basic Configuration
  • System.properties

    • karafName = root

      • 這表示您要賦予 Karaf 例項的名稱。

      • 我們可以將其命名為任何我們想要的名稱,例如 Cont1。

      • 確保您提供的名稱是唯一的名稱,並且尚未被 Fuse 的另一個例項使用。

  • org.ops4j.pax.web.cfg

    • Org.osgi.service.http.port = 8181

    • 此屬性表示用於訪問 Fuse 提供的基於瀏覽器的介面 HAWTIO 的埠

    • HAWTIO 是 Fuse 的內建瀏覽器介面,從 6.0 版開始可用

  • org.ops4j.pax.url.mvn.cfg

    • org.ops4j.pax.url.mvn.localRepository = D:/repository

    • 此屬性表示 Maven 本地儲存庫的路徑,Fuse 將從中安裝其工件。

    • org.ops4j.pax.url.mvn.settings = D:/Maven/conf/settings.xml

    • 此屬性表示 Fuse 應用來從 Maven 獲取工件的 settings.xml。

配置 Maven

Maven 是安裝 Fuse 的先決條件。如果您不知道 Maven 是什麼,請參閱https://tutorialspoint.tw/maven/

Maven 是一個用於構建 Fuse 工件的構建工具。當我們發出安裝工件的命令時,Fuse 首先在 Maven 本地儲存庫中搜索工件。因此,我們必須讓 Fuse 知道 Maven 安裝在哪裡以及 Maven 本地儲存庫的路徑。

編輯 $FUSE_INSTALLATION_DIR/etc/org.ops4j.paxurl.mvn.cfg

更新以下兩個屬性:

  • org.ops4j.pax.url.mvn.settings = $M2_HOME/conf /settings.xml
  • org.ops4j.pax.url.mvn.localRepository = $local_repo

注意 - 請將$local_repo更改為您在 Maven 的 settings.xml 中提到的本地儲存庫的實際路徑。

執行

完成基本配置更改後,我們現在可以啟動 Fuse 了。所有用於處理 Fuse 的二進位制檔案都位於$FUSE_INSTALLATION_DIR中。

有兩種方法可以啟動 Fuse:

  • 使用./fuse

    • 這將允許您在啟動 Fuse 的同一視窗中檢視所有進度和日誌。

    • 它將在同一終端中為您提供 Karaf 控制檯,如下所示。

注意 - 這將在控制檯模式下啟動 Fuse,這意味著當用戶登出會話或關閉終端時,Fuse 程序也將停止,這在生產或開發場景中是不希望的。此指令碼僅應用於除錯 Fuse。

  • 使用./start

    • 這不會在螢幕上顯示任何日誌,甚至不會顯示進度,但它將在後臺啟動 Fuse,並且當用戶退出會話或關閉終端時,Fuse 服務不會停止。

    • 在現實世界的應用程式中,這種行為是期望的。即使我們關閉終端,Fuse 也應該在後臺執行。

    • 如果要連線到在後臺執行的 Fuse,可以使用位於同一資料夾中的client指令碼。

    • 您應該獲得如下所示的顯示。

    • 退出客戶端指令碼不會停止 Fuse 服務。它只會關閉 Fuse 控制檯。

Configuring Maven

HAWTIO

Fuse 還使用 FMC(Fuse 管理控制檯)提供對其的完整 GUI 訪問。您可以在以下 URL 上找到 GUI:https://:8181

HAWTIO

我們透過執行命令所做的一切也可以透過訪問此基於瀏覽器的 GUI 來完成。當我們有多個容器並且在 Fabric 環境中執行時,它變得非常有用。

廣告

© . All rights reserved.