女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(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ù)仁侄危灰罱K一致性就行,畢竟連現(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è)寫(xiě)多讀少的業(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ù)垂直拆分開(kāi)了。

服務(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ù)表之間也解耦開(kāi)了,不會(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)開(kāi)展起來(lái),下周和大伙再聊。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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

    文章

    145

    瀏覽量

    7671
收藏 人收藏

    評(píng)論

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

    微服務(wù)架構(gòu)幾種典型的基礎(chǔ)框架,你了解嗎?

    SpringCloud、Dubbo、Dropwizard、Akka等是常見(jiàn)微服務(wù)框架。SpringCloud基于SpringBoot,生態(tài)豐富;Dropwizard輕量且繼承SpringBoot優(yōu)點(diǎn)
    的頭像 發(fā)表于 03-04 11:05 ?328次閱讀

    NVIDIA 發(fā)布保障代理式 AI 應(yīng)用安全的 NIM 微服務(wù)

    NVIDIA NeMo Guardrails 包含全新 NVIDIA NIM 微服務(wù),能夠?yàn)楦餍袠I(yè)構(gòu)建 AI 的企業(yè)提高 AI 的準(zhǔn)確性、安全性和可控性。 ? AI 智能體有望成為能夠完成各種任務(wù)
    發(fā)表于 01-17 16:29 ?141次閱讀

    微服務(wù)容器化部署好處嗎?

    微服務(wù)容器化部署好處有很多,包括環(huán)境一致性、資源高效利用、快速部署與啟動(dòng)、隔離性與安全性、版本控制與回滾以及持續(xù)集成與持續(xù)部署。這些優(yōu)勢(shì)助力應(yīng)用可靠穩(wěn)定運(yùn)行,提升開(kāi)發(fā)運(yùn)維效率,是現(xiàn)代軟件架構(gòu)的優(yōu)質(zhì)選擇。UU云小編認(rèn)為微服務(wù)容器化
    的頭像 發(fā)表于 01-17 10:22 ?282次閱讀

    容器化能替代微服務(wù)嗎??jī)烧哂泻螀^(qū)別

    容器化不能替代微服務(wù),但它是微服務(wù)的解決方案之一。微服務(wù)架構(gòu)的核心在于將大型應(yīng)用程序拆分為一系列小型、獨(dú)立的服務(wù),每個(gè)
    的頭像 發(fā)表于 01-13 10:40 ?351次閱讀

    Java微服務(wù)中如何確保安全性?

    在Java微服務(wù)架構(gòu)中確保安全性,可以采取以下措施: 身份驗(yàn)證與授權(quán): 使用OAuth 2.0和OpenID Connect框架進(jìn)行身份驗(yàn)證和授權(quán)。OAuth2允許用戶在不分享憑證的情況下授權(quán)第三方
    的頭像 發(fā)表于 01-02 15:21 ?551次閱讀

    寶藏級(jí)微服務(wù)架構(gòu)工具合集

    大量數(shù)據(jù)流。這些工具各有特色,可根據(jù)具體需求和場(chǎng)景選擇合適的來(lái)構(gòu)建和管理微服務(wù)架構(gòu)。以下是UU云小編整理的幾個(gè)熱門的微服務(wù)架構(gòu)工具及其概括性
    的頭像 發(fā)表于 12-21 16:33 ?552次閱讀

    k8s微服務(wù)架構(gòu)就是云原生嗎??jī)烧呤鞘裁搓P(guān)系

    k8s微服務(wù)架構(gòu)就是云原生嗎?K8s微服務(wù)架構(gòu)并不等同于云原生,但兩者之間存在密切的聯(lián)系。Kubernetes在云原生架構(gòu)中扮演著核心組件的
    的頭像 發(fā)表于 11-25 09:39 ?456次閱讀

    SSR與微服務(wù)架構(gòu)的結(jié)合應(yīng)用

    隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,前端技術(shù)棧不斷更新迭代,后端架構(gòu)也經(jīng)歷了從單體應(yīng)用到微服務(wù)的變革。在這個(gè)過(guò)程中,服務(wù)端渲染(SSR)作為一種提升頁(yè)面加載速度和SEO性能的技術(shù),與微服務(wù)
    的頭像 發(fā)表于 11-18 11:34 ?732次閱讀

    架構(gòu)與設(shè)計(jì) 常見(jiàn)微服務(wù)分層架構(gòu)的區(qū)別和落地實(shí)踐

    架構(gòu)風(fēng)格越傾向于清晰的職責(zé)定位,且讓領(lǐng)域模型成為架構(gòu)的核心。 基于這些架構(gòu)風(fēng)格,在軟件架構(gòu)設(shè)計(jì)過(guò)程中又有非常
    的頭像 發(fā)表于 10-22 15:34 ?565次閱讀
    <b class='flag-5'>架構(gòu)</b>與設(shè)計(jì) 常見(jiàn)<b class='flag-5'>微服務(wù)</b>分層<b class='flag-5'>架構(gòu)</b>的區(qū)別和落地實(shí)踐

    微服務(wù)架構(gòu)與容器云的關(guān)系與區(qū)別

    微服務(wù)架構(gòu)與容器云密切相關(guān)又有所區(qū)別。微服務(wù)將大型應(yīng)用拆分為小型、獨(dú)立的服務(wù),而容器云基于容器技術(shù),為微服務(wù)提供構(gòu)建、發(fā)布和運(yùn)行的平臺(tái)。區(qū)別
    的頭像 發(fā)表于 10-21 17:28 ?487次閱讀

    入門級(jí)攻略:如何容器化部署微服務(wù)

    第一步理解容器化基礎(chǔ),第二步創(chuàng)建Dockerfile,第三步構(gòu)建推送鏡像,第四步部署微服務(wù),第五步管理微服務(wù)、第六步優(yōu)化更新。容器化部署微服務(wù)是現(xiàn)代軟件開(kāi)發(fā)中的一種高效方法,可提供良好的可移植性、可擴(kuò)展性和管理性。容器化部署
    的頭像 發(fā)表于 10-09 10:08 ?337次閱讀

    Proxyless的活流量和微服務(wù)治理

    1. 引言 1.1 項(xiàng)目的背景及意義 在當(dāng)今的微服務(wù)架構(gòu)中,應(yīng)用程序通常被拆分成多個(gè)獨(dú)立的服務(wù),這些服務(wù)通過(guò)網(wǎng)絡(luò)進(jìn)行通信。這種架構(gòu)的優(yōu)勢(shì)在于
    的頭像 發(fā)表于 08-28 16:54 ?1917次閱讀
    Proxyless的<b class='flag-5'>多</b>活流量和<b class='flag-5'>微服務(wù)</b>治理

    NVIDIA NIM微服務(wù)帶來(lái)巨大優(yōu)勢(shì)

    服務(wù)通過(guò)熱門 AI 模型為數(shù)百萬(wàn)開(kāi)發(fā)者帶來(lái)高達(dá) 5 倍的 token 效率提升,使他們能夠立即訪問(wèn)在 NVIDIA DGX Cloud 上運(yùn)行的 NIM 微服務(wù)
    的頭像 發(fā)表于 08-23 15:20 ?859次閱讀

    采用OpenUSD和NVIDIA NIM微服務(wù)創(chuàng)建精準(zhǔn)品牌視覺(jué)

    全球領(lǐng)先的創(chuàng)意和制作服務(wù)機(jī)構(gòu)率先采用 OpenUSD 和 NVIDIA NIM 微服務(wù)來(lái)創(chuàng)建精準(zhǔn)的品牌視覺(jué)。
    的頭像 發(fā)表于 08-01 14:33 ?661次閱讀

    全新 NVIDIA NeMo Retriever微服務(wù)大幅提升LLM的準(zhǔn)確性和吞吐量

    企業(yè)能夠通過(guò)提供檢索增強(qiáng)生成功能的生產(chǎn)就緒型 NVIDIA NIM 推理微服務(wù),充分挖掘業(yè)務(wù)數(shù)據(jù)的價(jià)值。這些微服務(wù)現(xiàn)已集成到 Cohesity、DataStax、NetApp 和 Snowflake 平臺(tái)中。
    的頭像 發(fā)表于 07-26 11:13 ?1187次閱讀
    全新 NVIDIA NeMo Retriever<b class='flag-5'>微服務(wù)</b>大幅提升LLM的準(zhǔn)確性和吞吐量