Go 微服務架構Micro相關概念理解

2022-06-19 21:54:15 字數 1319 閱讀 6211

micro是乙個微服務框架(或者說是工具集):提供了各類元件,解決微服務架構中的不同問題,服務監控、服務發現、熔斷機制,負載均衡等等,自己乙個個解決這些問題幾乎不可能,這時候就需要借助go-micro這些元件了。提供了微服務的基礎框架。是一種架構.(go-micro  是micro 底層實現, 用於寫服務的,而工具集是用來訪問附服務的)

服務被拆分為幾十個甚至上百個後如何進行管理呢?比如服務的伸縮、監控、部署怎麼做,這時候可用 google 的 k8s 來進行服務治理,k8s 提供了微服務治理所需的全套工具。

api閘道器(api gateway):api閘道器是請求的入口,把請求動態路由到具體服務,擁有強大的路由能力,它可以處理http、grpc、websocket、訊息推送事件等等。api閘道器模組工作在軟體服務架構的邊緣。他的能力就是讓單一的入口去訪問微服務

命令列介面(interactive cli) :互動式的命令列介面。

服務**(service proxy):它不暴露任何介面,只工作在內部環境,相當於橋接內部服務。 ???

模板生成(template generation):基於預置模版快速建立新的服務**。

slackops小機械人(slackops bot): slack小機械人外掛程式,當它執行中服務中時,這個外掛程式允許開發者通過slack訊息來操作平台。與平台互動的另外一種形式。

go-micro框架(go framework):是micro的底層、核心。go-micro把分布式服務抽象,並提供簡便的方式讓大家構建具有高彈性的微服務。 

元件做到職責分離

可以通過micro工具集的cli,web ui,slack,或者api閘道器(api gateway)來訪問操控服務。

api、web、srv作為micro工具集的一部分,我們嘗試著使用一些設計模式規劃出彈性的架構,通過把api介面、web管理控制台、srv(srv是service的簡稱,可理解為後台業務邏輯部分)

go-micro: 可以幫你編寫微服務

go-config: 可以管理複雜的配置

go-plugins: 外掛程式集,包含了絕大多數的後端技術

rpc 框架可以讓你在 a 伺服器呼叫 b 伺服器上的函式介面,這中間因為走了網路,所以是沒有單體應用中本地函式呼叫效率高的。但是當業務上規模後,這點損耗是可以忽略的

什麼是微服務:

微服務是一種軟體架構模式,用來把大而重的應用程式切成許多可管理的、可管理的獨立服務,各服務之間的通訊並不受不同語言的協議影響,每個服務只管做好一件事情。

micro是乙個微服務的生態系統

service是client和server的封裝:  包含了一系列的方法使用初始值去初始化service和client,使我們可以很簡單的建立乙個rpc服務

使用micro建立微服務

micro是乙個工具集,用來幫助開發者建立和管理微服務。它包括兩部分 另外go plugins作為一組外掛程式,在開發過程中也是必要的。通過外掛程式,我們在服務發現 非同步訊息和傳輸協議等方面有了更多的選擇。go micro的設計目標是簡化微服務的開發和分布式系統的建立。在golang 1.14以後...

微服務及其相關架構

是解決系統架構的手段,不是目的,圍繞業務,松耦合,獨立部署,不同語言 在微服務管理中常常需要使用到的一些列的元件 服務註冊 服務提供方將自己呼叫位址註冊到服務註冊中心,讓服務呼叫方能夠方便地找到自己。服務發現 服務呼叫方從服務註冊中心找到自己需要呼叫的服務的位址。負載均衡 服務提供方一般以多例項的形...

介紹微服務框架Micro筆記

本文將介紹開源的微服務開發套件 micro micro提供了開發與管理微服務的基礎元件。micro主要為使用go語言的開發者提供了一系列庫與工具。其它程式語言使用sidecar通過http協議與micro互動。在開始討論micro的細節之前,我們先來看看為什麼要選擇micro。從過去的經驗與行業情況...