国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn)

這篇具有很好參考價(jià)值的文章主要介紹了深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

盡管微服務(wù)架構(gòu)有著高度獨(dú)立的軟件模塊、單一的業(yè)務(wù)職責(zé)、可靈活調(diào)整的技術(shù)棧等優(yōu)勢(shì),但也不能忽略它所帶來(lái)的弊端。本篇文章,我們從網(wǎng)絡(luò)、性能、運(yùn)維、組織架構(gòu)和集成測(cè)試五個(gè)方面來(lái)聊一下設(shè)計(jì)微服務(wù)架構(gòu)需要考慮哪些問(wèn)題,對(duì)設(shè)計(jì)有哪些挑戰(zhàn)呢?

1、跨進(jìn)程通信帶來(lái)的問(wèn)題

前面我們聊過(guò)了,以往的單體應(yīng)用,系統(tǒng)是在單機(jī)中進(jìn)行進(jìn)程通信,通信的穩(wěn)定性相當(dāng)好,只要服務(wù)器不宕機(jī),基本上不會(huì)出現(xiàn)通信中斷或異常的問(wèn)題(超時(shí)不計(jì)入)。但是將單體應(yīng)用打散為分布式架構(gòu)后,系統(tǒng)的通信方式改變?yōu)榱诉M(jìn)程間通信,往往還有可能伴隨著跨設(shè)備的網(wǎng)絡(luò)訪問(wèn),那么架構(gòu)師在設(shè)計(jì)的時(shí)候,就必須要考慮應(yīng)用的上下游系統(tǒng)因網(wǎng)絡(luò)因素導(dǎo)致無(wú)法通信的問(wèn)題。要假設(shè)網(wǎng)絡(luò)是不可靠的(就相當(dāng)于是前端頁(yè)面不應(yīng)該相信用戶的一切輸入,該做的數(shù)據(jù)校驗(yàn)一定要做),并對(duì)網(wǎng)絡(luò)異常情況作出符合預(yù)期的異常處理。

以支付場(chǎng)景為例:用戶支付成功后,系統(tǒng)自動(dòng)調(diào)用短信發(fā)送服務(wù)給用戶發(fā)送支付成功的短信,此時(shí)就需要考慮到如果短信發(fā)送不成功需要做什么異常處理。是標(biāo)記未發(fā)送后重試,還是通過(guò)App進(jìn)行消息提示,并將異常信息入庫(kù)提醒運(yùn)維檢查短信服務(wù)運(yùn)行情況。

單體應(yīng)用調(diào)用鏈路:

深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn),架構(gòu),系統(tǒng)架構(gòu),微服務(wù)

微服務(wù)架構(gòu)下的調(diào)用鏈路:

深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn),架構(gòu),系統(tǒng)架構(gòu),微服務(wù)

2、響應(yīng)延遲帶來(lái)的問(wèn)題

與單體架構(gòu)進(jìn)程內(nèi)通行相比,微服務(wù)架構(gòu)的跨進(jìn)程、跨網(wǎng)絡(luò)通信在網(wǎng)絡(luò)傳輸與消息序列化帶來(lái)的延遲是不可忽略的。尤其是在五個(gè)以上的微服務(wù)間消息調(diào)用時(shí),網(wǎng)絡(luò)延遲對(duì)于實(shí)時(shí)系統(tǒng)的影響是很大的。

以紅海行動(dòng)電影中的1130近防炮的彈道計(jì)算為例:需要通過(guò)雷達(dá)監(jiān)測(cè)的敵方炮彈的射速、方位、風(fēng)速等因素計(jì)算近防炮在何時(shí)、哪些方位發(fā)射子彈進(jìn)行攔截。在這種情況下,使用微服務(wù)架構(gòu)帶來(lái)的延遲,可能導(dǎo)致炮彈都打到身上了,彈道計(jì)算數(shù)據(jù)還沒(méi)傳過(guò)來(lái)。顯然這類系統(tǒng)采用分布式設(shè)計(jì)就不合適。 以上例子純屬軍事外行瞎猜,只是為了舉例,說(shuō)的不對(duì)的還請(qǐng)不要介意。。

3、運(yùn)維方面的問(wèn)題

之前的單體架構(gòu),運(yùn)維在部署系統(tǒng)時(shí),直接將系統(tǒng)jar或war包丟到容器里啟動(dòng)就行了,就算是沒(méi)有自動(dòng)化部署,工作量也不是很大。同時(shí),以前的系統(tǒng)升級(jí)都是以周或月為單位,就算是人肉運(yùn)維也都可以應(yīng)付得過(guò)來(lái)。而對(duì)于微服務(wù)而言,每個(gè)服務(wù)都是可獨(dú)立運(yùn)行、獨(dú)立部署、獨(dú)立維護(hù)的業(yè)務(wù)單元。再加上市場(chǎng)的需求越來(lái)越高,運(yùn)維人員每天面對(duì)成百上千臺(tái)服務(wù)器發(fā)布幾十次都是有可能的,人肉運(yùn)維和部署顯然已經(jīng)無(wú)法滿足互聯(lián)網(wǎng)的快速變化。

深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn),架構(gòu),系統(tǒng)架構(gòu),微服務(wù)

自動(dòng)化運(yùn)維架構(gòu)圖

4、組織架構(gòu)帶來(lái)的問(wèn)題

微服務(wù)架構(gòu)帶來(lái)的不僅是軟件架構(gòu)的改變,也是公司組織架構(gòu)的改變。

單體架構(gòu)下,公司以職能劃分部門(mén)(項(xiàng)目部、產(chǎn)品部、設(shè)計(jì)部、開(kāi)發(fā)部、測(cè)試部、運(yùn)維部)進(jìn)行獨(dú)立管理考核,技術(shù)人員負(fù)責(zé)其中的某幾個(gè)模塊開(kāi)發(fā)即可,可由統(tǒng)一的項(xiàng)目經(jīng)理、產(chǎn)品經(jīng)理、UI設(shè)計(jì)師進(jìn)行支撐。

微服務(wù)架構(gòu)下,是以業(yè)務(wù)模塊進(jìn)行團(tuán)隊(duì)劃分,每個(gè)團(tuán)隊(duì)是內(nèi)聚的,要求可以完成從調(diào)研到發(fā)版的全流程,盡量減少對(duì)外界的依賴。如何將之前的職能團(tuán)隊(duì)調(diào)整為按業(yè)務(wù)劃分的研發(fā)團(tuán)隊(duì),同樣是對(duì)組織架構(gòu)的巨大挑戰(zhàn)。畢竟人的思想比架構(gòu)更難改變。

深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn),架構(gòu),系統(tǒng)架構(gòu),微服務(wù)

單體架構(gòu)下團(tuán)隊(duì)配置

深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn),架構(gòu),系統(tǒng)架構(gòu),微服務(wù)

微服務(wù)架構(gòu)下團(tuán)隊(duì)配置

5、集成測(cè)試變得異常艱難

傳統(tǒng)的單體架構(gòu)集成測(cè)試是將不同的模塊按業(yè)務(wù)流程進(jìn)行組合,在進(jìn)程內(nèi)驗(yàn)證每種可能性下模塊間的協(xié)作是否符合預(yù)期即可。對(duì)于微服務(wù)而言,系統(tǒng)被拆解成獨(dú)立的運(yùn)行單元,服務(wù)間采用接口進(jìn)行通信。要獲取準(zhǔn)確的結(jié)果,必須搭建完整的微服務(wù)環(huán)境。同時(shí),跨網(wǎng)絡(luò)通信帶來(lái)的網(wǎng)絡(luò)延遲、超時(shí)、帶寬、數(shù)據(jù)量等因素都將影響最終結(jié)果,測(cè)試結(jié)果容易產(chǎn)生偏差。

所以,微服務(wù)架構(gòu)并不是沒(méi)有缺點(diǎn),在一定程度上,可能造成的影響比單體的影響大很多。那么我們是難道就不進(jìn)行改造嗎?有困難就退縮不是一個(gè)優(yōu)秀架構(gòu)師該有的品質(zhì)。那有什么可借鑒的經(jīng)驗(yàn)嗎?當(dāng)然有,我們以后再下篇接著聊!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-845788.html

到了這里,關(guān)于深入淺出 -- 系統(tǒng)架構(gòu)之微服務(wù)架構(gòu)的新挑戰(zhàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 深入淺出推薦系統(tǒng)(一):推薦系統(tǒng)基本架構(gòu)

    深入淺出推薦系統(tǒng)(一):推薦系統(tǒng)基本架構(gòu)

    過(guò)去八九年在廣告、生活服務(wù)、電商等領(lǐng)域從事大數(shù)據(jù)及推薦系統(tǒng)相關(guān)工作,近來(lái)打算對(duì)過(guò)去的工作做一個(gè)系統(tǒng)性的梳理。一方面幫自己查缺補(bǔ)漏、進(jìn)行更深入的學(xué)習(xí);另一方面也希望能通過(guò)博客結(jié)交同好,增進(jìn)交流。 這一博客系列以介紹推薦系統(tǒng)為主,會(huì)少量涉及廣告系統(tǒng)

    2023年04月26日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備

    深入淺出 -- 系統(tǒng)架構(gòu)之Keepalived搭建雙機(jī)熱備

    Keepalived+重啟腳本+雙機(jī)熱備搭建 ①首先創(chuàng)建一個(gè)對(duì)應(yīng)的目錄并下載 keepalived 安裝包(提取碼:s6aq)到 Linux 中并解壓: ②進(jìn)入解壓后的 keepalived 目錄并構(gòu)建安裝環(huán)境,然后編譯并安裝: ③進(jìn)入安裝目錄的 /soft/keepalived/etc/keepalived/ 并編輯配置文件: ④編輯主機(jī)的 keepalived.conf

    2024年04月11日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx反向代理

    深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx反向代理

    一、Nginx反向代理-負(fù)載均衡 ?首先通過(guò) SpringBoot+Freemarker 快速搭建一個(gè) WEB 項(xiàng)目:springboot-web-nginx,然后在該項(xiàng)目中,創(chuàng)建一個(gè) IndexNginxController.java 文件,邏輯如下: 在該 Controller 類中,存在一個(gè)成員變量: port ,它的值即是從 application.properties 配置文件中獲取 server.port 值。

    2024年04月12日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx跨域配置

    ? ?跨域問(wèn)題在之前的單體架構(gòu)開(kāi)發(fā)中,其實(shí)是比較少見(jiàn)的問(wèn)題,除非是需要接入第三方 SDK 時(shí),才需要處理此問(wèn)題。但隨著現(xiàn)在前后端分離、分布式架構(gòu)的流行,跨域問(wèn)題也成為了每個(gè)Java開(kāi)發(fā)必須要懂得解決的一個(gè)問(wèn)題。 跨域問(wèn)題產(chǎn)生的原因 ? ?產(chǎn)生跨域問(wèn)題的主要原因就

    2024年04月10日
    瀏覽(45)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx實(shí)現(xiàn)高可用

    深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx實(shí)現(xiàn)高可用

    ? ?線上如果采用單個(gè)節(jié)點(diǎn)的方式部署 Nginx ,難免會(huì)出現(xiàn)天災(zāi)人禍,比如系統(tǒng)異常、程序宕機(jī)、服務(wù)器斷電、機(jī)房爆炸、地球毀滅....哈哈哈,夸張了。但實(shí)際生產(chǎn)環(huán)境中確實(shí)存在隱患問(wèn)題,由于 Nginx 作為整個(gè)系統(tǒng)的網(wǎng)關(guān)層接入外部流量,所以一旦 Nginx 宕機(jī),最終就會(huì)導(dǎo)致整

    2024年04月15日
    瀏覽(29)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx的性能優(yōu)化

    ? ?到這里文章的篇幅較長(zhǎng)了,最后再來(lái)聊一下關(guān)于 Nginx 的性能優(yōu)化,主要就簡(jiǎn)單說(shuō)說(shuō)收益最高的幾個(gè)優(yōu)化項(xiàng),在這塊就不再展開(kāi)敘述了,畢竟影響性能都有多方面原因?qū)е碌?,比如網(wǎng)絡(luò)、服務(wù)器硬件、操作系統(tǒng)、后端服務(wù)、程序自身、數(shù)據(jù)庫(kù)服務(wù)等,對(duì)于性能調(diào)優(yōu)比較感興

    2024年04月14日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之負(fù)載均衡Nginx大文件傳輸配置

    ? ?在某些業(yè)務(wù)場(chǎng)景中需要傳輸一些大文件,但大文件傳輸時(shí)往往都會(huì)會(huì)出現(xiàn)一些 Bug ,比如文件超出限制、文件傳輸過(guò)程中請(qǐng)求超時(shí)等,那么此時(shí)就可以在 Nginx 稍微做一些配置,先來(lái)了解一些關(guān)于大文件傳輸時(shí)可能會(huì)用的配置項(xiàng): 配置項(xiàng) 釋義 client_max_body_size 設(shè)置請(qǐng)求體允

    2024年04月12日
    瀏覽(24)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之分布式多形態(tài)的存儲(chǔ)型集群

    深入淺出 -- 系統(tǒng)架構(gòu)之分布式多形態(tài)的存儲(chǔ)型集群

    在上階段,我們簡(jiǎn)單聊了下集群的基本知識(shí),以及快速過(guò)了一下邏輯處理型集群的內(nèi)容,下面重點(diǎn)來(lái)看看存儲(chǔ)型集群,畢竟這塊才是重頭戲,集群的形態(tài)在其中有著多種多樣的變化。 邏輯處理型的應(yīng)用,部署集群架構(gòu)是為了解決單點(diǎn)故障、獲得更高的吞吐量,集群內(nèi)各節(jié)點(diǎn)之

    2024年04月10日
    瀏覽(103)
  • 深入淺出 -- 系統(tǒng)架構(gòu)之分布式CAP理論和BASE理論

    深入淺出 -- 系統(tǒng)架構(gòu)之分布式CAP理論和BASE理論

    科技進(jìn)步離不開(kāi)理論支撐,而當(dāng)下大行其道的分布式架構(gòu),透過(guò)繁榮昌盛表象,底層同樣離不開(kāi)諸多分布式理論撐持。當(dāng)然,相信諸位在學(xué)習(xí)分布式相關(guān)技術(shù)時(shí),必然學(xué)到過(guò)兩個(gè)分布式領(lǐng)域中的基礎(chǔ)理論,即: CAP與BASE理論 。 當(dāng)一個(gè)從邏輯上被視為整體的系統(tǒng),拆散到多個(gè)節(jié)

    2024年04月13日
    瀏覽(32)
  • 深入淺出MySQL - 架構(gòu)與執(zhí)行

    深入淺出MySQL - 架構(gòu)與執(zhí)行

    Photo by Merilin Kirsika Tedder from Pexels MySQL作為一個(gè)流行的開(kāi)源關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),它可以運(yùn)行在多種平臺(tái)上,支持多種存儲(chǔ)引擎,提供了靈活的數(shù)據(jù)操作和管理功能。MySQL的邏輯架構(gòu)可以分為三層: 連接層 、 服務(wù)層 和 引擎層 ,下方是網(wǎng)上流傳度很廣的一張架構(gòu)圖。 需要注

    2024年02月09日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包