Micro微服務(wù)工具包
Micro 滿足了在云中構(gòu)建服務(wù)的關(guān)鍵要求。它利用微服務(wù)架構(gòu)模式并提供一組服務(wù),這些服務(wù)充當(dāng)平臺(tái)的構(gòu)建塊。Micro解決了分布式系統(tǒng)的復(fù)雜性,并提供了更簡(jiǎn)單的可編程抽象作為基礎(chǔ)。
Features
以下是構(gòu)成Micro的核心組件。
服務(wù)器
Micro是作為微服務(wù)架構(gòu)構(gòu)建的,可以抽象出基礎(chǔ)架構(gòu)的復(fù)雜性。我們將其作為對(duì)用戶的單個(gè)邏輯服務(wù)器進(jìn)行組合,但是將其分解為可以插入到任何基礎(chǔ)系統(tǒng)中的各種構(gòu)建基元。
該服務(wù)器由以下服務(wù)組成。
- API -HTTP網(wǎng)關(guān),使用基于路徑的解析將HTTP / JSON請(qǐng)求動(dòng)態(tài)映射到RPC
- Auth-使用jwt令牌和基于規(guī)則的訪問控制開箱即用地進(jìn)行身份驗(yàn)證和授權(quán)。
- 經(jīng)紀(jì)人-短暫的發(fā)布-訂閱消息的異步通信和發(fā)布的通知
- 配置-服務(wù)級(jí)別配置的動(dòng)態(tài)配置和秘密管理,無需重啟
- 事件-具有有序消息傳遞的事件流,從偏移量重播和持久存儲(chǔ)
- 網(wǎng)絡(luò)-所有內(nèi)部請(qǐng)求流量的服務(wù)間網(wǎng)絡(luò),隔離和路由平面
- 代理-用于遠(yuǎn)程訪問和任何外部grpc請(qǐng)求流量的身份識(shí)別代理
- 運(yùn)行時(shí)-服務(wù)生命周期和流程管理,支持源代碼以運(yùn)行自動(dòng)構(gòu)建
- 注冊(cè)表-具有功能豐富的元數(shù)據(jù)的集中式服務(wù)發(fā)現(xiàn)和API端點(diǎn)資源管理器
- 存儲(chǔ)-具有TTL到期和持久續(xù)簽的鍵值存儲(chǔ),可保持微服務(wù)無狀態(tài)
框架
Micro現(xiàn)在還包含了非常流行的內(nèi)置Go Micro框架,用于服務(wù)開發(fā)。Go框架使編寫服務(wù)變得很簡(jiǎn)單,而不必拼湊成行。默認(rèn)情況下自動(dòng)配置和初始化,只需導(dǎo)入即可快速上手。
命令行
Micro不僅帶來了豐富的體系結(jié)構(gòu)模型,還帶來了針對(duì)該需求量身定制的命令行體驗(yàn)。命令行界面包括針對(duì)平臺(tái)上運(yùn)行的所有服務(wù)的動(dòng)態(tài)命令映射。即時(shí)將任何服務(wù)與標(biāo)志解析一起轉(zhuǎn)換為CLI命令以進(jìn)行輸入。包括對(duì)多種環(huán)境和名稱空間的支持,自動(dòng)刷新身份驗(yàn)證憑證,創(chuàng)建和運(yùn)行服務(wù),狀態(tài)信息和日志流,以及更多其他功能。
環(huán)境環(huán)境
最后,Micro通過繼承了“Environments多租戶”的概念Namespaces。在本地運(yùn)行服務(wù)器以進(jìn)行開發(fā),并在云中運(yùn)行以進(jìn)行登臺(tái)和生產(chǎn),然后使用CLI命令micro env set [environment] 和micro user set [namespace]在它們之間無縫切換。
