2.4.1 服務裝配:打包和部署微服務


從DevOps的角度來看,微服務架構背后的一個關鍵概念是可以快速部署微服務的多個實例,以應對變化的應用程序環境(如用戶請求的突然涌入、基礎設施內部的問題等)。
為了實現這一點,微服務需要作為帶有所有依賴項的單個制品進行打包和安裝,然后可以將這個制品部署到安裝了Java JDK的任何服務器上。這些依賴項還包括承載微服務的運行時引擎(如HTTP服務器或應用程序容器)。
這種持續構建、打包和部署的過程就是服務裝配(圖2-6中的步驟1)。圖2-7展示了有關服務裝配步驟的其他詳細信息。
幸運的是,幾乎所有的Java微服務框架都包含可以使用代碼進行打包和部署的運行時引擎。例如,在圖2-7中的Spring Boot示例中,可以使用Maven和Spring Boot構建一個可執行的Java JAR文件,該文件具有嵌入式的Tomcat引擎內置於其中。以下命令行示例將構建許可證服務作為可執行JAR,然后從命令行啟動JAR文件:
 
  1. mvn clean package && java ¨Cjar target/licensing-service-0.0.1-SNAPSHOT.jar 
 
對某些運維團隊來說,將運行時環境嵌入JAR文件中的理念是他們在部署應用程序時的重大轉變。在傳統的J2EE企業組織中,應用程序是被部署到應用程序服務器的。該模型意味着應用程序服務器本身是一個實體,並且通常由一個系統管理員團隊進行管理,這些管理員管理服務器的配置,而與被部署的應用程序無關。
在部署過程中,應用程序服務器的配置與應用程序之間的分離可能會引入故障點,因為在許多組織中,應用程序服務器的配置不受源控制,並且通過用戶界面和本地管理腳本組合的方式進行管理。這非常容易在應用程序服務器環境中發生配置漂移,並突然導致表面上看起來是隨機中斷的情況。
將運行時引擎嵌入可部署制品中的做法消除了許多配置漂移的可能性。它還允許將整個制品置於源代碼控制之下,並允許應用程序團隊更好地思考他們的應用程序是如何構建和部署的。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM