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

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

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

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本必讀技術書籍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章