Spring Cloud 微服務 分佈式

首先要知道的是Spring Cloud是微服務架構。

微服務架構是一種架構模式,它將單一的應用程序劃分成一組很小的服務,服務之間相互協調、互相配合。每個服務都運行在獨立的進程中,服務與服務間採用輕量級通信機制(通常是HTTP協議的RESTful API)。每個服務都有着自己的業務,並且能夠被獨立的部署到生產環境、類生產環境等,對於具體的一個服務而言,應該根據上下文,選擇合適的語言、工具對其進行構建。

 Spring Cloud中是一種微服務架構,項目案例:www.1b23.com,其中包含如下功能:

服務註冊與發現、服務調用、服務熔斷、負載均衡、服務降級、服務消息隊列、配置中心管理、服務網關、服務監控、全鏈路追蹤、自動化構建部署、服務定時任務。

 但是在項目中一般只會用到如下幾種:

服務註冊與發現:EUREKA

服務負載與調用:NETFLIX OSS RIBBON、NETFLIX FEIGN

服務熔斷降級:HYSTRIX

服務網關:NETFLIX Zuul

服務器分佈式配置:Spring Coloud Config

服務開發:Spring Boot

 下面來看下官方解析

 Cloud

分佈式系統的開發與一般的系統來說是具有挑戰性的。服務之間的交流更爲密切,Cloud把項目的工作重點由應用層移到了網絡層。代碼想要連接到Cloud服務需要12個因素,如配置文件,狀態,日誌,連接到後端的服務。Spring Cloud提供了這些成套的服務使得開發者的程序服務能夠在雲上跑起來。

 Spring Cloud architecture

Service discovery

在cloud,應用只會知道除了本地服務,不會知道其他主機上的服務。然而Netflix Eureka和或HashiCorp Consul可以人本地服務知道其他主機上服務的問題,Spring Boot提供了DiscoveryClient實現用於Eureka、Consul、Zookeeper、Kubernetes系統註冊方面的服務。

 API gateway

Cloud上的服務都依賴與API gateway維護其安全,服務隱藏,調節負載等作用

 Cloud configuration

cloud中,配置文件往往是在一套環境中或者系統中或者幾個應用中使用,而不是單獨在一個應用中使用,Spring Cloud Config就是用於提供這些幫助的。

 Tracing

分佈式應用程序的調試比較複雜,定爲故障需要幾個獨立的服務一起運行定位。Spring Cloud Sleuth可以測試應用程序。


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