簡體   English   中英

Spring 引導微服務嵌入式 tomcat 與外部 tomcat

[英]Spring Boot microservices Embedded tomcat vs External tomcat

I am building microservices(approx 15 to microservices) project for huge organization, I wants to know is it recommended to go for external tomcat with war file or just use the embedded tomcat of spring boot with jar file. 在 jenkins 上構建我的項目后,我也面臨問題如何將文件從 jekins 服務器復制到我的服務器並在那里運行文件並創建和自動構建和部署管道,即每次我推送代碼時它應該自動部署。

您需要確定是什么迫使您使用 go 進行外部 tomcat 部署。 由於 SpringBoot 提供了在容器內部署的開箱即用工具,因此對於外部 tomcat 部署,不需要 go。

此外,如果您要使用許多微服務,最好使用帶有嵌入式 tomcat 的內置 springboot。 Springboot 還提供了使用 undertow 或 jetty 的工具。 我建議將 SpringBoot 與嵌入式 tomcat 或與 docker 容器一起使用,以獲得更大的靈活性。

如果您提供您面臨的問題,那將是一件好事。 您可以查看以下鏈接以供參考。 https://dzone.com/articles/spring-boot-with-external-tomcat

直到今天我才鼓勵公司使用 Spring 引導並部署在外部 Tomcat 中。

如果您的基礎設施部門沒有要求,我會使用 go 和嵌入式 tomcat。

JARs 與戰爭

我認為兩者都有其用例,例如汽車與卡車。

開始使用jar文件肯定更容易,它是開箱即用的。 但是,在 tomcat 中使用war文件也有一些好處:

  • 您可以使用“管理器”UI 輕松更新/重新部署 web 應用程序
  • 您可以監視服務器狀態,檢查會話,基本上可以看看幕后
  • 您可以獨立部署/更新多個戰爭,這對於大型項目可能很方便

...但是設置起來肯定有一些學習曲線,而且感覺有點...老了。 因此,如果您想要一個簡單的“罐車”或整個“servlet 集裝箱卡車”,這取決於您。 ...或者您也可以擁有多輛汽車。 ;) 每個人都有起起落落。

管道

與任何其他主題一樣,有很多不同的方法可以實現這一目標。 如果您使用外部 tomcat,您可以配置“腳本”用戶並像這樣(或類似)部署它:

curl -u username:pwd -d path=/something -d war=file:target/someWar.war https://someurl.com/manager/deploy

...或者您可以反過來創建 go 並創建 Docker 映像或 cloud-init VM 或其他任何東西。 或者只是一個 shell 腳本來遠程停止它,上傳並啟動它。

根據您的情況,您的隊友等的專業知識可能會更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM