微服務實踐

什麼是微服務

微服務的兩個核心:nginx

  • 微:服務粒度更細,即服務要細到API
  • 服務:提供好服務,讓服務好用

總結以上兩點,來看這張圖:docker

輸入圖片說明

從圖能夠看出,微服務很簡單,好的架構就應該簡單,咱們將服務拆API,每一個服務服務於一個完整的功能。安全

咱們將全部API扔到「雲上」,用戶經過鏈接「雲」獲取全部服務,「雲」保證了更好的服務。架構

因此作好微服務,「雲」是關鍵。併發

微服務的實現

輸入圖片說明

由圖可知,微服務的關鍵是服務網關。負載均衡

微服務特色

服務須要細化成API:框架

  • 每一個服務由一組API組成
  • 以API形式對外提供統一格式的服務
  • 使用者可直接使用HTTP
  • API服務須要保證安全可靠

微服務解決的問題:運維

  • 統一入口
  • 安全控制:放刷限流
  • 統一鑑權:應用鑑權,用戶鑑權,OAuth鑑權,ACL
  • 協議轉換:http,dubbo,protobuf
  • API配置管理
  • API上線,下線
  • API與服務接口映射
  • 監控與報警
  • 總體架構可擴展,高併發,分佈式
  • 服務容器自動收縮,擴容

方案

輸入圖片說明

  • 負載均衡:nginx/lvs/f5
  • 微服務層:高性能服務網關,統一入口,API配置管理,分流鑑權,服務監控,協議轉換
  • 服務治理層:成熟的服務治理框架dubbo,MQ服務之間解耦
  • 彈性雲:服務docker化,基於訪問壓力的實時集羣調度與管理

彈性雲

彈性雲能夠保證提供更好的服務,這對運維有很高的要求。這裏的彈性雲是自動化運維解決方案,對訪問壓力進行監控,根據監控解決調度應用和發佈回收。 輸入圖片說明分佈式