微服務和普通應用有什么不同?
微服務是一種架構模式,其核心是將一個單體應用分成多個部分進行開發。所以微服務架構的應用程序,其本質上是一個分布式應用。基于微服務架構構建的應用程序,可以讓業務變化更快,整體系統可靠性更高。
如何解決微服務注冊失敗問題(針對java chassis)?
微服務部署成功后,需要將微服務注冊到服務中心和配置中心,才能使用注冊發現和微服務治理能力。如果注冊失敗,可能由于以下因素導致的:
- AK/SK未配置或者配置不正確。
- 服務中心或配置中心地址配置不正確。
- 網絡不通。
- 域名解析失敗。
- 監聽端口被占用。
客戶端向CSE發送HTTPS消息時,有校驗證書嗎?使用的根證書在哪里配置?
當前CSE不會校驗微服務的證書。根證書是調用公共組件psm生成的。
如何進行本地開發和測試?
服務中心是微服務框架中的重要組件,用于服務元數據以及服務實例元數據的管理和處理注冊、發現。服務中心與微服務提供/消費者的邏輯關系下圖所示:
前提條件
- 由于啟動本地服務中心將會占用此臺機器的30100、30110和30103端口,其分別表示服務中心的后臺、配置中心的后臺和前臺服務端口。請確認以上端口未被使用。
- 使用本地開發工具前,請確認環境是否滿足以下要求:
- 操作系統:Linux/Unix、Windows 64 bit
- CPU架構:x86/arm
- 瀏覽器:Chrome、Safari、Edge
啟動本地服務中心
1、進入本地開發工具,根據具體環境下的操作系統、CPU架構,下載對應版本的本地開發工具壓縮包到本地并解壓縮到安裝目錄。
2、啟動CSE。
- Linux/Unix系統,進入安裝根目錄,執行如下命令:
nohup sh start.sh >/dev/null 2>&1 &
- Windows系統,進入安裝根目錄,雙擊cse.exe文件啟動。
3、停止CSE。
- Linux/Unix系統,進入安裝根目錄,執行如下命令:
sh stop.sh
- Windows系統,關閉命令行窗口。
mesher性能損耗是多少?
服務網格技術實際利用了網絡流量劫持的方式來管理服務間流量,除了mesher本身內部的邏輯處理會耗時之外,還會引起額外的用戶態和內核態間轉換(CPU會有額外消耗),而前者相對于后者性能影響極小,因此性能損耗基本取決于網絡中傳輸的payload大小。以http協議舉例,影響傳輸速度的就是header、body等內容的大小。mesher一次端到端調用中的延遲為1ms,一個典型的用戶測試過自己真實的業務調用,加上mesher后,延遲高了4ms,在用戶可接受范圍內。
連接服務中心提示“Version validate failed”如何解決?
原因是使用了新版本的SDK,卻連接服務中心老版本的SDK。此時應檢查服務中心的版本。可以從官網下載最新版本的服務中心,或者從ServiceComb官網下載最新版本的服務中心。
連接服務中心提示“Not enough quota”如何解決?
原因是沒有足夠的額度增加服務實例。此時應登錄云控制臺,在微服務引擎頁面,可以看到實例個數的額度。如果發現頁面有額度,需要檢查下代碼配置的服務中心地址和區域信息。
服務名重復校驗范圍是什么?
服務名重復校驗范圍是微服務名稱、微服務應用、微服務版本和微服務環境。是一個微服務的主鍵,標識一個唯一的微服務。請確保主鍵不重復。
為什么一定要定義服務契約?
企業級系統規模普遍較大,微服務組件眾多,所以對服務間接口進行統一管理是企業的關鍵需求。微服務引擎通過契約管理滿足這一需求。
管理角度:通過契約管理,企業中的接口管理者可以統一定義微服務的契約文件(符合接口描述標準的接口定義文件),從而做到規范并協調多個開發團隊的接口開發,降低溝通成本且避免后期的混亂。
開發角度:在微服務開發的時候,不同團隊甚至不同ISV間,可以基于統一的契約文件開發同一應用或系統,從而方便整體系統一致性的維護。具體表現在,單體應用中模間是代碼級調用,在編譯期就可以解決API不兼容問題,修復成本也極低。微服務解耦后,服務間變為了遠程調用,接口不一致通常發現時間較晚,會造成更大的修復成本。有了契約可以保證架構師設計契約,嚴格審查變更,并反向生成代碼,保證兼容性。
另外,對于規模較小、統一管理要求不高的系統,產品支持從接口代碼自動生成契約文件。
創建委托失敗怎么解決?
原因是用戶無權限創建委托或用戶委托配額不足。解決方法如下:
- 若用戶進入IAM控制臺時,系統提示權限不足,說明用戶無權限創建委托,請參考進行處理。
- 若用戶有權限創建委托,則登錄統一身份認證服務控制臺,在統一身份認證服務的左側導航窗中,選擇“委托”,查看當前是否還可以創建委托,當可創建委托數量為0時,可刪除委托或調整委托配額后進行創建。