傳統All In One項目的轉變:
All In One項目因易於開發, 易於部署和上線週期短等特點一直持續了很長時間, 但慢慢的應用變大, 開發人數多, 技術棧多, 持續部署困難, 啟動時間變慢等問題慢慢凸顯時, 微服務架構應運而生。
微服務架構可以解決單體架構各種侷限性問題。
微服務架構:
開發高可用企業應用, 後端需要支持多種客戶端形式, 比如桌面端, 移動端及其他微服務的調用。 微服務架構設計需要考慮以下方面的內容:
![「技術乾貨」服務治理平臺-註冊中心](http://p2.ttnews.xyz/loading.gif)
微服務架構負載均衡:
在做高可用方案時可選的各種負載均衡方案:
![「技術乾貨」服務治理平臺-註冊中心](http://p2.ttnews.xyz/loading.gif)
·在接入層調用業務邏輯層或者業務邏輯層間相互調用時, 中小型可選用本地DNS方式做服務發現和負載均衡的機制;
·在面臨多團隊, 多項目, 多網絡部署節點的情況下, 服務註冊/發現機制便是現在的最佳實踐。
·部署在內外網、多數據中心 等複雜網絡情況下的服務間的相互調用, 用友雲提供的微服務註冊/發現中心提供了這方面的解決方案。
用友雲微服務註冊中心:
用友雲服務註冊中心是微服務核心模塊之一, 是基於REST的雲端服務註冊/發現和故障轉移的中間件服務, 對整個微服務架構起著最核心的整合作用。
傳統註冊中心需具備的功能:
·服務註冊: 服務客戶端啟動時檢測自己的元數據(如:主機和端口等信息)上報且註冊到註冊中心。 服務註冊中心通過接收此服務的各個實例的心跳信息來檢查服務客戶端的健康狀態。
·服務發現: 發起遠程調用時, 從註冊中心拉取被調用服務的信息(如服務有多少實例,每個實例的IP/域名和端口是什麼)並且緩存到本地, 方便使用負載均衡的方式去調用遠程服務; 被緩存的遠程服務信息會被定時從註冊中心拉取刷新, 以便發現新的服務實例和刪除有異常的服務實例。
用友雲微服務註冊中心特點:
在具備了傳統微服務註冊中心的基本功能的基礎上, 用友雲還具備了租戶隔離、高可用集群、授權管理、擴展支持多種負載均衡策略。且獨創業界複雜網絡多躍點智能檢測,解決了內外網穿透的問題。
分租戶隔離機制
·用友雲租戶很多, 每個租戶下有自己的資源池(計算/網絡等), 對於微服務註冊中心, 每個租戶只能看到自己部署的應用。
·每個租戶可以看到自己部署的服務應用 及 跟蹤服務間的調用鏈路。
高可用&快速恢復
·服務註冊中心使用集群方式搭建, 防止單點故障。
·在客戶端和註冊中心交互時會跳過集群中有異常的節點訪問正常的節點。
·集群異常節點恢復後會從集群中的其他節點快速拉取客戶端註冊的信息並且加入集群中對外正常提供服務。
內外網穿透調用能力/網絡多躍點智能檢測
·在複雜網絡下的服務可能會有多個IP和端口, 傳統註冊中心只上傳部署應用的“容器”IP, 但“容器”可能部署在宿主機、docker容器、虛擬機、跨數據中心等複雜環境, 傳統服務註冊中心無法穿透各躍點進行聯通訪問。
·用友雲註冊中心客戶端組件會智能檢測各個可連通的鏈路及各鏈路所需的躍點數; 保證遠程調用時躍點的數量最少、調用鏈路最短, 調用速度最快, 提高服務的可靠性、吞吐量 及 增加內外網穿透/多數據中心間的調用能力。
·在海關POC項目中, 客戶內部存在網絡隔離情況, 且部署在不同網絡的應用還存在數據交換或服務調用的需求。針對這類情況, 通過用友雲微服務註冊中心提供了這方面的解決方案。
服務調用
·現支持多種負載均衡策略可選, 支持自定義擴展
·隨機訪問策略
·輪詢訪問策略
·按照服務器響應時間長短進行選擇訪問
·挑選可用且當前承載最小併發數的服務器
·公開權限的API可以被任何應用訪問
·私有權限的API僅被授權的應用可以訪問。
接入用友雲註冊中心應用:
·搜索平臺
·收集並計算各方業務數據, 對外提供統一搜索服務的平臺。
·用友雲相關客戶項目
·用友API市場ApiLink
閱讀更多 用友雲平臺 的文章