根據這個答案https://stackoverflow.com/a/41811770/2849613我想了解更多有關Heroku上的微服務最佳實踐的信息。Heroku負載平衡器vs Netflix zuul
問題是哪種方法更好?
- 安裝每個服務作爲獨立的應用程序,並使用其中之一作爲REST「代理」(例如Netflix Eureka)?
或者
- 創建具有基於搬運工方法,例如Netflix的Zuul作爲負載平衡器?
優點:更好的擴展性(容易創造更大的負荷新機器)。 缺點:服務之間的通信變得「在heroku之外」換句話說:因爲heroku應用程序具有公共地址,所有人都可以直接連接到服務(無需拋出Eureka),因爲每個服務都需要提供一些身份驗證方法並共享它彼此之間 - 我認爲這是風險。
優點:容易重現生產環境的測試和開發(泊塢窗圖像),服務之間的通信進行「內部」(圖片圖像,而不是應用程序)。 缺點:難以擴展(我認爲Heroku應用程序和Docker鏡像之間的負載平衡有點花銷)。
在我自己我已經看到這兩種方法的優點和缺點:
哪種方法更好?也許我可以把它們混合在一起?或者也許有一些不同的更好的解決方案?
難道說實話,我敢肯定的唯一事情,就是我想用RabbitMQ的一個消息隊列...