1. 程式人生 > >Spring Cloud 完整的微服務架構實戰

Spring Cloud 完整的微服務架構實戰

技術棧    

  • Spring boot - 微服務的入門級微框架,用來簡化 Spring 應用的初始搭建以及開發過程。
  • Eureka - 雲端服務發現,一個基於 REST 的服務,用於定位服務,以實現雲端中間層服務發現和故障轉移。
  • Spring Cloud Config - 配置管理工具包,讓你可以把配置放到遠端伺服器,集中化管理叢集配置,目前支援本地儲存、Git 以及 Subversion。
  • Hystrix - 熔斷器,容錯管理工具,旨在通過熔斷機制控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。
  • Zuul - Zuul 是在雲平臺上提供動態路由,監控,彈性,安全等邊緣服務的框架。Zuul 相當於是裝置和 Netflix 流應用的 Web 網站後端所有請求的前門。
  • Spring Cloud Bus - 事件、訊息匯流排,用於在叢集(例如,配置變化事件)中傳播狀態變化,可與 Spring Cloud Config 聯合實現熱部署。(mq)
  • Spring Cloud Sleuth - 日誌收集工具包,封裝了 Dapper 和 log-based 追蹤以及 Zipkin 和 HTrace 操作,為 SpringCloud 應用實現了一種分散式追蹤解決方案。
  • Ribbon - 提供雲端負載均衡,有多種負載均衡策略可供選擇,可配合服務發現和斷路器使用。
  • Turbine - Turbine 是聚合伺服器傳送事件流資料的一個工具,用來監控叢集下 hystrix 的 metrics 情況。
  • Spring Cloud Stream - Spring 資料流操作開發包,封裝了與 Redis、Rabbit、Kafka 等傳送接收訊息。
  • Feign - Feign 是一種宣告式、模板化的 HTTP 客戶端。
  • Spring Cloud OAuth2 - 基於 Spring Security 和 OAuth2 的安全工具包,為你的應用程式新增安全控制。
  • ------------------------------------cloud 外技術------------------------------------
  • 分散式事務未選方案:
    • 基於MQ訊息通知的方式回撤(刪除)資料
    • TCC 自定義資料庫操作的粒度,使得降低鎖衝突、提高吞吐量成為可能。但是侵入強,實現複雜...
    • GTS 出自阿里:效能強,侵入低,相容強
    • 參考連結:https://www.cnblogs.com/jiangyu666/p/8522547.html
  • 日誌處理兩大生態Splunk和ELK未選方案:
    • ELK:ElasticSearch,Logstash,Kibana的縮寫,基於Lucene的開源搜尋服務。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放原始碼釋出,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。
    • Splunk: Splunk提供一個機器資料的搜尋引擎。使用 Splunk 可收集、索引和利用所有應用程式、伺服器和裝置(物理、虛擬和雲中)生成的快速移動型計算機資料 。從一個位置搜尋並分析所有實時和歷史資料。 使用 Splunk 處理計算機資料,可讓您在幾分鐘內(而不是幾個小時或幾天)解決問題和調查安全事件。監視您的端對端基礎結構,避免服務效能降低或中斷。以較低成本滿足合規性要求。關聯並分析跨越多個系統的複雜事件。獲取新層次的運營可見性以及 IT 和業務智慧。