我正在用netflix雲棧開發一個spring引導應用程序。並將每個模塊(微服務)部署在單獨的碼頭容器中。結構如下:這是在多主機網絡上部署springboot雲netflix的正確方法嗎?
- 尤里卡
- Zuul
- 在微服務
- MySQL的
- Angular4 UI
- Keycloak業務邏輯 - 用戶管理和認證
- ELK - 日誌維護
- Hystrix
- 基普金
好了,所以面臨着很多的問題,並在谷歌搜索上我已經部署在下列方式此事花一大堆的網絡帶寬後,我需要知道的是,如果是做正確的方式?
這裏的限制是我已經提供了2個主機來測試這個配置,並且進一步的行動計劃還沒有。
所以這裏是我所做的:我還沒有使用我提到的完整堆棧。
服務器1
尤里卡
Zuul
ELK
服務器2
Keycloak
業務邏輯微服務
MySQL的
Anguar4 UI
尚未配置和使用蝟和基普金呢。 因此,我在Eureka配置了所有需要在Eureka上註冊的微服務的Server1 IP:PORT。 Zuul也同樣如此(考慮到Eureka的IP:PORT)。
在Angular4 UI中,我給出了Zuul部署的URL:PORT,因爲所有的服務都將通過Zuul調用。
這個我明白是正確的,因爲服務需要知道尤里卡在哪裏,休息可以通過尤里卡管理。
現在我的關鍵問題是,因爲MySQL,ELK不能在Eureka上註冊,那麼在任何需要的地方給予IP:PORT和MySQL都是正確的。
與ELK的配置一樣,ELK我的要求是所有的日誌都位於這個共同的地方我已經使用了docker,卷裝,但是我不知道如何在多主機環境下實現這個功能,我只能讓docker把日誌放在外部捲上,然後可能通過URL訪問ELK,還沒有測試過這個配置。
如果是這樣的話,那麼這個配置不是那麼獨立,如果我們認爲它可以自己管理呢?
我已經配置我的碼頭組成使用「network_mode」:主機,因此主機可以完成主機碼頭通信。
所有我需要知道的是,我的配置/體系結構是否適用於多主機環境,以及將來適用於雲環境? 如果不是,請親切指導我改正路徑。
謝謝! p.s.請原諒我的英語和語法,我已經盡最大努力讓自己的知識變得可以理解,如果您需要更多的意見,請指出並提出問題。
其實這個項目會變得很大,目前我處於學習階段,只需要知道如何正確處理這個堆棧,我就有一個Me + 3團隊正在爲此工作。我們計劃在其中引入Kubernetes,但這是第二步,對於部署流水線,我們將使用Jenkins,因此計劃了很多事情,但我希望逐步完成,並通過實際操作來了解每個層。 –
我的建議仍然存在。保持簡單直到你需要引入額外的複雜性。以上所有這些東西都添加了。 – Strelok