日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Spring Cloud Alibaba到底坑不坑?

 liang1234_ 2019-04-14

之前我發(fā)過(guò)一篇《說(shuō)說(shuō)我為什么看好Spring Cloud Alibaba》,然后這兩天有網(wǎng)友給我轉(zhuǎn)了這篇文章《坑爹項(xiàng)目spring-cloud-alibaba,我們也來(lái)一個(gè)》(https:///post/5ca723696fb9a05e20221c78),問(wèn)我的看法是怎么樣的,聊天時(shí)候簡(jiǎn)單說(shuō)了一下。今天在家休息,抽空整理一下內(nèi)容,逐點(diǎn)說(shuō)一下我的看法,主要還是覺(jué)得這篇文章博眼球的成分高一些,因?yàn)檫@篇文章的解讀與之前其他某些自媒體發(fā)布的《Eureka 2.0 開(kāi)源工作宣告停止,繼續(xù)使用風(fēng)險(xiǎn)自負(fù)》一文有異曲同工之“妙”,如果讀者沒(méi)有真正的理解Spring Cloud與Spring Cloud Alibaba,就很有可能會(huì)對(duì)它們有什么誤解,然后產(chǎn)生這樣的想法:

  • 感覺(jué)很有道理,這東西真垃圾

  • 標(biāo)題很燃,必須轉(zhuǎn)發(fā)

下面具體來(lái)說(shuō)說(shuō)該文章中,那些我認(rèn)為不太正確的解讀:

第一點(diǎn):遠(yuǎn)程調(diào)用RPC

看看這篇文章的解讀:

SpringCloud默認(rèn)的是Feign和Ribbon,主要是提供了遠(yuǎn)程調(diào)用請(qǐng)求和解析,以及負(fù)載均衡的功能。客觀點(diǎn)來(lái)說(shuō),如果不用這兩個(gè)組件,就會(huì)越來(lái)越四不像,干脆也別叫SpringCloud了,所以替換不得。 RPC會(huì)大量使用動(dòng)態(tài)代理的功能,將你的字符串或者配置(因?yàn)榫W(wǎng)絡(luò)傳輸方便)搞成動(dòng)態(tài)的接口。

你也可以寫(xiě)一個(gè)RPC進(jìn)行集成,有很多教程教你手?jǐn)]一個(gè)。

爸爸版的集成了個(gè)dubbo,dubbo就是個(gè)RPC。所以你一用這玩意,其他的一些關(guān)鍵組件也得跟著全套的換,組件就不叫組件了!

作者認(rèn)為Spring Cloud的負(fù)載均衡和遠(yuǎn)程調(diào)用必須使用Feign和Ribbon,這是Spring Cloud的默認(rèn)實(shí)現(xiàn)。如果換成Dubbo,就是四不像了。

說(shuō)說(shuō)我的想法:

第一點(diǎn):Dubbo在融入Spring Cloud的時(shí)候,真的就是四不像嗎?如果真正看過(guò)Spring Cloud Alibaba以及理解Spring Cloud Common中的抽象的話,這個(gè)問(wèn)題根本就不用去討論。Spring Cloud Alibaba Dubbo在實(shí)現(xiàn)的時(shí)候是兼容Feign的編程模型的。有興趣的讀者可以看看小馬哥在該項(xiàng)目中的案例:

Github地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba/tree/master/spring-cloud-alibaba-examples/spring-cloud-alibaba-dubbo-examples

第二點(diǎn):Feign和Ribbon并不是Spring Cloud的標(biāo)準(zhǔn),它們也只是Netflix OSS中的組件。對(duì)于負(fù)載均衡,大家可以了解一下 spring-cloud-loadbalancer,它現(xiàn)在是Spring Cloud Common的一部分,這才是真正的標(biāo)準(zhǔn)。對(duì)于Spring Cloud Alibaba在整合Dubbo的時(shí)候兼容Feign客戶端,已經(jīng)是非常有用戶意識(shí)了。

Github地址:https://github.com/spring-cloud-incubator/spring-cloud-loadbalancer

所以,作者到底有沒(méi)有看過(guò)Spring Cloud Alibaba Dubbo的方案?

第二點(diǎn):注冊(cè)中心

看看這篇文章的解讀:

服務(wù)注冊(cè)中心是微服務(wù)的另外一個(gè)必備組件,用來(lái)協(xié)調(diào)服務(wù)提供者和調(diào)用者的相互發(fā)現(xiàn),SpringCloud默認(rèn)的注冊(cè)中心是Eureka。

爸爸版的用的是Nacos。Nacos的更新目前來(lái)看還是比較活躍的,但真沒(méi)有必要集成在一個(gè)Cloud中。Nacos最好的方式還是獨(dú)立發(fā)布,然后維護(hù)一個(gè)starter。開(kāi)發(fā)者可以按照自己公司的環(huán)境進(jìn)行有選擇性的集成或替換。集成一個(gè)組件的成本是比較低的,遠(yuǎn)遠(yuǎn)低于刪掉一堆自以為是的功能。

SpringCloud還可以選擇Zookeeper,或者Consul,甚至Etcd等,進(jìn)行注冊(cè)中心的搭建。目前,Eureka宣布不再維護(hù)后,Consul應(yīng)該是首要選擇。

Consul自帶Dashboard和ACL,能夠看到大多數(shù)你所關(guān)心的信息。為了能夠集成在我們公司的體系中,你可能會(huì)開(kāi)發(fā)一些后臺(tái)管理功能,進(jìn)行更多的控制。這部分開(kāi)發(fā)簡(jiǎn)單,只需要做個(gè)界面,直接通過(guò)API讀取Consul的數(shù)據(jù)就可以了。

說(shuō)說(shuō)我的想法:

第一點(diǎn):注冊(cè)中心的選擇。對(duì)于Eureka不再更新之后,到底選擇使用哪個(gè)并沒(méi)有完全的最優(yōu)解,存在即合理,選擇適合自己團(tuán)隊(duì)(技術(shù)棧、使用成本)的,才是最需要考慮的點(diǎn)。

第二點(diǎn):作者建議“Nacos最好的方式還是獨(dú)立發(fā)布,然后維護(hù)一個(gè)starter”。這確實(shí)是一個(gè)很好的建議,但是這點(diǎn)我就奇怪了,作者到底有沒(méi)有看過(guò)Nacos?Nacos目前就是獨(dú)立發(fā)布的,Spring Cloud Alibaba對(duì)Nacos的支持,只是Nacos在客戶端應(yīng)用中,針對(duì)Spring Cloud用戶的一種應(yīng)用方式而已。

所以,作者到底有沒(méi)有看過(guò)Spring Cloud Alibaba Nacos的方案?

第三點(diǎn):熔斷、限流

看看這篇文章的解讀:

這部分已經(jīng)被炒作成微服務(wù)體系的必備組件,但捫心自問(wèn),這個(gè)功能對(duì)于中小型的應(yīng)用可能就是一個(gè)擺設(shè)。但我們還是要搞的,因?yàn)檫@是個(gè)賣點(diǎn)。

SpringCloud默認(rèn)的組件是Hystrix,提供了多線程和信號(hào)量來(lái)控制的不同方式??上У氖荋ystrix也宣布不再維護(hù)了,官方推薦的替換版本是resilience4j。

熔斷限流功能其實(shí)是非常簡(jiǎn)單的,同事花了一周時(shí)間就擼了個(gè)足夠用的組件。這部分的主要設(shè)計(jì)在于能夠簡(jiǎn)單的應(yīng)用,最好是能夠通過(guò)后臺(tái)配置實(shí)時(shí)生效。

爸爸版的是Sentinel,雖然也帶了個(gè)后臺(tái),但是并沒(méi)有和注冊(cè)中心進(jìn)行集成,搞了個(gè)不倫不類。

我要用Sentinel,我自己集成就好了,用你個(gè)大頭鬼。

說(shuō)說(shuō)我的想法:

第一點(diǎn):我覺(jué)得作者能碰到一個(gè)能擼出熔斷、限流框架和配置管理的同事,還是非常幸運(yùn)的。但是并不是所有的團(tuán)隊(duì)都有人可以做這些,所以我覺(jué)得有這樣的開(kāi)源項(xiàng)目不管放在什么時(shí)候,都是對(duì)行業(yè)有益的。你不用沒(méi)啥問(wèn)題,但是并不代表對(duì)別人沒(méi)用,并不代表這個(gè)項(xiàng)目不夠優(yōu)秀。

第二點(diǎn):對(duì)于作者所說(shuō)的,沒(méi)有與注冊(cè)中心集成,搞得不倫不類。這里的不倫不類,一直沒(méi)能Get到作者的點(diǎn)。。。不知道是不是有點(diǎn)“為賦新詞強(qiáng)說(shuō)愁”的感覺(jué)?個(gè)人在對(duì)比Hystrix和Sentinel的時(shí)候,還是覺(jué)得有非常多要比Hystrix做得更好的地方的。

當(dāng)然真正應(yīng)用到自己的架構(gòu)體系中,通常都是需要做一些適配、自定義等工作的。但是,對(duì)于開(kāi)源產(chǎn)品的擴(kuò)展,從來(lái)都不是用來(lái)抨擊開(kāi)源項(xiàng)目的核心原因。

總結(jié)

現(xiàn)在技術(shù)圈有個(gè)怪現(xiàn)象,自從一些技術(shù)自媒體人開(kāi)始分享自己如何通過(guò)分享技術(shù)來(lái)賺錢開(kāi)始,催生出了越來(lái)越多的技術(shù)自媒體。

然后就出現(xiàn)了這樣的奇葩現(xiàn)象:

  • 沒(méi)有做過(guò)面試官的人在分享如何應(yīng)對(duì)面試

  • 沒(méi)有做過(guò)架構(gòu)師的人在分享如何成為架構(gòu)師

  • 沒(méi)有賺到錢的人在分享如何賺錢

  • 不是中產(chǎn)的人在分享如何成為中產(chǎn)

  • ...

不可否認(rèn),做技術(shù)自媒體是可以賺錢。但是單純?yōu)榱速嶅X的技術(shù)自媒體,生搬硬套那些大V們分享的賺錢方法,為了追求流量,會(huì)使用夸大表述、扭曲事實(shí)、傳播侵權(quán)內(nèi)容、編故事博取同情等手段來(lái)獲得關(guān)注和轉(zhuǎn)發(fā)。這使得很多技術(shù)內(nèi)容的分享就變得不那么純粹了,甚至?xí)?duì)讀者造成對(duì)技術(shù)內(nèi)容的誤解。

我沒(méi)有能力去控制那些自媒體發(fā)布這些不實(shí)的內(nèi)容,但是在我了解的范圍內(nèi),還是盡力輸出一些我的理解和思考。希望可以給這些誤讀內(nèi)容不同的聲音,能夠引起讀者的注意,從而希望大家可以多一些自己的思考。

當(dāng)然,我的觀點(diǎn)也不一定都是對(duì)的,所以不管讀者看到什么內(nèi)容,一定要保持自己的思考。當(dāng)你發(fā)現(xiàn)網(wǎng)上有內(nèi)容發(fā)生沖突的時(shí)候,唯一可以解決的方式不是選擇一方去相信,還是要自己去深入研究,去驗(yàn)證哪一個(gè)觀點(diǎn)才是正確的。

最后,聲明一點(diǎn):我不是Spring Cloud Alibaba的成員,也不是阿里系公司的員工。對(duì)于Spring Cloud Alibaba的支持,只是作為一名奮斗在一線的程序員所產(chǎn)生的思考。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多