《Spring Cloud微服務:入門、實戰與進階》 讀書筆記

SpringCloud官網:https://spring.io/projects/spring-cloud

《Spring Cloud微服務:入門、實戰與進階》

微服務架構是一種架構風格,而Spring Cloud是實現微服務架構的一系列框架的有序集合。

書涉及的源碼均可在https://github.com/yinjihuan/spring-cloud中下載。如果下載失敗,也可以發郵件給筆者[email protected],或者關注微信公衆號“猿天地”,直接與筆者交流。

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性,巧妙地簡化了分佈式系統基礎設施的開發,如服務註冊、服務發現、配置中心、消息總線、負載均衡、斷路器、數據監控等,這些都可以用SpringBoot的開發風格做到一鍵啓動和部署。通俗地講,Spring Cloud就是用於構建微服務開發和治理的框架集合(並不是具體的一個框架),主要貢獻來自Netflix OSS。

1.3.1 Spring Cloud模塊介紹

 

Spring Cloud模塊的相關介紹如下:

❑ Eureka:服務註冊中心,用於服務管理。

❑ Ribbon:基於客戶端的負載均衡組件。

❑ Hystrix:容錯框架,能夠防止服務的雪崩效應。

❑ Feign:Web服務客戶端,能夠簡化HTTP接口的調用。

❑ Zuul:API網關,提供路由轉發、請求過濾等功能。

❑ Config:分佈式配置管理。

❑ Sleuth:服務跟蹤。

❑ Stream:構建消息驅動的微服務應用程序的框架。

❑ Bus:消息代理的集羣消息總線。除了上述模塊,還有Cli、Task……。本書只介紹一些常用的模塊。

Spring Cloud是一個非常好的框架集合,它包含的功能模塊非常多,這裏不可能一一講解到,凡是在本書中出現的模塊都是真實開發中用得到的。對於那些沒有在本書中進行講解的模塊,大家也可以自行學習,當然有任何問題也可以諮詢筆者。[插圖]

 

2.3 Spring Boot Starter自定義

Spring Boot的便利性體現在,它簡化了很多煩瑣的配置,這對於開發人員來說是一個福音,通過引入各種SpringBoot Starter包可以快速搭建出一個項目的腳手架。

目前提供的Spring Boot Starter包有:

❑ spring-boot-starter-web:快速構建基於Spring MVC的Web項目,使用Tomcat做默認嵌入式容器。

❑ spring-boot-starter-data-redis:操作Redis。

❑ spring-boot-starter-data-mongodb:操作Mongodb。

❑ spring-boot-starter-data-jpa:操作Mysql。

❑ spring-boot-starter-activemq:操作Activemq。

❑ ……

自動配置非常方便,當我們要操作Mongodb的時候,只需要引入spring-boot-starter-data-mongodb的依賴,然後配置Mongodb的鏈接信息spring.data.mongodb.uri = mongodb://localhost/test就可以使用MongoTemplate來操作數據,MongoTemplate的初始化工作全部交給Starter來完成。

自動配置麻煩的是當出現錯誤時,排查問題的難度上升了。自動配置的邏輯都在Spring Boot Starter中,要想快速定位問題,就必須得了解Spring Boot Starter的內部原理。接下來我們自己動手來實現一個Spring BootStarter。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章