乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Spring Cloud Alibaba到底坑不坑?

       liang1234_ 2019-04-14

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

      • 感覺很有道理,這東西真垃圾

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

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

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

      看看這篇文章的解讀:

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

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

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

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

      說說我的想法:

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

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

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

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

      所以,作者到底有沒有看過Spring Cloud Alibaba Dubbo的方案?

      第二點:注冊中心

      看看這篇文章的解讀:

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

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

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

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

      說說我的想法:

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

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

      所以,作者到底有沒有看過Spring Cloud Alibaba Nacos的方案?

      第三點:熔斷、限流

      看看這篇文章的解讀:

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

      SpringCloud默認(rèn)的組件是Hystrix,提供了多線程和信號量來控制的不同方式。可惜的是Hystrix也宣布不再維護(hù)了,官方推薦的替換版本是resilience4j。

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

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

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

      說說我的想法:

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

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

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

      總結(jié)

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

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

      • 沒有做過面試官的人在分享如何應(yīng)對面試

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

      • 沒有賺到錢的人在分享如何賺錢

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

      • ...

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

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

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

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

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多