微服務架構技術棧

2021-08-21 10:11:04 字數 1168 閱讀 9733

一是 martin fowler 在其部落格上發表了」microservices」一文,正式提出微服務架構風格;

二是 netflix 微服務架構經過多年大規模生產驗證,最終抽象落地形成一整套開源的微服務基礎元件,統稱 netflixoss,netflix 的成功經驗開始被業界認可並推崇;

三是 pivotal 將 netflixoss 開源微服務元件整合到其 spring 體系,推出 spring cloud 微服務開發技術棧。

1.使用支援 oauth 2.0 和 openid connect 標準協議的授權伺服器(個人建議定製自研);

2.使用 api 閘道器作為單一訪問入口,統一實現安全治理;

3.客戶在訪問微服務之前,先通過授權伺服器登入獲取 access token,然後將 access token 和請求一起傳送到閘道器;

4.閘道器獲取 access token,通過授權伺服器校驗 token,同時做 token 轉換獲取 jwt token。

5.閘道器將 jwt token 和請求一起**到後台微服務;

6.jwt 中可以儲存使用者會話資訊,該資訊可以傳遞給後台的微服務,也可以在微服務之間傳遞,用作認證授權等用途;

7.每個微服務包含 jwt 客戶端,能夠解密 jwt 並獲取其中的使用者會話資訊。

8.整個方案中,access token 是一種 by reference token,不包含使用者資訊可以直接暴露在公網上;jwt token 是一種 by value token,可以包含使用者資訊但不暴露在公網上。

1.應用通過 ci 整合後生成映象,使用者將映象推到映象治理中心;

2.使用者在資產治理中心申請發布,填報應用,發布和配額相關資訊,然後等待審批通過;

3.發布審批通過,開發人員通過發布控制台發布應用;

4.發布系統通過查詢資產治理中心獲取發布規格資訊;

5.發布系統向容器雲發出啟動容器例項指令;

6.容器雲從映象治理中心拉取映象並啟動容器;

7.容器內服務啟動後自註冊到服務註冊中心,並保持定期心跳;

8.使用者通過發布系統呼叫服務註冊中心調撥流量,實現藍綠,金絲雀或灰度發布等機制;

9.閘道器和內部微服務客戶端定期同步服務註冊中心上的服務路由表,將流量按負載均衡策略分發到新的服務例項上。

微服務架構技術棧

微服務條目 落地技術 服務開發 spring springmvc springboot 服務配置與管理 netflix公司archaius 阿里diamond等 服務註冊和發現 eureka consul zookeeper 服務呼叫 rpc grpc rest 服務熔斷 hystrix envoy...

微服務架構核心(三) 微服務技術架構體系

微服務架構的名字裡雖然有個 微 但它涉及的整體架構體系可一點也不 微 微服務架構除了業務 的開發以外,還需要很多的支撐服務。每個公司都有自己的微服務架構體系,雖然在細節上有很多不同,但是整體的思路是類似的,下圖展示了乙個比較成熟的微服務架構體系。這個體系按照請求接入,由外到內的順序,將整體架構分為接...

微服務專案架構技術

1.eureka作為註冊中心,實現服務治理 2.管理統一服務入口管理 zuul閘道器 3.http協議 fegin客戶端 ribbon本地負載均衡 4.hystrix服務保護框架 熔斷 降級 隔離 限流 5.微服務訊息匯流排stream rabbitmq和kafka 6.服務追蹤與呼叫鏈關係sleu...