您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關微服務和spring cloud是什么,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
1, 什么是微服務?
微服務的概念源于2014年3月Martin Fowler所寫的一篇文章“Microservices”。
微服務架構是一種架構模式,它提倡將單一應用程序劃分成一組小的服務,服務之間互相協調、互相配合,為用戶提供最終價值。每個服務運行在其獨立的進程中,服務與服務間采用輕量級的通信機制互相溝通(通常是基于HTTP的RESTful API)。每個服務都圍繞著具體業務進行構建,并且能夠被獨立地部署到生產環境、類生產環境等。另外,應盡量避免統一的、集中式的服務管理機制,對具體的一個服務而言,應根據業務上下文,選擇合適的語言、工具對其進行構建。
微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。在所有情況下,每個任務代表著一個小的業務能力。
2,架構特點:
3,微服務vs傳統開發
使用微服務有一段時間了,這種開發模式和傳統的開發模式對比,有很大的不同。
分工不同,以前我們可能是一個一個模塊,現在可能是一人一個系統。
架構不同,服務的拆分是一個技術含量很高的問題,拆分是否合理對以后發展影響巨大。
部署方式不同,如果還像以前一樣部署估計累死了,自動化運維不可不上。
容災不同,好的微服務可以隔離故障避免服務整體down掉,壞的微服務設計仍然可以因為一個子服務出現問題導致連鎖反應。
1. 簡介
Spring Cloud項目的官方網址:http://projects.spring.io/spring-cloud/
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的開發便利性巧妙地簡化了分布式系統基礎設施的開發,如服務發現注冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,都可以用Spring Boot的開發風格做到一鍵啟動和部署。Spring Cloud并沒有重復制造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來,通過Spring Boot風格進行再封裝屏蔽掉了復雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分布式系統開發工具包。
2,Spring Cloud體系介紹
名稱 | 簡介 |
spring-cloud-aws | 用于簡化整合Amazon Web Service的組件 |
spring-cloud-bus | 事件、消息總線,用于傳播集群中的狀態變化或事件。 |
spring-cloud-cli | 用于在Groovy平臺創建Spring Cloud應用。 |
spring-cloud-commons | 服務發現、負載均衡、熔斷機制這種模式為Spring Cloud客戶端提供了一個通用的抽象層。 |
spring-cloud-contract | 契約測試。 |
spring-cloud-config | 配置管理工具,支持使用git、svn等存儲配置文件。并在支持客戶端配置信息的刷新,加密解密配置內容等。 |
spring-cloud-netflix | 核心組件,對多個Netflix OSS開源套件進行整合。 |
spring-cloud-security | 安全工具包。 |
spring-cloud-cloud foundry | 整合Pivotal Cloudfoundry(Vmware推出的業界第一個開源PaaS云平臺)支持。 |
spring-cloud-consul | 服務發現與配置管理工具 |
spring-cloud-sleuth | Spring Cloud應用的分布式跟蹤實現。 |
spring-cloud-stream | 通過Redis、RabbitMQ、Kafka實現的消息微服務。 |
spring-cloud-zookeeper | 基于ZooKeeper的服務發現與配置管理組件。 |
spring-boot | 簡化Spring應用的初始搭建以及開發過程,springCloud開發的基礎 |
spring-cloud-task | 用于快速構建數據處理的應用。 |
spring-cloud-vault | Spring Cloud Vault Config為分布式系統中的外部化配置提供客戶端支持。 |
spring-cloud-gateway | Spring Cloud網關相關的整合實現。 |
Spring Cloud Data Flow | 一個云本地程序和操作模型,組成數據微服務在一個結構化的平臺上。 |
Spring Cloud Connectors | 便于PaaS應用在各種平臺上連接到后端像數據庫和消息經紀服務。 |
Spring Cloud … | 數量還在一直增加… |
3,Spring Cloud 核心功能:
分布式/版本化配置
服務注冊和發現
路由
服務和服務之間的調用
負載均衡
斷路器
分布式消息傳遞
通過上兩張圖,我們來了解一下各組件配置使用運行流程:
1、請求統一通過API網關(Zuul)來訪問內部服務.
2、網關接收到請求后,從注冊中心(Eureka)獲取可用服務
3、由Ribbon進行均衡負載后,分發到后端具體實例
4、微服務之間通過Feign進行通信處理業務
5、Hystrix負責處理服務超時熔斷
6、Turbine監控服務間的調用和熔斷相關指標
7、Sleuth進行請求的鏈路跟蹤監控
微服務是一種架構的理念,提出了微服務的設計原則,從理論為具體的技術落地提供了指導思想。Spring Boot是一套快速配置腳手架,可以基于Spring Boot快速開發單個微服務;Spring Cloud是一個基于Spring Boot實現的服務治理工具包;Spring Boot專注于快速、方便集成的單個微服務個體,Spring Cloud關注全局的服務治理框架。
關于微服務和spring cloud是什么就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。