SpringCloud概述
SpringCloud是什么
SpringCloud,基于SpringBoot提供的一套微服務解決方案,包括服務注冊與發(fā)現(xiàn),配置中心,全鏈路監(jiān)控,服務網(wǎng)關,負載均衡,等組件。換句話說是分布式微服務架構下的一站式解決方案,是各個微服務架構落地技術的集合體,俗稱微服務全家桶。
SpringBoot和SpringCloud
- SpringBoot專注于快速方便的開發(fā)單個個體微服務
- SpringCloud是關注全局的微服務協(xié)調整理治理框架,它將SpringBoot開發(fā)的單體微服務整合并管理,為各個微服務之間提供配置管理,服務發(fā)現(xiàn),路由,分布式會話等集成服務
- SpringBoot可以離開SpringCloud獨立的開發(fā)項目,但是SpringCloud離不開SpringBoot,屬于依賴關系
- SpringBoot專注于快速,方便的開發(fā)單個微服務個體,SpringCloud關注全局的服務治理框架
Double和SpringCloud
首先可以在GitHub上看到二者的活躍度,其次是比較各功能組件的支持情況,最大的區(qū)別在于SpringCloud拋棄了Dubbo的RPC通信,采用的是HTTP的REST方式,如下:
| Dobbo | SpringCloud | |
|---|---|---|
| 服務注冊中心 | Zookeeper | SpringCloud Netflix Eureka |
| 服務調用方式 | RPC | Rest API |
| 服務監(jiān)控 | Dubbo-monitor | Spring Boot Admin |
| 斷路器 | 不完善 | Spring Cloud Netflix Hystrix |
| 服務網(wǎng)關 | 無 | Spring Cloud Netflix Zuul |
| 分布式配置 | 無 | Spring Cloud Config |
| 服務跟蹤 | 無 | Spring Cloud Sleuth |
| 消息總線 | 無 | Spring Cloud Bus |
| 數(shù)據(jù)流 | 無 | Spring Cloud Stream |
| 批量任務 | 無 | Spring Cloud Task |
SpringCloud資料
SpringCloud各個組件的文檔:https://springcloud.cc/spring-cloud-netflix.html
SpringCloud中文API:https://springcloud.cc/spring-cloud-dalston.html