作者:IsToRestart
blog.csdn.net/weixin_51291483/article/details/109212137

十余年的泰和網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整泰和建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“泰和網(wǎng)站設(shè)計(jì)”,“泰和網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1、SpringCloud與Dubbo的區(qū)別
兩者都是現(xiàn)在主流的微服務(wù)框架,但卻存在不少差異:
SpringCloud生態(tài)豐富,功能完善,更像是品牌機(jī),Dubbo則相對(duì)靈活,可定制性強(qiáng),更像是組裝機(jī)。
兩者的生態(tài)對(duì)比:
Spring Cloud 的功能很明顯比 Dubbo 更加強(qiáng)大,涵蓋面更廣,而且作為 Spring 的旗艦項(xiàng)目,它也能夠與 Spring Framework、Spring Boot、Spring Data、Spring Batch 等其他 Spring 項(xiàng)目完美融合,這些對(duì)于微服務(wù)而言是至關(guān)重要的。
使用 Dubbo 構(gòu)建的微服務(wù)架構(gòu)就像組裝電腦,各環(huán)節(jié)選擇自由度很高,但是最終結(jié)果很有可能因?yàn)橐粭l內(nèi)存質(zhì)量不行就點(diǎn)不亮了,總是讓人不怎么放心,但是如果使用者是一名高手,那這些都不是問題。
而 Spring Cloud 就像品牌機(jī),在 Spring Source 的整合下,做了大量的兼容性測(cè)試,保證了機(jī)器擁有更高的穩(wěn)定性,但是如果要在使用非原裝組件外的東西,就需要對(duì)其基礎(chǔ)原理有足夠的了解。
Feign是SpringCloud中的遠(yuǎn)程調(diào)用方式,基于成熟Http協(xié)議,所有接口都采用Rest風(fēng)格。因此接口規(guī)范更統(tǒng)一,而且只要符合規(guī)范,實(shí)現(xiàn)接口的微服務(wù)可以采用任意語言或技術(shù)開發(fā)。但受限于http協(xié)議本身的特點(diǎn),請(qǐng)求和響應(yīng)格式臃腫,其通信效率相對(duì)會(huì)差一些。
Dubbo框架默認(rèn)采用Dubbo自定義通信協(xié)議,與Http協(xié)議一樣底層都是TCP通信。但是Dubbo協(xié)議自定義了Java數(shù)據(jù)序列化和反序列化方式、數(shù)據(jù)傳輸格式,因此Dubbo在數(shù)據(jù)傳輸性能上會(huì)比Http協(xié)議要好一些。
不過這種性能差異除非是達(dá)極高的并發(fā)量級(jí),否則無需過多考慮。
相關(guān)資料:
Dubbo采用自定義的Dubbo協(xié)議實(shí)現(xiàn)遠(yuǎn)程通信,是一種典型的RPC調(diào)用方案,而SpringCloud中使用的Feign是基于Rest風(fēng)格的調(diào)用方式。
REST是一種架構(gòu)風(fēng)格,指的是一組架構(gòu)約束條件和原則。滿足這些約束條件和原則的應(yīng)用程序或設(shè)計(jì)就是 RESTful。
Rest的風(fēng)格可以完全通過HTTP協(xié)議實(shí)現(xiàn),使用 HTTP 協(xié)議處理數(shù)據(jù)通信。REST架構(gòu)對(duì)資源的操作包括獲取、創(chuàng)建、修改和刪除資源的操作正好對(duì)應(yīng)HTTP協(xié)議提供的GET、POST、PUT和DELETE方法。
因此請(qǐng)求和想要過程只要遵循h(huán)ttp協(xié)議即可,更加靈活
SpringCloud中的Feign就是Rest風(fēng)格的調(diào)用方式。
Remote Procedure Call,遠(yuǎn)程過程調(diào)用,就是像調(diào)用本地方法一樣調(diào)用遠(yuǎn)程方法。
RPC一般要確定下面幾件事情:
因?yàn)橛行蛄谢头葱蛄谢男枨螅虼藢?duì)數(shù)據(jù)傳輸格式有嚴(yán)格要求,不如Http靈活
Dubbo協(xié)議就是RPC的典型代表。
我們看看Dubbo協(xié)議和Feign的調(diào)用區(qū)別:
SpringCloud和Dubbo都支持多種注冊(cè)中心,不過目前主流來看SpringCloud用Eureka較多,Dubbo則以Zookeeper為主。兩者存在較大的差異:
Spring Cloud的子項(xiàng)目很多,比較常見的都是Netflix開源的組件:
Spring Cloud Config
集中配置管理工具,分布式系統(tǒng)中統(tǒng)一的外部配置管理,默認(rèn)使用Git來存儲(chǔ)配置,可以支持客戶端配置的刷新及加密、解密操作。
Spring Cloud Netflix
Netflix OSS 開源組件集成,包括Eureka、Hystrix、Ribbon、Feign、Zuul等核心組件。
Spring Cloud Bus
用于傳播集群狀態(tài)變化的消息總線,使用輕量級(jí)消息代理鏈接分布式系統(tǒng)中的節(jié)點(diǎn),可以用來動(dòng)態(tài)刷新集群中的服務(wù)配置。
Spring Cloud Consul
基于Hashicorp Consul的服務(wù)治理組件。
Spring Cloud Security
安全工具包,對(duì)Zuul代理中的負(fù)載均衡OAuth2客戶端及登錄認(rèn)證進(jìn)行支持。
Spring Cloud Sleuth
Spring Cloud應(yīng)用程序的分布式請(qǐng)求鏈路跟蹤,支持使用Zipkin、HTrace和基于日志(例如ELK)的跟蹤。
Spring Cloud Stream
輕量級(jí)事件驅(qū)動(dòng)微服務(wù)框架,可以使用簡單的聲明式模型來發(fā)送及接收消息,主要實(shí)現(xiàn)為Apache Kafka及RabbitMQ。
Spring Cloud Task
用于快速構(gòu)建短暫、有限數(shù)據(jù)處理任務(wù)的微服務(wù)框架,用于向應(yīng)用中添加功能性和非功能性的特性。
Spring Cloud Zookeeper
基于Apache Zookeeper的服務(wù)治理組件。
Spring Cloud Gateway
API網(wǎng)關(guān)組件,對(duì)請(qǐng)求提供路由及過濾功能。
Spring Cloud OpenFeign
基于Ribbon和Hystrix的聲明式服務(wù)調(diào)用組件,可以動(dòng)態(tài)創(chuàng)建基于Spring MVC注解的接口實(shí)現(xiàn)用于服務(wù)調(diào)用,在Spring Cloud 2.0中已經(jīng)取代Feign成為了一等公民。
企業(yè)中對(duì)于微服務(wù)監(jiān)控有一套東西,叫做APM。比如:SpringCloudSeluth+Zipkin,Pinpoint、Skywalking,可以實(shí)現(xiàn)性能監(jiān)控、鏈路跟蹤(精確到某個(gè)代碼,某條sql)、CPU運(yùn)行情況,鏈路運(yùn)行耗時(shí)。
當(dāng)然, 還可以借助于分布式日志管理系統(tǒng)。把項(xiàng)目運(yùn)行的日志收集,形成統(tǒng)計(jì)報(bào)表,放入elasticsearch,便于搜索查看。比如:ELK技術(shù)棧、GrayLog
Hystix是Netflix開源的一個(gè)延遲和容錯(cuò)庫,用于隔離訪問遠(yuǎn)程服務(wù)、第三方庫,防止出現(xiàn)級(jí)聯(lián)失敗。比較常用的手段就是線程隔離和服務(wù)熔斷。
近期熱文推薦:
1.1,000+ 道 Java面試題及答案整理(2022最新版)
2.勁爆!Java 協(xié)程要來了。。。
3.Spring Boot 2.x 教程,太全了!
4.別再寫滿屏的爆爆爆炸類了,試試裝飾器模式,這才是優(yōu)雅的方式!!
5.《Java開發(fā)手冊(cè)(嵩山版)》最新發(fā)布,速速下載!
覺得不錯(cuò),別忘了隨手點(diǎn)贊+轉(zhuǎn)發(fā)哦!
分享題目:面試guan:談?wù)?Spring Cloud 與 Dubbo 有什么區(qū)別?
地址分享:http://www.chinadenli.net/article38/dsdihpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)、、靜態(tài)網(wǎng)站、用戶體驗(yàn)、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)