搭建微服務

Flamesky發表於2024-11-02

搭建微服務

下面透過示例一步步搭建一個分散式微服務

1. 業務場景

假設有一個業務場景是要實現一個會員線上瀏覽新聞的應用,支援手機和PC端。
分析了詳細需求,把專案拆分成三個微服務:

  1. 會員註冊微服務;
  2. 會員授權微服務;
  3. 瀏覽新聞微服務;

2. 框架簡圖

框架簡圖

如圖所示:

client 是呼叫 api 的主體,用 postman 模擬
Service Discovery Server 儲存已註冊服務的地方,供 Server 註冊服務和 ApiGateway 發現服務, 用 consul
ApiGateway 提供一個訪問微服務統一的對外閘道器, 外部用 http 透過閘道器呼叫開放的介面,閘道器內部呼叫微服務用 RPC,閘道器還提供服務治理和管理等其他功能,用 Asp.Net Core Web 實現
Server 微服務的宿主,用 .Net Core 的控制檯應用實現

3. 微服務說明

會員授權微服務:Authorize Server

提供授權服務,使用者使用會員的使用者名稱和密碼獲取 token, 帶著 token 訪問受保護的介面,如瀏覽和釋出新聞。

會員註冊微服務:Register Server

提供會員註冊服務,使用者必須註冊成會員才能享受應用提供的服務,如瀏覽和釋出新聞, 但有些服務又需要指定角色的會員才能操作,如所有會員都可以瀏覽新聞,只有管理員(admin)角色的會員才可以釋出新聞。

瀏覽和釋出新聞微服務:News Server

提供新聞瀏覽和釋出服務

相關文章