micro/micro:分散式微服務雲作業系統

banq發表於2022-02-08

Micro 解決了在雲中構建服務的關鍵要求。它利用微服務架構模式並提供一組服務作為平臺的構建塊。Micro 處理分散式系統的複雜性,並提供更簡單的可程式設計抽象來構建。
Micro 是一個雲原生開發平臺。它解決了在雲中構建服務的關鍵要求。Micro 利用微服務架構模式並提供一組充當平臺構建塊的服務。Micro 處理分散式系統的複雜性,並提供更簡單的可程式設計抽象來構建。
Micro 是一個包羅永珍的端到端平臺體驗,從原始碼到執行以及超越,以開發人員為先。
將 Micro 視為面向雲的 Android。
Micro 專注於微服務開發模式,它來自於unix哲學,即編寫能做好一件事的工具。我們認為,在Rails單體網路應用中,你所瞭解的資料庫表層面的領域邊界轉移到網路和命名層的服務邊界。
例如,在Rails應用中,部落格應用可能由帖子、評論、標籤等表組成,但在Micro中,這些將被定義為獨立的服務。這些作為Micro的服務,可以很好地做一件事,並在必要時透過網路或pubsub訊息傳遞進行通訊。
Micro是以這種服務開發模式建立的,這就是為什麼底層平臺定義了編寫這些服務以及從外部訪問它們所需的基元。Micro包括一個Go服務框架,這使得快速啟動變得超級簡單。
 
以下是構成 Micro 的核心元件。

伺服器
Micro 構建為微服務架構,並抽象出底層基礎架構的複雜性。我們將其組合為使用者的單個邏輯伺服器,但將其分解為可以插入任何底層系統的各種構建塊原語。
伺服器由以下服務組成。

  • API - HTTP 閘道器,它使用基於路徑的解析將 http/json 請求動態對映到 RPC
  • Auth - 使用 jwt 令牌和基於規則的訪問控制開箱即用的身份驗證和授權。
  • Broker - 用於非同步通訊和分發通知的臨時 pubsub 訊息傳遞
  • 配置- 服務級別配置的動態配置和機密管理,無需重新啟動
  • 事件- 具有有序訊息傳遞、從偏移量重放和持久儲存的事件流
  • 網路- 所有內部請求流量的服務間網路、隔離和路由平面
  • 代理- 用於遠端訪問和任何外部 grpc 請求流量的身份感知代理
  • 執行時- 服務生命週期和流程管理,支援原始碼執行自動構建
  • Registry - 具有豐富後設資料的集中式服務發現和 API 端點瀏覽器
  • 儲存- 具有 TTL 到期和永續性 crud 的鍵值儲存,以保持微服務無狀態

  

框架
Micro 還包含一個用於服務開發的內建 Go 框架。Go 框架使編寫服務變得非常簡單,而無需拼湊成行的樣板程式碼。預設自動配置和初始化,只需匯入即可快速上手。
 

相關文章