1.搭建微服務架構的基礎
服務化架構和平台的選擇
2.微服務公共關注點
1)配置管理:對微服務應用的一些可變參數進行配置,這些參數(1)可能是啟動期一次性配置的(例如:資料庫連接配接字元串),(2)也可能是運作期動态配置的(例如:調整緩存過期時間,或者是業務方面的促銷限購的數量)
2)服務發現和LB(負載均衡):
服務發現:服務分布在不同的節點上,服務之間要互相調用,首先要定位,找到對方,微服務架構的一個基本問題
負載均衡:服務一般以多執行個體的方式部署,調用方需要以某種負載均衡政策,去通路目标服務實作
3)彈性和容錯:分布式微服務通過網絡互連,網絡有可能會不穩定,服務執行個體可能會産生延遲,出錯,甚至當機,是以微服務系統必須具備彈性和容錯的能力,才能保障服務品質和使用者體驗。
4)API管理:微服務系統,對外暴露API,一般通過API網關進行管理,網關是微服務的一個大門,需要支援反向路由,安全鑒定,日志監控,和限流容錯等基本功能。進階的網關要支援A/B測試,藍綠和灰階測試等進階功能。
5)服務安全:使用者通路微服務首先需要認證,對某些敏感的服務進行操作還需要鑒權,服務之間調用也需要一定的權限管控。
6)日志監控:服務通路日志,需要進行集中的采集,存儲和分析,友善後續進一步分析服務的性能甚至是使用者的行為。
7)Metrics監控:對微服務的調用,需要進行Metrics埋點監控。Metrics監控既可以對服務的性能(包括調用量,延遲,錯誤數等)進行監控,也可以對一些重要的業務名額(例如:登陸數,下單數)進行監控。
8)調用鍊監控:分布式微服務之間的依賴關系錯綜複雜,通過調用鍊監控能夠實時掌握服務之間的依賴關系和服務之間調用的性能。出現問題的時候,通過分析調用鍊能夠及時排障。
9)排程和釋出:微服務最終是需要釋出到生成環境當中的,目前推薦的微服務互動手段主要是容器雲環境。容器雲需要支援自動的容器資源排程和釋出,進階的話需要支援滾動、藍綠等釋出機制。
10)自愈和自動伸縮:
自愈:雲環境當中這個節點執行個體有可能當機或者漂移,網絡可能會最忌不穩定,微服務平台需要自動偵測能力,能夠自動恢複。
自動伸縮:使用者流量可能會突發,驟增。微服務平台理想上講,需要根據使用者的流量變化自動的伸縮(auto-scaling)
這樣做可節省硬體資源,同時又不影響使用者體驗。
3.三者全面橫向對比分析

4.三者優缺點
5.使用建議
1)微服務關注點,根據企業上下文綜合考量
2)盡量不要混搭使用,保持體系一緻性
3)個人傾向K8s+SpringBoot