用Nginx作爲微服務核心

Spring下面提供了完整的微服務核心Enureka、zuul,Herix,從服務註冊、發現、路由、斷路都有。缺點是都是Java平臺的,但大型系統又往往不是單一技術平臺,除了netfix這樣的。(是否可以爲單一技術平臺這裏不討論)。Nginx是最流行的http反向代理,如果作爲微服務組件有什麼優勢劣勢呢?

優勢

  • 本身就是個路由器的功能
  • 可以通過規則把功能路由到不同模塊
  • 高性能,和語言無關
  • 有一定斷路器功能,服務不可用會移除,根據某個地址進行測試。

缺點

  • 缺乏服務註冊發現功能,服務器不能動態增減。
  • 服務規則是靜態的,修改還需要重新加載配置

改進

  • 增加服務註冊發現功能,在反向代理中,可以支持路由到服務而非地址。
  • 註冊發現功能開發各個語言的Api。

給nginx裝上一個服務註冊管理功能,並支持集羣數據共享,這樣nginx的反向代理可以映射到在nginx上註冊的一個服務上並自動輪詢,同時支持故障檢測,又具有跨語言的特性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章