微信:zmjyyg (一對一講解)git
Spring Cloud經常使用模塊的功能:spring
(1)Eureka:Netflix公司開發的框架,用於微服務的註冊和發現,提供類似功能的還能夠使用Zookeeper,但官方推薦使用Eureka。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
(2)Zookeeper:基於Apache Zookeeper的分佈式調度框架,提供微服務的註冊和發現,與Eureka提供類似的功能。
可是Zookeeper須要安裝服務端,而Eureka無需安裝。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-all</artifactId>
</dependency>
(2)Actuator:展現當前運用程序的運行狀況,例如運行狀態、數據庫、jdk版本等信息。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
(3)Security:基於Spring Security的安全工具包,爲應用程序增長安全認證。例如爲Eureka增長認證機制方可註冊和發現服務。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
(4)Ribbon:Netflix公司開發的框架,實現客戶端側負載均衡。Ribbon能夠與Eureka無縫整合使用,也能夠脫離Eureka來使用。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
</dependency>
(5)Feign:實現聲明式RESTful調用。主要爲請求時的多參數問題提供方便。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
</dependency>
(6)Hystrix:Netflix公司開發的框架,是個熔斷器,實現微服務的容錯處理,防止雪崩效應。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
</dependency>
(7)Turbine:Netflix公司開發的框架,聚合Hystrix的監控數據,使其整合到一塊兒進行展現。
<!--maven依賴配置,注意turbine和turbine-stream不能同時使用-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-turbine-stream</artifactId>
</dependency>
(8)RabbitMQ:此MQ是用Erlang語言編寫的高效率開源消息隊列框架,Spring Cloud整合了此MQ,用於消息隊列功能。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-stream-rabbit</artifactId>
</dependency>
(9)Zuul:Netflix公司開發的框架,構建微服務網關,提供路由功能,聚合多個微服務方便一次調用。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
(10)Sidecar:整合非JVM微服務,即整合由其餘語言編寫的服務,例如Node.js提供的服務。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-netflix-sidecar</artifactId>
</dependency>
(11)Config:統一管理微服務配置,包含有服務端和客戶端。服務端的配置信息能夠從git、svn、本地文件等讀取,而後供客戶端查詢。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
(12)Bus:事件、消息總線,用於在集羣中傳播狀態的變化,須要藉助MQ。配合Config框架,能夠實現項目自動刷新配置。
<!--maven依賴配置,依賴rabbitMQ-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
(13)Sleuth:日誌收集工具包,實現微服務的跟蹤,分析系統瓶頸,解決系統問題。
<!--maven依賴配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>數據庫