日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

微服務(wù),其實(shí)它也是有很多坑

來源: 責(zé)編: 時(shí)間:2023-12-01 17:15:07 253觀看
導(dǎo)讀微服務(wù)的好處有好多,易于擴(kuò)展,發(fā)布簡(jiǎn)單,技術(shù)異構(gòu),便于重構(gòu)等等,但今天我們的主題不是說好處,而是我們需要知道微服務(wù)同樣也會(huì)帶來痛,我覺得我們更要重視,提出問題,定義問題比解決問題更加的重要。(1)微服務(wù)職責(zé)劃分微服務(wù)的難點(diǎn)

微服務(wù)的好處有好多,易于擴(kuò)展,發(fā)布簡(jiǎn)單,技術(shù)異構(gòu),便于重構(gòu)等等,但今天我們的主題不是說好處,而是我們需要知道微服務(wù)同樣也會(huì)帶來痛,我覺得我們更要重視,提出問題,定義問題比解決問題更加的重要。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

(1)微服務(wù)職責(zé)劃分

微服務(wù)的難點(diǎn)在于無法對(duì)一些特定職責(zé)進(jìn)行清晰劃分,比如這個(gè)職責(zé)歸屬于A還是屬于B,舉例如下:3Gv28資訊網(wǎng)——每日最新資訊28at.com

  • 一個(gè)能根據(jù)商品ID找出商品信息的接口,將他放在商品服務(wù)中,再比如單個(gè)用戶的所有訂單,我們就把他放在訂單服務(wù)中
  • 業(yè)務(wù)邏輯服務(wù)歸屬和業(yè)務(wù)人員的劃分可能存在關(guān)系,比如每個(gè)商品在每個(gè)門店的庫存應(yīng)該放在商品服務(wù)還是門店服務(wù)呢?因?yàn)楦髯蚤T店的商品庫存是由各自門店的運(yùn)營(yíng)人員管理,最終我們決定把它放在門店系統(tǒng)中。
  • 業(yè)務(wù)邏輯服務(wù)歸屬還與組織架構(gòu)可能存在關(guān)系,通過康威定律我們很快就能明白

Conway's law is an adage named after computer programmer Melvin Conway, who introduced the idea in 1967. It states that. organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations.3Gv28資訊網(wǎng)——每日最新資訊28at.com

康威是個(gè)程序員,他提出:設(shè)計(jì)系統(tǒng)的組織在設(shè)計(jì)系統(tǒng)的時(shí)候,會(huì)設(shè)計(jì)出基于這些組織的溝通結(jié)構(gòu)的系統(tǒng)。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

上面的例子說明,在現(xiàn)實(shí)的場(chǎng)景中,微服務(wù)職責(zé)劃分會(huì)受到太多因素的影響。我們需要慎重考慮。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

(2)微服務(wù)粒度劃分

舉例一個(gè)新零售系統(tǒng),剛開始只有登錄和信息管理。這些功能放在一個(gè)服務(wù)就行了,隨著加盟商的加入,因?yàn)榧用松虦?zhǔn)入,開店,退出都設(shè)計(jì)費(fèi)用問題,因此我們又需要增加財(cái)務(wù)功能,比如應(yīng)收、應(yīng)付、實(shí)收、實(shí)付,退款,對(duì)賬等,緊接著又要對(duì)加盟商員工管理(員工管理、部門管理、權(quán)限管理等)返點(diǎn)、加盟商子門店管理等功能,而此時(shí)的加盟商管理系統(tǒng)只有一個(gè)服務(wù),你覺得合適嗎?3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

一般來說,在設(shè)計(jì)新功能之前,我們會(huì)遵循一個(gè)大致的原則:根據(jù)新的微服務(wù)的大小,安排3-4人設(shè)計(jì)即可。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

在對(duì)微服務(wù)拆分的時(shí)候,我們還需要考慮另外一個(gè)因素---績(jī)效。大家都知道,開發(fā)人員的績(jī)效很難實(shí)現(xiàn)量化,而微服務(wù)可謂是一個(gè)難得的可量化指標(biāo)。3Gv28資訊網(wǎng)——每日最新資訊28at.com

雖然我們不能拿微服務(wù)數(shù)作為KPI,但是開發(fā)人員在闡述個(gè)人工作量的時(shí)候會(huì)提及服務(wù)數(shù)。然后潛意識(shí)里就會(huì)細(xì)化微服務(wù)的個(gè)數(shù),所以我們需要控制服務(wù)數(shù),這種方法也可以作為服務(wù)拆分的一個(gè)逆向操作。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

(3)沒人知道系統(tǒng)整體架構(gòu)的全貌

不知道你有沒有碰到過這種情況:每隔幾個(gè)月或半年,大領(lǐng)導(dǎo)就會(huì)發(fā)話讓我們匯報(bào)下每個(gè)部門的微服務(wù)數(shù)量、公司微服務(wù)總數(shù)量、每個(gè)微服務(wù)都用來做什么等情況。因?yàn)槠髽I(yè)微服務(wù)數(shù)較多,所以每次給大領(lǐng)導(dǎo)匯報(bào)時(shí),都是長(zhǎng)長(zhǎng)的一條清單。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

在以前的公司,我首先會(huì)把公司的整個(gè)架構(gòu)系統(tǒng)全貌搞清楚,之后一旦出現(xiàn)問題,也就容易定位故障點(diǎn)了。可是自從來到這家使用微服務(wù)的公司后,我便再也沒有這樣的沖動(dòng)了,只要求搞懂自己的一畝三分地就行,如果出現(xiàn)問題臨時(shí)學(xué)習(xí)一下相關(guān)系統(tǒng)就好了。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

因此,在實(shí)際工作中,很難找到這么一個(gè)人,他能知道系統(tǒng)整體架構(gòu)的全貌,這就是微服務(wù)的一個(gè)痛點(diǎn)。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

(4)重復(fù)代碼多

3Gv28資訊網(wǎng)——每日最新資訊28at.com

比如某個(gè)團(tuán)隊(duì)做了一個(gè)日志自動(dòng)埋點(diǎn)的功能,它能自動(dòng)記錄一些特定方法的調(diào)用。但是第一個(gè)吃螃蟹的團(tuán)隊(duì)使用后,立馬報(bào)出了一個(gè) JAR 版本沖突問題,自動(dòng)埋點(diǎn)團(tuán)隊(duì)又重新設(shè)計(jì)了一版埋點(diǎn)的 JAR,并去掉了一些特定 API 的使用,最終 2 個(gè)團(tuán)隊(duì)終于可以正常使用了。不過呢,第三個(gè)使用埋點(diǎn)的 JAR 的團(tuán)隊(duì)又匯報(bào)了一個(gè) JAR 版本沖突問題,又開始重復(fù)了上面的操作。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

后來我們復(fù)盤了下,得出結(jié)論:重用 JAR 本身沒有錯(cuò),錯(cuò)就錯(cuò)在我們使用的 JAR 版本太多了,必須改變這個(gè)局面。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

不過,維護(hù)這些小小的重復(fù)代碼總比統(tǒng)一排期做重構(gòu)、統(tǒng)一評(píng)審 JAR 版本的成本低得多。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

(5)分布式事務(wù)

分布式事務(wù)是微服務(wù)永久的痛,事務(wù)出錯(cuò),是哪些回滾,哪些不會(huì)滾等等問題。3Gv28資訊網(wǎng)——每日最新資訊28at.com

因此在這種情況下,大部分場(chǎng)景下我們不考慮回滾和重試,只考慮Happy Path,如果報(bào)錯(cuò)就記個(gè)異常日志,再線下處理。也是So easy!3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

(6)耗費(fèi)更多的服務(wù)器資源3Gv28資訊網(wǎng)——每日最新資訊28at.com

有時(shí)候?yàn)榱诉\(yùn)維更好的定位問題,我們把服務(wù)各自分配到每一個(gè)節(jié)點(diǎn)上,同樣這樣就會(huì)耗掉很多的服務(wù)器。3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

3Gv28資訊網(wǎng)——每日最新資訊28at.com

總結(jié):3Gv28資訊網(wǎng)——每日最新資訊28at.com

  1. 微服務(wù)的職責(zé)劃分
  2. 服務(wù)的拆分
  3. 沒人知道系統(tǒng)的架構(gòu)全貌
  4. 重復(fù)代碼多
  5. 分布式事務(wù)
  6. 耗費(fèi)更多的服務(wù)器資源

3Gv28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-35884-0.html微服務(wù),其實(shí)它也是有很多坑

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 使用 SpringBoot 實(shí)現(xiàn)獲取微信運(yùn)動(dòng)步數(shù)功能

下一篇: SpringBoot擴(kuò)展點(diǎn)之BeanPostProcessor

標(biāo)簽:
  • 熱門焦點(diǎn)
  • vivo TWS Air開箱體驗(yàn):真輕 臻好聽

    在vivo S15系列新機(jī)的發(fā)布會(huì)上,vivo的最新款真無線藍(lán)牙耳機(jī)vivo TWS Air也一同發(fā)布,本次就這款耳機(jī)新品給大家?guī)硪粋€(gè)簡(jiǎn)單的分享。外包裝盒上,vivo TWS Air保持了vivo自家產(chǎn)
  • Raft算法:保障分布式系統(tǒng)共識(shí)的穩(wěn)健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可復(fù)制、可冗余、可容錯(cuò)”)的首字母縮寫。Raft算法是一種用于在分布式系統(tǒng)
  • 三言兩語說透設(shè)計(jì)模式的藝術(shù)-簡(jiǎn)單工廠模式

    一、寫在前面工廠模式是最常見的一種創(chuàng)建型設(shè)計(jì)模式,通常說的工廠模式指的是工廠方法模式,是使用頻率最高的工廠模式。簡(jiǎn)單工廠模式又稱為靜態(tài)工廠方法模式,不屬于GoF 23種設(shè)計(jì)
  • K8S | Service服務(wù)發(fā)現(xiàn)

    一、背景在微服務(wù)架構(gòu)中,這里以開發(fā)環(huán)境「Dev」為基礎(chǔ)來描述,在K8S集群中通常會(huì)開放:路由網(wǎng)關(guān)、注冊(cè)中心、配置中心等相關(guān)服務(wù),可以被集群外部訪問;圖片對(duì)于測(cè)試「Tes」環(huán)境或者
  • 讓我們一起聊聊文件的操作

    文件【1】文件是什么?文件是保存數(shù)據(jù)的地方,是數(shù)據(jù)源的一種,比如大家經(jīng)常使用的word文檔、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存數(shù)據(jù),它既可以保
  • 2023年,我眼中的字節(jié)跳動(dòng)

    此時(shí)此刻(2023年7月),字節(jié)跳動(dòng)從未上市,也從未公布過任何官方的上市計(jì)劃;但是這并不妨礙它成為中國(guó)最受關(guān)注的互聯(lián)網(wǎng)公司之一。從2016-17年的抖音強(qiáng)勢(shì)崛起,到2018年的“頭騰
  • 三星Galaxy Z Fold5今日亮相:厚度縮減但仍略顯厚重

    據(jù)官方此前宣布,三星將于7月26日也就是今天在韓國(guó)首爾舉辦Unpacked活動(dòng),屆時(shí)將帶來帶來包括Galaxy Buds 3、Galaxy Watch 6、Galaxy Tab S9、Galaxy
  • iQOO Neo8 Pro即將開售:到手價(jià)3099元起 安卓性能最強(qiáng)旗艦

    5月23日,iQOO如期舉行了新品發(fā)布會(huì),全新的iQOO Neo8系列也正式與大家見面,包含iQOO Neo8和iQOO Neo8 Pro兩個(gè)版本,其中標(biāo)準(zhǔn)版搭載高通驍龍8+,而Pro版更
  • 親歷馬斯克血洗Twitter,硅谷的苦日子在后頭

    文/劉哲銘  編輯/李薇  馬斯克再次揮下裁員大刀。  美國(guó)時(shí)間11月14日,Twitter約4400名外包員工遭解雇,此次被解雇的員工的主要工作為內(nèi)容審核等。此前,T
Top 主站蜘蛛池模板: 凤翔县| 祁东县| 平潭县| 明星| 左权县| 长沙市| 吴堡县| 鹤庆县| 元谋县| 周口市| 开封市| 抚顺市| 四子王旗| 德钦县| 阿坝县| 洪湖市| 浏阳市| 鲁甸县| 乐亭县| 石阡县| 宜兴市| 梁河县| 娄烦县| 晋江市| 松潘县| 重庆市| 宝坻区| 林甸县| 洪江市| 龙里县| 桑日县| 北宁市| 讷河市| 永修县| 宜丰县| 岳阳县| 汽车| 辽源市| 兴安县| 攀枝花市| 航空|