2016-02-16 79 views
1

我是Jboss的新手,想知道微服務架構是否是JBOSS的正確選擇。我無法更改應用程序服務器,因爲它是由客戶端架構師決定的,我別無選擇。 想知道我們是否可以開發底層JBOSS應用服務器的微服務。JBOSS的微服務

我明白春天開機自帶嵌入式Tomcat容器,這使得它的靈活性,以停止和啓動,在不影響其他服務部署個性化的服務。但是,這種架構是否也適用於JBoss。

請建議。

感謝,

回答

0

通過定義微服務是什麼,然後在概念上是的。微服務是一個獨立單元的服務,可以獨立部署,更新和取消部署,而不影響應用程序的任何不相關部分。因此,這意味着有多個JBoss MS實例和應用程序通過某種網關或任何其他機制調用它們,具體取決於您的用例。如果您打算將所有MS部署在同一個JBoss實例中,那麼它就會打敗MS的目的。鑑於此,JBoss不會成爲MS部署的正確選擇,因爲它只會讓您的MS部署基礎架構變得非常沉重。

根據客戶的需求是什麼,你可能可能讓你的web應用程序在JBoss和單獨部署MS容器。

+0

感謝您的一個很好的解釋。你的意思是「你可以將你的webapp保存在JBoss中,並單獨部署你的MS容器。」 – user2585494

+0

事實上,你正在考慮MS,我相信你已經確定了他們提供的功能範圍。所以我的意思是說,這些單獨的服務可以像Spring庫或Dropwizard一樣使用像庫一樣的自包含MS,而您的前端服務器仍然保留JBoss。您還應該首先評估MS是否真的適合您。 – User2709

+0

謝謝。今天我做了一些關於使用彈簧引導的微服務的研究。然而,我無法在任何地方將彈簧引導應用程序部署到jboss中。你能指導我任何有用的鏈接/參考請。 – user2585494

0

這取決於你想從微服務中獲得什麼。

我公司的一些開發人員在Spring Boot中看過,但得出結論,最好是作爲一個獨立的容器而不是JBoss運行,否則你實際上有兩個容器框架競爭(SB和JBoss)和範圍的相關問題。

在JBoss中部署微服務不會給你同樣的靈活性,作爲一個真正的容器系統,如碼頭工人。使用Docker,您可以爲包含所有代碼,系統工具,運行時環境等的微服務創建獨立包。它可以像需要的那樣小或大。另一方面,JBoss是一個運行單個JVM的大容器,可容納多個應用程序。隔離級別並不相同,將JBoss作爲單個微服務的容器效率不高,因此您必須適當調整大小,然後部署到實例以利用其可用資源。

如果您正在尋找微服務來獲得對服務生命週期管理(部署,版本控制,廢棄等)的更好控制,而不是像Netflix或LinkedIn這樣的自動化Web規模組件部署模型,你可以用JBoss做到這一點。

我實際上正在尋找這方面的工作。它不是真正的微服務,而是通過打包和部署單獨的,適當版本化的API而不是單一的應用程序,並遵循大多數微服務開發的其他原則(組件化,業務功能焦點,無狀態等),我們希望能夠更好地管理並受益於我們的API。

我們的API都將是後面的API網關和負載平衡器,所以我們可以選擇如何分配在整個JBoss的實例和平衡資源使用分配的microserves的要求。請注意,我們的組織相對較小,流量相對較低且可預測,因此此方法應該可以正常工作。但您的需求可能會有所不同。

0

我實際上開發了一個可行性研究來調查你提到的解決方案。我的結論是,在JBoss平臺中使用微服務原則是完全可行的。

我使用JBoss的\春季啓動\ Netflix公司的結合,創造出成功的科技服務棧,我個人不認爲找到了解決交易問題(多科技服務合作),將風扇出的問題,其造成的,因爲過多的網絡通信和串行化成本。

我也寫了一篇關於這個主題的博客,如果你願意,你可以在這裏找到更多的細節,這裏是鏈接。

Micro Services – Fan Out, Transaction Problems and Solutions with Spring Boot/JBoss and Netflix Eureka