<optgroup id="gajtf"></optgroup>
  • <meter id="gajtf"></meter>
    <mark id="gajtf"><ruby id="gajtf"></ruby></mark>

  • <small id="gajtf"><strong id="gajtf"></strong></small>
  • <mark id="gajtf"><button id="gajtf"></button></mark>
    <listing id="gajtf"><dfn id="gajtf"><s id="gajtf"></s></dfn></listing><label id="gajtf"><ruby id="gajtf"></ruby></label>
    <mark id="gajtf"></mark>

    微服務介紹

    微服務架構越來越流行,這個沒有異議。2009 年,Net?ix 重新定義了它的應用程序員的開發模型,這個算是微服務的首次探索。20014 年,《Microservices》,這篇文章以一個更加通俗易懂的方式,為...

    微服務架構越來越流行,這個沒有異議。
    2009 年,Net?ix 重新定義了它的應用程序員的開發模型,這個算是微服務的首次探索。
    20014 年,《Microservices》,這篇文章以一個更加通俗易懂的方式,為大家定義了微服務。為什么要用微服務?
    互聯網應用產品的兩大特點:

    1. 需求變化快
    2. 用戶群體龐大

    在這樣的情況下,我們需要構建一個能夠靈活擴展,同時能夠快速應對外部環境變化的一個應用,使用 傳統的開發方式,顯然無法滿足需求。這個時候,微服務就登場了。

    1.什么是微服務

    簡單來說,微服務就是一種將一個單一應用程序拆分為一組小型服務的方法,拆分完成后,每一個服務 都運行在獨立的進程中,服務于服務之間采用輕量級的通信機制來進行溝通(Spring Cloud 中采用基于HTTP 的 RESTful API)。
    每一個服務,都是圍繞具體的業務進行構建,例如一個電商系統,訂單服務、支付服務、物流服務、會 員服務等等,這些拆分后的應用都是獨立的應用,都可以獨立的部署到生產環境中。就是在采用微服務 之后,我們的項目不再拘泥于一種語言,可以 Java、Go、Python、PHP 等等,混合使用,這在傳統的應用開發中,是無法想象的。而使用了微服務之后,我們可以根據業務上下文來選擇合適的語言和構建 工具進行構建。
    微服務可以理解為是 SOA 的一個傳承,一個本質的區別是微服務是一個真正分布式、去中心化的,微服務的拆分比 SOA 更加徹底。

    2.微服務優勢

    1. 復雜度可控
    2. 獨立部署
    3. 技術選型靈活
    4. 較好的容錯性
    5. 較強的可擴展性

    2.1 使用 Spring Cloud 的優勢

    Spring Cloud 可以理解為微服務這種思想在 Java 領域的一個具體落地。Spring Cloud 在發展之初,就借鑒了微服務的思想,同時結合 Spring Boot,Spring Cloud 提供了組件的一鍵式啟動和部署的能力, 極大的簡化了微服務架構的落地。
    Spring Cloud 這種框架,從設計之初,就充分考慮了分布式架構演化所需要的功能,例如服務注冊、配置中心、消息總線以及負載均衡等。這些功能都是以可插拔的形式提供出來的,這樣,在分布式系統不 斷演化的過程中,我們的 Spring Cloud 也可以非常方便的進化。

    3.Spring Cloud 介紹3.1 什么是 Spring Cloud

    Spring Cloud 是一系列框架的集合,Spring Cloud 內部包含了許多框架,這些框架互相協作,共同來構建分布式系統。利用這些組件,可以非常方便的構建一個分布式系統。

    3.2 核心特性

    1. 服務注冊與發現
    2. 負載均衡
    3. 服務之間調用
    4. 容錯、服務降級、斷路器
    5. 消息總線
    6. 分布式配置中心
    7. 鏈路器

    3.3 版本名稱

    不同于其他的框架,Spring Cloud 版本名稱是通過 A(Angel)、B(Brixton)、C(Camden)、D(Dalston)、E(Edgware)、F(Finchley)。。 這樣來明明的,這些名字使用了倫敦地鐵站的名字,目前最新版是 H (Hoxton)版。
    Spring Cloud 中,除了大的版本之外,還有一些小版本,小版本命名方式如下:
    M ,M 版是 milestone 的縮寫,所以我們會看到一些版本叫 M1、M2
    RC,RC 是 Release Candidate,表示該項目處于候選狀態,這是正式發版之前的一個狀態,所以我們會看到 RC1、RC2
    SR,SR 是 Service Release ,表示項目正式發布的穩定版,其實相當于 GA(Generally Available) 版。所以,我們會看到 SR1、SR2
    SNAPSHOT,這個表示快照版

    4.Spring Cloud 體系4.1 Spring Cloud 包含的組件

    Spring Cloud Net?ix,這個組件,在 Spring Cloud 成立之初,立下了汗馬功勞。但是, 2018 年的斷更,也是 Net?ix 掉鏈子了。
    Spring Cloud Con?g,分布式配置中心,利用 Git/Svn 來集中管理項目的配置文件
    Spring Cloud Bus,消息總線,可以構建消息驅動的微服務,也可以用來做一些狀態管理等

    Spring Cloud Consul,服務注冊發現
    Spring Cloud Stream,基于 Redis、RabbitMQ、Kafka 實現的消息微服務
    Spring Cloud OpenFeign,提供 OpenFeign 集成到 Spring Boot 應用中的方式,主要解決微服務之間的調用問題
    Spring Cloud Gateway,Spring Cloud 官方推出的網關服務
    Spring Cloud Cloudfoundry,利用 Cloudfoundry 集成我們的應用程序Spring Cloud Security,在 Zuul 代理中,為 OAuth2 客戶端認證提供支持Spring Cloud AWS ,快速集成亞馬遜云服務
    Spring Cloud Contract,一個消費者驅動的、面向 Java 的契約框架Spring Cloud Zookeeper,基于 Apache Zookeeper 的服務注冊和發現Spring Cloud Data Flow,在一個結構化的平臺上,組成數據微服務Spring Cloud Kubernetes,Spring Cloud 提供的針對 Kubernetes 的支持Spring Cloud Function
    Spring Cloud Task,短生命周期的微服務

    4.2 Spring Cloud 和 Spring Boot 版本關系

    Spring CloudSpring BootHoxton2.2.xGreenwich2.1.xFinchley2.0.xEdgware1.5.xDalston1.5.x

    • 發表于 2020-09-23 10:52
    • 閱讀 ( 189 )

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    不寫代碼的碼農
    威猛的小站長

    119 篇文章

    作家榜 ?

    1. 威猛的小站長 119 文章
    2. Jonny 65 文章
    3. 江南煙雨 33 文章
    4. - Nightmare 33 文章
    5. doublechina 31 文章
    6. HJ社區-肖峰 29 文章
    7. 偽攝影 20 文章
    8. Alan 14 文章
    小喜通天报