什麼是微服務
微服務的兩個核心: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化,基於訪問壓力的實時集羣調度與管理
彈性雲
彈性雲能夠保證提供更好的服務,這對運維有很高的要求。這裏的彈性雲是自動化運維解決方案,對訪問壓力進行監控,根據監控解決調度應用和發佈回收。 分佈式