91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

微服務(wù)架構(gòu)多微才合適

lhl545545 ? 來(lái)源:電子發(fā)燒友網(wǎng) ? 2018-02-07 17:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、互聯(lián)網(wǎng)架構(gòu)為什么要進(jìn)行服務(wù)化-總結(jié)

上一篇和大伙交流了一下,隨著數(shù)據(jù)量、并發(fā)量、業(yè)務(wù)復(fù)雜度的增長(zhǎng),互聯(lián)網(wǎng)架構(gòu)會(huì)出現(xiàn)以下問(wèn)題:

(1)代碼到處拷貝

(2)底層復(fù)雜性擴(kuò)散

(3)基礎(chǔ)庫(kù)(so/jar/dll)耦合

(4)SQL質(zhì)量得不到保障,業(yè)務(wù)相互影響

(5)數(shù)據(jù)庫(kù)耦合

“服務(wù)化”是一個(gè)很好的解決上述痛點(diǎn)的方案。

服務(wù)化之后,可能會(huì)引發(fā)分布式事務(wù)的問(wèn)題,“沒(méi)人愿意引入分布式事務(wù),當(dāng)基于業(yè)務(wù)水平拆分的時(shí)候,要業(yè)務(wù)專家介入,合理拆分服務(wù)化,以后就服務(wù)內(nèi)高內(nèi)聚,事務(wù)可以保證,對(duì)于夸服務(wù)調(diào)用,通過(guò)補(bǔ)償?shù)仁侄?,只要最終一致性就行,畢竟連現(xiàn)在的銀行轉(zhuǎn)賬都不是強(qiáng)一致性。”

分布式事務(wù)是業(yè)界沒(méi)有徹底解決的難題,任何架構(gòu)設(shè)計(jì)都是一個(gè)折衷,吞吐量?時(shí)延?一致性?哪個(gè)是主要矛盾,優(yōu)先解決哪個(gè)問(wèn)題。大數(shù)據(jù)、高并發(fā)、業(yè)務(wù)復(fù)雜性是主要矛盾的時(shí)候,或許“最終一致性”是一個(gè)替代“事務(wù)”更好的,或者說(shuō)業(yè)務(wù)能夠接受的方案。

多了一層服務(wù)層,架構(gòu)實(shí)際上是更復(fù)雜了,需要引入一系列機(jī)制對(duì)服務(wù)進(jìn)行管理,RPC服務(wù)化中需要注意:

(1)RPC服務(wù)超時(shí),服務(wù)調(diào)用者應(yīng)有一些應(yīng)對(duì)策略,比如重發(fā)

(2)關(guān)鍵服務(wù)例如支付,要注意冪等性,因?yàn)橹匕l(fā)會(huì)導(dǎo)致重復(fù)操作

(3)多服務(wù)要考慮并發(fā)操作,相當(dāng)單服務(wù)的鎖機(jī)制比如JAVA中的synchronized

二、互聯(lián)網(wǎng)微服務(wù)架構(gòu)多“微”才適合

大家也都認(rèn)可,隨著數(shù)據(jù)量、流量、業(yè)務(wù)復(fù)雜度的提升,服務(wù)化架構(gòu)是架構(gòu)演進(jìn)中的必由之路,今天要討論的話題是:微服務(wù)架構(gòu)多“微”才合適?

【粗粒度:一個(gè)服務(wù)層】

微服務(wù)架構(gòu)多微才合適

最粗獷的玩法,所有基礎(chǔ)數(shù)據(jù)的訪問(wèn),都通過(guò)一個(gè)service訪問(wèn),在業(yè)務(wù)不是特別復(fù)雜的時(shí)候還好,一旦業(yè)務(wù)變復(fù)雜了,這個(gè)service層會(huì)變得非常重,成為耦合點(diǎn)之一,以微信場(chǎng)景為例,假設(shè)有一個(gè)通用的服務(wù)層來(lái)訪問(wèn)基礎(chǔ)數(shù)據(jù),這個(gè)服務(wù)層可能是這樣的:

微服務(wù)架構(gòu)多微才合適

有一個(gè)統(tǒng)一的service層,用戶信息,好友信息,群組信息,消息信息都通過(guò)這個(gè)service層來(lái)走。

細(xì)節(jié):微信單對(duì)單消息是一個(gè)寫多讀少的業(yè)務(wù),故沒(méi)有緩存。

【一個(gè)子業(yè)務(wù)一個(gè)service】

如果所有的信息存儲(chǔ)都在一個(gè)service里,那么一個(gè)地方出bug,就將影響整個(gè)業(yè)務(wù),所以更合理的做法是在服務(wù)層進(jìn)行細(xì)分,架構(gòu)如何細(xì)分?垂直拆分是個(gè)好的方案,將子業(yè)務(wù)一個(gè)個(gè)拆出來(lái),那么微信的服務(wù)化架構(gòu)或許會(huì)變成這個(gè)樣子:

微服務(wù)架構(gòu)多微才合適

(1)用戶相關(guān)的子業(yè)務(wù)有user-service

(2)好友相關(guān)的子業(yè)務(wù)有friend-service

(3)群組相關(guān)的子業(yè)務(wù)有g(shù)roup-service

(4)消息相關(guān)的子業(yè)務(wù)有msg-service

這樣的話,一個(gè)service出問(wèn)題也不會(huì)影響其他service,同時(shí)數(shù)據(jù)層也按照業(yè)務(wù)垂直拆分開了。

服務(wù)粒度變細(xì)之后,出現(xiàn)一個(gè)新的問(wèn)題,業(yè)務(wù)與服務(wù)的連接關(guān)系變復(fù)雜了,有什么好的優(yōu)化方案么?

微服務(wù)架構(gòu)多微才合適

常見(jiàn)的,加入一個(gè)高可用服務(wù)分發(fā)層集群,并在協(xié)議設(shè)計(jì)時(shí)加入服務(wù)號(hào),可以減少蜘蛛網(wǎng)狀的依賴關(guān)系:

(1)調(diào)用方依賴分發(fā)層,傳入服務(wù)號(hào)

(2)分發(fā)層依賴服務(wù)層,通過(guò)服務(wù)號(hào)參數(shù)分發(fā)

【一個(gè)數(shù)據(jù)庫(kù)對(duì)應(yīng)一個(gè)service】

數(shù)據(jù)訪問(wèn)service最初是從DAO/ORM的數(shù)據(jù)訪問(wèn)需求過(guò)來(lái)的,所以有些公司也有一個(gè)數(shù)據(jù)表一個(gè)service的玩法。

一個(gè)子業(yè)務(wù)對(duì)應(yīng)一個(gè)service的玩法是:

微服務(wù)架構(gòu)多微才合適

(1)服務(wù)層,整個(gè)群業(yè)務(wù)是一個(gè)service

(2)存儲(chǔ)層,實(shí)際可能對(duì)應(yīng)了群信息、群成員、群消息等多個(gè)數(shù)據(jù)表

拆分成一個(gè)數(shù)據(jù)表一個(gè)service,則架構(gòu)會(huì)變成這樣:

微服務(wù)架構(gòu)多微才合適

群信息表,群成員表,群消息表等各個(gè)數(shù)據(jù)表之間也解耦開了,不會(huì)相互影響了。

【一個(gè)接口對(duì)應(yīng)一個(gè)service】

微服務(wù)架構(gòu)中更極端的,甚至一個(gè)接口對(duì)應(yīng)一個(gè)微服務(wù),這樣的話,架構(gòu)就從:

微服務(wù)架構(gòu)多微才合適

(1)修改群信息服務(wù)

(2)增加群信息服務(wù)

(3)獲取群信息服務(wù)

多個(gè)服務(wù)操縱同一個(gè)數(shù)據(jù)表,使用同一片緩存,每個(gè)接口出問(wèn)題,都不會(huì)影響其他接口。

三、粒度粗細(xì)的優(yōu)劣

上文中談到的服務(wù)化與微服務(wù),不同粒度的服務(wù)化各有什么優(yōu)劣呢?

總的來(lái)說(shuō),細(xì)粒度拆分的優(yōu)點(diǎn)有:

(1)服務(wù)都能夠獨(dú)立部署

(2)擴(kuò)容和縮容方便,有利于提高資源利用率

(3)拆得越細(xì),耦合相對(duì)會(huì)減小

(4)拆得越細(xì),容錯(cuò)相對(duì)會(huì)更好,一個(gè)服務(wù)出問(wèn)題不影響其他服務(wù)

(5)擴(kuò)展性更好

(6)…

細(xì)粒度拆分的不足也很明顯:

(1)拆得越細(xì),系統(tǒng)越復(fù)雜

(2)系統(tǒng)之間的依賴關(guān)系也更復(fù)雜

(3)運(yùn)維復(fù)雜度提升

(4)監(jiān)控更加復(fù)雜

(5)出問(wèn)題時(shí)定位問(wèn)題更難

(6)…

關(guān)于微服務(wù)架構(gòu)的“粒度”問(wèn)題,以及各粒度的優(yōu)劣,大伙有什么好的看法,歡迎補(bǔ)充,建設(shè)性的意見(jiàn)將在后續(xù)文中和大伙share。

四、結(jié)束的話

聊了許多,有網(wǎng)友問(wèn),筆者對(duì)待服務(wù)化以及微服務(wù)粒度的看法,個(gè)人覺(jué)得,以“子業(yè)務(wù)系統(tǒng)”粒度作為微服務(wù)的單位是比較合適的:

微服務(wù)架構(gòu)多微才合適

末了,討論完微服務(wù)架構(gòu)的粒度,后續(xù)文章和大家聊一聊微服務(wù)的最佳實(shí)踐,需要什么樣的框架、組件、技術(shù)能夠?qū)⒎?wù)化在較短的時(shí)間內(nèi)開展起來(lái),下周和大伙再聊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微服務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    150

    瀏覽量

    8102
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    光伏四可裝置軟件系統(tǒng)架構(gòu)微服務(wù)化設(shè)計(jì)與容器化部署方案

    ,某一模塊升級(jí)需整體停機(jī),無(wú)法適配光伏場(chǎng)景對(duì)實(shí)時(shí)性與連續(xù)性的要求;物理機(jī)部署模式則導(dǎo)致環(huán)境一致性差,跨場(chǎng)景遷移成本高。為此,基于微服務(wù)化設(shè)計(jì)與容器化部署的軟件架構(gòu)應(yīng)運(yùn)而生,通過(guò)“功能解耦、彈性部署、高效
    的頭像 發(fā)表于 03-03 15:47 ?127次閱讀

    基于OpenTelemetry的全鏈路追蹤微服務(wù)可觀測(cè)性實(shí)踐

    微服務(wù)拆分到第三年,我們的服務(wù)數(shù)量從最初的5個(gè)膨脹到了47個(gè)。一個(gè)用戶下單請(qǐng)求要經(jīng)過(guò)API Gateway -> 用戶服務(wù) -> 商品服務(wù) -> 庫(kù)存
    的頭像 發(fā)表于 02-26 15:43 ?128次閱讀

    Istio服務(wù)網(wǎng)格生產(chǎn)環(huán)境性能調(diào)優(yōu)的最佳實(shí)踐

    隨著微服務(wù)架構(gòu)的普及,服務(wù)間通信的復(fù)雜度呈指數(shù)級(jí)增長(zhǎng)。傳統(tǒng)的應(yīng)用層負(fù)載均衡和服務(wù)發(fā)現(xiàn)方案已經(jīng)無(wú)法滿足現(xiàn)代云原生應(yīng)用的需求。Istio作為目前最成熟的
    的頭像 發(fā)表于 01-20 15:40 ?203次閱讀

    華潤(rùn)車載功放雙芯:CD7377CZ 與 CD7388 的技術(shù)實(shí)力,深智微服務(wù)護(hù)航

    需求;而深智科技作為華潤(rùn)授權(quán)代理商,不僅提供穩(wěn)定的芯片供應(yīng),更以全流程技術(shù)服務(wù),為工程師、開發(fā)者及汽車音響愛(ài)好者打通從產(chǎn)品選型到方案落地的全鏈路。 一、雙芯解析:適配不同需求的車載音頻解決方案 (一)CD7377CZ:
    的頭像 發(fā)表于 12-04 10:27 ?676次閱讀

    華納云VPS容器服務(wù)網(wǎng)格流量管理:實(shí)現(xiàn)微服務(wù)高效路由

    在云計(jì)算和微服務(wù)架構(gòu)日益普及的今天,華納云香港VPS憑借其優(yōu)越的地緣優(yōu)勢(shì)和網(wǎng)絡(luò)自由,成為眾多企業(yè)部署容器化應(yīng)用的熱門選擇。復(fù)雜的微服務(wù)架構(gòu)帶來(lái)了流量管理的巨大挑戰(zhàn)。本文將深入探討如何利
    的頭像 發(fā)表于 10-16 17:09 ?527次閱讀

    基于RFID與微服務(wù)架構(gòu)的智能倉(cāng)庫(kù)管理系統(tǒng):實(shí)現(xiàn)倉(cāng)儲(chǔ)數(shù)據(jù)的全鏈路精準(zhǔn)采集與管控

    針對(duì)傳統(tǒng)倉(cāng)儲(chǔ)管理中普遍存在的賬實(shí)不符、流程效率低下及信息孤島等問(wèn)題,本文介紹一套基于RFID射頻識(shí)別技術(shù)與微服務(wù)軟件架構(gòu)的智能倉(cāng)庫(kù)管理系統(tǒng)。系統(tǒng)通過(guò)“一物一碼”的電子身份標(biāo)識(shí),實(shí)現(xiàn)了對(duì)物資從入庫(kù)
    的頭像 發(fā)表于 10-13 11:18 ?758次閱讀
    基于RFID與<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>的智能倉(cāng)庫(kù)管理系統(tǒng):實(shí)現(xiàn)倉(cāng)儲(chǔ)數(shù)據(jù)的全鏈路精準(zhǔn)采集與管控

    如何基于Nginx構(gòu)建微服務(wù)網(wǎng)關(guān)

    今天,我將分享我們團(tuán)隊(duì)如何基于Nginx構(gòu)建了一個(gè)日均處理10億+請(qǐng)求的微服務(wù)網(wǎng)關(guān),以及踩過(guò)的那些坑。這套方案已經(jīng)穩(wěn)定運(yùn)行2年+,經(jīng)歷過(guò)多次大促考驗(yàn)。
    的頭像 發(fā)表于 09-02 16:29 ?817次閱讀

    Jtti海外VPS微服務(wù)架構(gòu)下的日志采集與分析優(yōu)化方案

    隨著跨境業(yè)務(wù)和分布式應(yīng)用的普及,越來(lái)越多的企業(yè)在海外VPS上構(gòu)建微服務(wù)架構(gòu),以提升系統(tǒng)擴(kuò)展性和靈活性。然而,微服務(wù)化帶來(lái)了一個(gè)新的挑戰(zhàn):日志數(shù)據(jù)分散在多個(gè)服務(wù)和節(jié)點(diǎn)中,若缺乏統(tǒng)一采集與
    的頭像 發(fā)表于 08-27 17:13 ?566次閱讀

    深入剖析RabbitMQ高可用架構(gòu)設(shè)計(jì)

    微服務(wù)架構(gòu)中,消息隊(duì)列故障導(dǎo)致的系統(tǒng)不可用率高達(dá)27%!如何構(gòu)建一個(gè)真正可靠的消息中間件架構(gòu)?本文將深入剖析RabbitMQ高可用設(shè)計(jì)的核心要點(diǎn)。
    的頭像 發(fā)表于 08-18 11:19 ?951次閱讀

    電商API的微服務(wù)架構(gòu)優(yōu)化策略

    ? 隨著電子商務(wù)的快速發(fā)展,API(應(yīng)用程序編程接口)已成為電商平臺(tái)的核心組件,負(fù)責(zé)連接用戶、商家和后臺(tái)系統(tǒng)。微服務(wù)架構(gòu)通過(guò)將應(yīng)用拆分為獨(dú)立、可擴(kuò)展的服務(wù)單元,顯著提升了系統(tǒng)的靈活性和可維護(hù)性。然而
    的頭像 發(fā)表于 07-23 14:30 ?620次閱讀
    電商API的<b class='flag-5'>微服務(wù)</b><b class='flag-5'>架構(gòu)</b>優(yōu)化策略

    蔡司“微服務(wù)”——全能在線售后管家,24小時(shí)守護(hù)您的設(shè)備!

    還在為設(shè)備故障煩惱? 急需技術(shù)支援卻找不到人? 想快速獲取用戶手冊(cè)或軟件升級(jí)? 現(xiàn)在 只需信掃一掃設(shè)備上的藍(lán)色標(biāo)簽二維碼 蔡司“微服務(wù)”一鍵觸達(dá)! 9大功能板塊 全方位解決您的售后需求 服務(wù)更高
    發(fā)表于 07-10 16:44 ?1564次閱讀
    蔡司“<b class='flag-5'>微服務(wù)</b>”——全能在線售后管家,24小時(shí)守護(hù)您的設(shè)備!

    超級(jí)電容阻值多少合適?

    本文主要介紹了超級(jí)電容的核心參數(shù)——等效串聯(lián)電阻(ESR),并討論了如何在高功率脈沖設(shè)備和儲(chǔ)能系統(tǒng)中找到合適的ESR值。此外,還提到了溫度、電壓和材料工藝對(duì)ESR的影響,并探討了如何優(yōu)化阻值的工程路徑。
    的頭像 發(fā)表于 07-03 09:36 ?1157次閱讀
    超級(jí)電容阻值多少<b class='flag-5'>才</b><b class='flag-5'>合適</b>?

    【「算力芯片 | 高性能 CPU/GPU/NPU 架構(gòu)分析」閱讀體驗(yàn)】+NVlink技術(shù)從應(yīng)用到原理

    前言 【「算力芯片 | 高性能 CPU/GPU/NPU 架構(gòu)分析」書中的芯片知識(shí)是比較接近當(dāng)前的頂尖芯片水平的,同時(shí)包含了芯片架構(gòu)的基礎(chǔ)知識(shí),但該部分知識(shí)比較晦澀難懂,或許是由于我一直從事的事芯片
    發(fā)表于 06-18 19:31

    如何利用RAKsmart服務(wù)器實(shí)現(xiàn)高效站點(diǎn)部署方案

    利用RAKsmart服務(wù)器實(shí)現(xiàn)高效站點(diǎn)部署方案,需結(jié)合其網(wǎng)絡(luò)優(yōu)勢(shì)、彈性資源管理和合理的架構(gòu)設(shè)計(jì)。以下是分步實(shí)施方案,涵蓋網(wǎng)絡(luò)優(yōu)化、資源分配、數(shù)據(jù)管理及監(jiān)控等核心環(huán)節(jié),主機(jī)推薦小編為您整理發(fā)布如何利用RAKsmart
    的頭像 發(fā)表于 05-19 10:38 ?527次閱讀

    企業(yè)使用NVIDIA NeMo微服務(wù)構(gòu)建AI智能體平臺(tái)

    已發(fā)布的 NeMo 微服務(wù)可與合作伙伴平臺(tái)集成,作為創(chuàng)建 AI 智能體的構(gòu)建模塊,使用商業(yè)智能與強(qiáng)大的邏輯推理模型 (包括 NVIDIA Llama Nemotron) 處理更多任務(wù)。
    的頭像 發(fā)表于 04-27 15:05 ?1278次閱讀