【從零開始學微服務】07.微服務常用的開發框架

2023-06-30 09:01:38

大家好,歡迎來到萬貓學社,跟我一起學,你也能成為微服務專家

微服務架構該怎麼落地?選用什麼樣的技術棧?所有的網際網路公司都在積極嘗試自己的微服務落地方案。

Spring Cloud

其中在Java領域最引人注目的就是 Spring Cloud 提供的方案了。

Spring Cloud 被稱為構建分散式微服務系統的「全家桶」,它並不是某一門技術,而是一系列微服務解決方案或框架的有序集合。它將市面上成熟的、經過驗證的微服務架構整合起來,並進行封裝,最終為開發人員提供的一套簡單易懂、易部署和易維護的分散式系統開發工具包。

Spring Cloud 是微服務架構下的一站式解決方案。Spring Cloud 專注於全域性微服務的協調和治理工作。換句話說,Spring Cloud 相當於微服務的大管家,負責將 Spring Boot 開發的一個個微服務管理起來,併為它們提供設定管理、服務發現、斷路器、路由、等等分散式場景下的服務能力。

Spring Cloud 的常用元件

  • Spring Cloud Consul:服務註冊中心元件,包含服務註冊與發現功能的實現。
  • Spring Cloud Config:設定管理元件,支援使用 Git 儲存設定內容,實現應用設定的外部化儲存,並支援在使用者端對設定進行重新整理、加密、解密等操作。
  • Spring Cloud LoadBalancer:使用者端負載均衡元件。
  • Spring Cloud OpenFeign:宣告式服務呼叫元件。
  • Spring Cloud Gateway:閘道器框架,提供了閘道器的基本功能,例如安全、監控/指標和限流等。
  • Spring Cloud Sleuth:分散式鏈路跟蹤元件,能完美整合 Zipkin。
  • Spring Cloud Stream:訊息中介軟體元件,整合了 Kafka 和 RabbitMQ 等訊息中介軟體,實現了應用程式與訊息中介軟體之間的隔離。
  • Spring Cloud Sentinel:容錯管理元件,為微服務提供流量控制、熔斷降級的功能。

Spring Cloud Alibaba

Spring Cloud Alibaba 是 Spring Cloud下的一個子專案,是阿里巴巴結合自身豐富的微服務實踐而推出的解決方案,2018 年 7 月,Spring Cloud Alibaba 正式開源,並進入 Spring Cloud 孵化器中孵化。2019 年 7 月,Spring Cloud 官方宣佈 Spring Cloud Alibaba 畢業,並將倉庫遷移到 Alibaba Github OSS 下。

Spring Cloud Alibaba 吸收了 Spring Cloud Netflix 的核心架構思想,並進行了高效能改進。自 Spring Cloud Netflix 進入停更維護後,Spring Cloud Alibaba 逐漸代替它成為主流的微服務架構,是 Spring Cloud 第二代實現的主要組成部分。

Spring Cloud Alibaba 的常用元件

  • Dubbo:Apache Dubbo 是一款高效能 Java RPC 框架。
  • Nacos:一個更易於構建雲原生應用的動態服務發現、設定管理和服務管理平臺。
  • Sentinel:把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
  • Seata:阿里巴巴開源產品,一個易於使用的高效能微服務分散式事務解決方案。
  • RocketMQ:一款開源的分散式訊息系統,基於高可用分散式叢集技術,提供低延時的、高可靠的 訊息釋出與訂閱服務。

文章持續更新,微信搜尋「萬貓學社」第一時間閱讀,關注後回覆「電子書」,免費獲取12本必讀技術書籍。

Dubbo

Dubbo 是一款 RPC 服務開發框架,最初在 2008 年由 Alibaba 捐獻開源,在 2017 年,Dubbo 正式捐獻到 Apache 軟體基金會併成為 Apache 頂級專案。

Dubbo用於解決微服務架構下的服務治理與通訊問題,官方提供了 Java、Golang 等多語言 SDK 實現。使用 Dubbo 開發的微服務原生具備相互之間的遠端地址發現與通訊能力, 利用 Dubbo 提供的豐富服務治理特性,可以實現諸如服務發現、負載均衡、流量排程等服務治理訴求。

最後,感謝你這麼帥,還給我點贊

微信公眾號:萬貓學社

微信掃描二維條碼

關注後回覆「電子書」

獲取12本必讀技術書籍