您好,登錄后才能下訂單哦!
這篇文章主要介紹了SpringCloud Alibaba和SpringCloud有什么區別,具有一定借鑒價值,需要的朋友可以參考下。下面就和我一起來看看吧。
Spring Cloud Netflix框架也屬于Spring Cloud,但是Netflix并不是由spring來進行開發的。而是由
Netflix(Nasdaq NFLX) 美國奈飛公司
開發的。在某一時間段進行開源了出來,然后spring官網認為他的微服務架構體系挺完善,然后直接給集成到了cloud社區當中。所謂集成也就是二次封裝,封裝了Netflix框架各個組件的starter
,于是乎我們需要哪個組件就引入哪個組件的starter
,用少量的配置便可以快速上手。
Netflix源碼社區:https://github.com/Netflix
Netflix其實開源的項目有很多,而spring呢,也是將Netflix當中的五大組件給集成到了cloud當中,五大組件分別是Eureka + Ribbon + Feign + Hystrix + Zuul
。其實在沒了解過歷史的情況下,很多人都會以為這五個組件是cloud提供的,并且認為cloud是微服務的一站式解決方案,其實真正一站式的是Netflix,毫不夸張的講就是Netflix體系成就了現在的cloud!
這五個組件構造了我們所謂的一站式微服務架構,而微服務架構完全是由注冊中心、負載均衡、遠程調用、熔斷器、網關
來組成的。正因為這五個組件也徹底將Java引入到了現在人人皆知的微服務架構,他更像是一種框架發展趨勢。
組件名稱 | 組件作用 |
Eureka | 注冊中心,服務注冊、發現等 |
Ribbon | 負載均衡,多服務時做負載 |
Feign | 服務間內部調用 |
Hystrix | 熔斷器,服務熔斷、降級 |
Zuul | 服務網關,所有外部請求經過網關進行過濾轉發(路由+過濾+轉發) |
閑聊: 有的公司甚至根本都涉及不到
高并發
,但是也會毫不猶豫的使用微服務架構。其實我 個人感覺哈,如果項目特別小的情況下,單體springboot項目其實就足夠了,沒必要去盲目跟風。當然要是奔著學習而工作的,使用新架構也沒有任何毛病。
注意: 在面試的時候經常會問Netflix的五大組件,所以我認為還是有必要學習一哈的。
Spring Cloud Netflix
的五個組件其實完全足夠開發一套成熟的微服務架構,但是為什么又出來個 Spring Cloud Alibaba
呢?
原因:2018年12月cloud官網對外宣布: https://spring.io/blog/2018/12/12/spring-cloud-greenwich-rc1-available-now
其實在cloud對外宣布前,Netflix的很多產品已經早就出去停更狀態。而cloud也沒有任何辦法,例如zuul停更,cloud一直等著他更新等不來,于是直接自己開發了一個網關gateway。還有Feign,cloud直接開發了個openFeign。
這個是官網18年12月發出的框架替代:
而Alibaba在Netflix停更階段,開發出了自己的微服務組件,Nacos注冊中心和Sentinel熔斷限流組件。并且成功于2018.10.31,Spring Cloud Alibaba 正式入駐了 Spring Cloud 官方孵化器,并在 Maven 中央庫發布了第一個版本。這樣一來cloud也算是松了一口氣。
當然商人之間肯定有利益交易,Spring Cloud Alibaba也是利用spring官網來推廣自己的云產品。不管人家推薦不推薦,只要開源出來了,我認為就是值得我們學習的!并且說真心話,Nacos注冊中心不輸于任何現有的注冊中心。Sentinel熔斷器和Hystrix熔斷器那就更不用提了,簡直一個天上一個地下。當然Netflix屬于老產品,Alibaba屬于借助人家的思想而后開發的。所以本身也沒有可比性。
Spring Cloud Alibaba都有哪些功能呢?
源碼:https://github.com/alibaba/spring-cloud-alibaba SpringCloud Alibaba
官網:https://spring.io/projects/spring-cloud-alibaba#overview
github中文文檔:https://github.com/alibaba/spring-cloud-alibaba/blob/2.2.x/README-zh.md
也可以通過官網來看文檔:
使用Spring Cloud Alibaba,您只需添加一些注解和配置,您的應用程序就可以使用阿里巴巴的分布式解決方案,并通過阿里巴巴中間件構建您自己的分布式系統。
Spring Cloud 阿里巴巴的特點:
流量控制和服務降級:支持WebServlet、WebFlux、OpenFeign、RestTemplate、Dubbo接入限流降級功能。可以在運行時通過控制臺實時修改限流和降流規則,還支持對限流和降流Metrics的監控。
服務注冊和發現:可以注冊服務,客戶端可以使用 Spring 管理的 bean,自動集成 Ribbon 發現實例。
分布式配置:支持分布式系統的外部化配置,配置變化時自動刷新。
Rpc Service:擴展 Spring Cloud 客戶端 RestTemplate 和 OpenFeign 以支持調用 Dubbo RPC 服務。
事件驅動:支持構建與共享消息系統連接的高度可擴展的事件驅動微服務。
分布式事務:支持高性能、易用的分布式事務解決方案。
阿里云對象存儲:海量、安全、低成本、高可靠的云存儲服務。支持隨時隨地在任何應用程序中存儲和訪問任何類型的數據。
阿里云SchedulerX:精準、高可靠、高可用的定時作業調度服務,響應時間秒級。
阿里云短信:覆蓋全球的短信服務,阿里短信提供便捷、高效、智能的通信能力,幫助企業快速聯系客戶。
組件:
Sentinel:把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。
Nacos:一個更易于構建云原生應用的動態服務發現、配置管理和服務管理平臺。
RocketMQ:一款開源的分布式消息系統,基于高可用分布式集群技術,提供低延時的、高可靠的消息發布與訂閱服務。
Seata:阿里巴巴開源產品,一個易于使用的高性能微服務分布式事務解決方案。
Alibaba Cloud OSS: 阿里云對象存儲服務(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。
Alibaba Cloud SchedulerX: 阿里中間件團隊開發的一款分布式任務調度產品,提供秒級、精準、高可靠、高可用的定時(基于 Cron 表達式)任務調度服務。
Alibaba Cloud SMS: 覆蓋全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。
Spring Cloud Netflix屬于cloud集成了人家,而Spring Cloud Alibaba屬于是自己維護,但是加入了cloud社區,也就是在cloud官網可以看到。這兩個都不是一個普通組件,像gateway和openFeign這些屬于一個組件,而Netflix和Alibaba是一套組件,這個關系一定要屢明白!
名稱 | 之前的最新的 | 目前所替代的 |
注冊中心 | Eureka | Consul(spring的)、Nacos(Alibaba的) |
配置中心 | Config(spring的) | Consul(spring的)、Nacos(Alibaba的) |
網 關 | Zuul | SpringCloud Gateway(spring的) |
負載均衡 | Ribbon | Loadbalancer (spring的) |
熔斷降級 | Hystrix | Sentinel(Alibaba的) |
服務調用 | Feign | OpenFeign(spring的) |
其中Eureka + Ribbon + Feign + Hystrix + Zuul
都屬于Netflix 的 Nacos
和 Sentinel
屬于是Cloud Alibaba的,其他均屬于spring cloud自己的,而spring cloud屬于是spring框架的其中一個框架。
以上就是SpringCloud Alibaba和SpringCloud有什么區別的詳細內容了,看完之后是否有所收獲呢?如果想了解更多相關內容,歡迎來億速云行業資訊!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。