天天看點

SpringCloud學習筆記

SpringCloud 學習筆記

前言

SpringCloud 官網:

SpringCLoud 官網文檔:

什麼是微服務架構

“微服務” 一詞源于 Martin Fowler 的名為 Microservices 的博文,

https://martinfowler.com/articles/microservices.html

簡單說,微服務是系統架構上的一種風格,他的主旨是将一個原本獨立的系統拆分成若幹個小型服務,這些小型服務在各自獨立的程序中運作,服務之間通過基于 HTTP 的 RESTful API 進行通信。被拆分的每一個服務都圍繞着系統中的某一項或者一些耦合度較高的業務功能進行建構,并且每個服務都維護者自身的資料存儲、業務開發、自動化測試案例以及獨立部署機制。由于有了輕量級的通信協作基礎,是以這些微服務可是使用不同的語言來編寫。

微服務開源架構

服務治理:dubbo(阿裡)、dubbox(當當)、eureka(Netflix)、consul(Apache)

分布式配置管理:disconf(百度)、archaius(Netflix)、qconf(360)、config(SprignCloud)、diamond(淘寶)

批量任務:elastic-job(當當)、azkaban(LinkedIn)、task(SpringCloud)

服務跟蹤:hydra(京東)、sleuth(springcloud)、zipkin(twitter)

SpringCloud 簡介

Spring Cloud為開發人員提供了快速建構分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智能路由,微代理,控制總線)。分布式系統的協調導緻了樣闆模式, 使用Spring Cloud開發人員可以快速地支援實作這些模式的服務和應用程式。

特性

Spring Cloud專注于提供良好的開箱即用經驗的典型用例和可擴充性機制覆寫。

  • 分布式/版本化配置
  • 服務注冊和發現
  • 路由
  • service - to - service調用
  • 負載均衡
  • 斷路器
  • 分布式消息傳遞

子項目

  • Spring Cloud Config:配置管理工具,支援使用 Git 存儲配置内容,可以使用它實作應用配置的外部化存儲、并支援用戶端配置資訊重新整理、加密/解密配置内容等
  • Spring Cloud Netflix:核心元件,對多個 Netflix OSS 開源套件進行整合
  • eureka(server/client):包括服務注冊中心、服務注冊與發現的實作
  • Hystrix:容錯管理元件、實作斷路器模式、幫助服務依賴中出現的延遲和為故障提供強大的容錯能力
  • Ribbon:用戶端負載均衡的服務調用元件
  • Feign:基于 Ribbon 和 Hystrix 的聲明式服務調用元件
  • Zuul:網關元件,提供智能路由、通路guol等功能
  • Archaius:外部化配置元件
  • Spring Cloud Bus:事件、消息總線,用于傳播叢集中的狀态變化或者事件,以及觸發後續的處理,比如用來動态重新整理配置等
  • Spring Cloud Cluster:針對 Zookeeper、Redis、Hazelcast、Consul 的選舉算法和通用狀态模式的實作
  • Spring Cloud Cloufoundry:與 Pivotal Cloudfoundry 的整合支援
  • Spring Cloud Consul:服務發現與配置管理工具
  • Spring Cloud Stream:通過 Redis、Rabbit 或者 Kafka 實作的消費微服務,可以通過簡單地聲明式模型來發送和接收消息
  • Spring Cloud AWS:用于簡化孩子呢個 Amazon Web Service 的元件
  • Spring Cloud Securiry:安全工具包,提供在 Zuul 代理中對 OAuth2 用戶端請求的中繼器
  • Spring Cloud Sleuth:Spring Cloud 應用的分布式跟蹤實作,可以完美整合 Zipkin
  • Spring Cloud Starters:Spring Cloud 的基礎元件,他是基于 Spring Boot 風格項目的基礎依賴子產品
  • Spring Cloud CLI:用于在 Groovy 中快速建立 Spring Cloud 應用的 Spring Boot CLI 插件。

SpringCloud 學習筆記聚合

SpringCloud學習筆記之注冊與發現Eureka

https://blog.csdn.net/SIMBA1949/article/details/95772692

SpringCloud學習筆記之用戶端負載均衡Ribbon

https://blog.csdn.net/SIMBA1949/article/details/95773743