SpringCloud組件

SpringBoot中的常見配置(application.properties)

SpringCloud組件

Spring Cloud Config:配置管理開發工具包,可以讓你把配置放到遠程服務器,目前支持本地存儲、Git以及Subversion。

Spring Cloud Bus:事件、消息總線,用於在集羣(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署。

Spring Cloud Netflix:針對多種Netflix組件提供的開發工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。

Netflix Eureka:雲端負載均衡,一個基於 REST 的服務,用於定位服務,以實現雲端的負載均衡和中間層服務器的故障轉移。

Netflix Hystrix:容錯管理工具,旨在通過控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。

Netflix Zuul:邊緣服務工具,是提供動態路由,監控,彈性,安全等的邊緣服務。

Netflix Archaius:配置管理API,包含一系列配置管理API,提供動態類型化屬性、線程安全配置操作、輪詢框架、回調機制等功能。

Spring Cloud for Cloud Foundry:通過Oauth2協議綁定服務到CloudFoundry,CloudFoundry是VMware推出的開源PaaS雲平臺。

Spring Cloud Sleuth:日誌收集工具包,封裝了Dapper,Zipkin和HTrace操作。

Spring Cloud Data Flow:大數據操作工具,通過命令行方式操作數據流。

Spring Cloud Security: 安全工具包,爲你的應用程序添加安全控制,主要是指OAuth2。

Spring Cloud Consul:封裝了Consul操作,consul是一個服務發現與配置工具,與Docker容器可以無縫集成。

Spring Cloud Zookeeper:操作Zookeeper的工具包,用於使用zookeeper方式的服務註冊和發現。

Spring Cloud Stream:數據流操作開發包,封裝了與Redis,Rabbit、Kafka等發送接收消息。

Spring Cloud CLI:基於 Spring Boot CLI,可以讓你以命令行方式快速建立雲組件。

SpringCloud
SpringCloud實戰微服務:
單體架構:一個歸檔包包含了應用的所有功能的應用程序,這是一種比較傳統的架構風格

架構單體應用的架構風格,我們稱之爲單體架構;

單體架構存在的缺點:
1、複雜性逐漸升高;

2、技術債務逐漸上升;

3、部署速度逐漸變慢;

4、阻礙技術創新;

5、無法按需伸縮;

單體架構->SOA->微服務

微服務:

1、 每個微服務可獨立的運行在自己的進程中;
2、 一系列獨立運行的微服務共同構建起一整個系統;
3、 每個服務未獨立的業務開發,一個微服務一般完成某個特定的功能,比如:訂單管理、用戶管理等;
4、 微服務之間通過一些輕量的通信機制進行通信,例如通過REST API或者RPC的方式進行調用。

微服務優點:

1、 易於開發和維護;
2、 啓動較快;
3、 局部修改容易部署;
4、 技術棧不受限;
5、 按需伸縮;
6、 DevOps;

微服務開發原則:單一職責;服務自治;輕量級通信;接口明確

SpringCloud是一個在springboot基礎上快速構建分佈式系統的工具集

服務提供者與服務
服務發現:服務提供者和服務消費者在啓動的時候,會把自己的網絡地址都註冊到服務發現組件,服務消費者要調用的時候,會從服務發現組件中查找服務提供者的網絡地址,然後進行訪問。當服務提供者的服務註冊到服務發現組件中之後,服務註冊組件會有間隔的向服務提供者發起心跳,若服務提供者多次無法接收到心跳,則去除該服務提供者。

服務發現組件的功能
1、服務註冊表:是一個記錄當前可用服務實例的網絡信息數據庫,是服務發現機制的核心。服務註冊表提供查詢API和管理API,使用查詢API獲得可用的實例,使用管理API實現註冊和註銷。
2、服務註冊:將服務註冊到服務註冊表。
3、服務註銷:將服務從服務註冊表中移除。

健康檢查:心跳機制

服務發現的方式
1、 客戶端發現:Eureka,Zookeeper
2、 服務端發現:Consul+nginx

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