這是我參與8月更文挑戰的第8天,活動詳情查看:8月更文挑戰編程
Spring Cloud基於Spring Boot,是微服務架構思想的一個具體實現,它爲開發人員提供了一些快速構建分佈式系統中常見模式的工具,如配置管理、服務發現、熔斷器、智能路由、微代理、控制總線等。Spring Cloud的底層基於Spring Boot框架,它不重複造輪子,而是將一些第三方實現的微服務應用模塊集成。
Spring Cloud是一系列有序框架的集合,其中經常使用的子項目以下:服務器
經過SVN、Git等倉庫使配置集中化存儲,配置資源能夠直接映射到Spring Enviroment中。markdown
與Netflix開發的各類組件集成,包括服務註冊與發現、熔斷器、服務網關、Rest客戶端及負載均衡器等。架構
將服務、服務實例與分佈式消息連接在一塊兒的事件總線;用於在進羣中傳播狀態變化;和Spring Cloud Config配合,能夠實現配置的動態刷新。負載均衡
進行Spring Cloud中的服務註冊與發現配置管理。框架
爲Zuul代理中的負載平衡OAuth2 Rest客戶端和身份驗證中繼提供支持。分佈式
用於Spring Cloud 應用程序的分佈式跟蹤,兼容Zipkin、Htrace和基於日誌(例如ELK)的跟蹤。函數
一種可以用於如今進行時並能夠組合微服務應用程序的雲本地編排服務。易於使用的DSL、拖放式GUI和REST-API共同簡化了基於微服務的數據管道的總體編排。微服務
輕量級事件驅動的微服務框架,可以快速構建可鏈接到外部系統的應用程序,用於在Spring Boot應用程序之間使用Apache Kafka或RabbitMQ發送和接收消息。工具
一種短暫的微服務框架,用於快速構建執行有限數據處理的應用程序,它用於向Spring Boot應用程序中添加功能性和非功能性的簡單聲明。
一款基於project Reactor的智能可編程路由器。因爲Zuul2.0版本的開發常常跳票,因此Spring官方開發了路由網關以支持Spring Boot2.0及新版Spring Cloud。
基於Netflix Feign,是一個聲明式的HTTP客戶端,能夠輕鬆實現服務間接口調用。
經過函數促進業務邏輯的實現,它支持無服務器商之間的統一編程模型以及獨立運行(本地或PaaS)。
以上項目可根據實際狀況選擇一些適合的組件集成到應用中。
優勢
缺點
大勢所趨。