Spring Cloud是一系列架構的有序集合。利用Spring Boot的開發模式簡化了分布式系統基礎設施的開發,如服務發現、注冊、配置中心、消息總線、負載均衡、斷路器、資料監控等(這裡隻簡單的列了一部分),都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud将目前比較成熟、經得起實際考驗的服務架構組合起來,通過Spring Boot風格進行再封裝,屏蔽掉了複雜的配置和實作原理,最終整合出一套簡單易懂、易部署和易維護的分布式系統架構平台。
Spring Cloud組成
Spring Cloud的子項目,大緻可分成兩類:
一類是對現有成熟架構Spring Boot的封裝和抽象,也是數量最多的項目;
第二類是開發了一部分分布式系統的基礎設施的實作,如Spring Cloud Stream就是kafka, ActiveMQ這樣的角色。開發人員進行微服務的實踐,第一類子項目就已經足夠使用,如:
Spring Cloud Netflix
是對Netflix開發的一套分布式服務架構的封裝,包括服務的發現和注冊,負載均衡、斷路器、REST用戶端、請求路由等。
Spring Cloud Config
将配置資訊中央化儲存, 配置Spring Cloud Bus可以實作動态修改配置檔案。
Spring Cloud Bus
分布式消息隊列,是對Kafka, MQ的封裝。
Spring Cloud Security
對Spring Security的封裝,并能配合Netflix使用。
Spring Cloud Zookeeper
對Zookeeper的封裝,使之能配置其它Spring Cloud的子項目使用。
Spring Cloud Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服務套件中的一部分,它基于Netflix Eureka 做了二次分裝,主要負責完成微服務架構中的服務治理功能。
Spring Cloud未來
Spring Cloud為未來網際網路企業提供分布式基礎設施解決方案。同時,随着近幾年微服務架構和Docker容器概念的火爆,也會讓Spring Cloud在未來越來越“雲”化的軟體開發風格中立有一席之地,尤其是在目前五花八門的分布式解決方案中提供了标準化的、全站式的技術方案,有效推進服務端軟體系統技術水準提升。
從現在開始,我這邊會将近期研發的spring cloud微服務雲架構的搭建過程和精髓記錄下來,幫助更多有興趣研發spring cloud架構的朋友,大家來一起探讨spring cloud架構的搭建過程及如何運用于企業項目。