歡迎來(lái)到深圳市志博科技有限公司網站!
您當前的(de)位置:深圳APP開發 > 新聞資訊 > APP開發資訊 >
人(rén)
已閱讀

分(fēn)布式系統架構在APP開發中的(de)應用(yòng)

來(lái)源:lexintech.com       發布時(shí)間:2018-01-17
在APP開發等軟件項目中,系統架構的(de)選擇非常重要。我們說的(de)系統架構主要是指軟件項目在服務器運行時(shí)所需要的(de)操作系統、硬件、網絡、各種應用(yòng)服務等。
目前常見的(de)一些APP開發系統架構有高(gāo)并發架構、異地多(duō)活架構、容器化(huà)架構、微服務架構、高(gāo)可(kě)用(yòng)架構、彈性化(huà)架構等等。還(hái)有和(hé)這(zhè)些架構相關的(de)管理(lǐ)型的(de)技術方法,如 DevOps、應用(yòng)監控、自動化(huà)運維、SOA 服務治理(lǐ)等。
分(fēn)布式系統架構是區(qū)别于單體架構而言的(de)。爲什(shén)麽要使用(yòng)分(fēn)布式系統架構呢(ne)?
1、增大(dà)系統容量。我們的(de)業務量越來(lái)越大(dà),而要能應對(duì)越來(lái)越大(dà)的(de)業務量,一台機器的(de)性能已經無法滿足了(le),我們需要多(duō)台機器才能應對(duì)大(dà)規模的(de)應用(yòng)場(chǎng)景。所以,我們需要垂直或是水(shuǐ)平拆分(fēn)業務系統,讓其變成一個(gè)分(fēn)布式的(de)架構。
2、加強系統可(kě)用(yòng)。我們的(de)業務越來(lái)越關鍵,需要提高(gāo)整個(gè)系統架構的(de)可(kě)用(yòng)性,這(zhè)就意味著(zhe)架構中不能存在單點故障。這(zhè)樣,整個(gè)系統不會因爲一台機器出故障而導緻整體不可(kě)用(yòng)。所以,需要通(tōng)過分(fēn)布式架構來(lái)冗餘系統以消除單點故障,從而提高(gāo)系統的(de)可(kě)用(yòng)性。
3、除了(le)以上主要兩點,分(fēn)布式架構還(hái)有一些優勢,比如:
因爲模塊化(huà),所以系統模塊重用(yòng)度更高(gāo);
因爲軟件服務模塊被拆分(fēn),開發和(hé)發布速度可(kě)以并行而變得(de)更快(kuài);
系統擴展性更高(gāo);
團隊協作流程也(yě)會得(de)到改善;
等等。
不過,這(zhè)個(gè)世界上不存在完美(měi)的(de)技術方案,采用(yòng)任何技術方案都是有得(de)有失,也(yě)就是說,分(fēn)布式系統在消除上述問題的(de)同時(shí),也(yě)給我們帶來(lái)了(le)其他(tā)的(de)問題。因此,我們需要清楚地知道分(fēn)布式系統所帶來(lái)的(de)問題。下(xià)面這(zhè)個(gè)表格比較了(le)單體應用(yòng)和(hé)分(fēn)布式架構的(de)優缺點。
分(fēn)布式系統架構在APP開發中的(de)應用(yòng)
 
從上面的(de)表格我們可(kě)以看到,分(fēn)布式系統雖然有一些優勢,但也(yě)存在一些問題。
架構設計變得(de)複雜(zá)(尤其是其中的(de)分(fēn)布式事務)。
部署單個(gè)服務會比較快(kuài),但是如果一次部署需要多(duō)個(gè)服務,部署會變得(de)複雜(zá)。
系統的(de)吞吐量會變大(dà),但是響應時(shí)間會變長(cháng)。
運維複雜(zá)度會因爲服務變多(duō)而變得(de)很複雜(zá)。
架構複雜(zá)導緻學習(xí)曲線變大(dà)。
測試和(hé)查錯的(de)複雜(zá)度增大(dà)。
技術可(kě)以很多(duō)樣,這(zhè)會帶來(lái)維護和(hé)運維的(de)複雜(zá)度。
管理(lǐ)分(fēn)布式系統中的(de)服務和(hé)調度變得(de)困難和(hé)複雜(zá)。
也(yě)就是說,分(fēn)布式系統架構的(de)難點在于系統設計,以及管理(lǐ)和(hé)運維。所以,分(fēn)布式架構解決了(le)“單點”和(hé)“性能容量”的(de)問題,但卻新增了(le)一堆問題。而對(duì)于這(zhè)些新增的(de)問題,還(hái)會衍生出更多(duō)的(de)子問題,這(zhè)就需要我們不斷地用(yòng)各式各樣的(de)技術和(hé)手段來(lái)解決這(zhè)些問題。
這(zhè)就出現了(le)我前面所說的(de)那些架構方式,以及各種相關的(de)管理(lǐ)型的(de)技術方法。這(zhè)個(gè)世界就是這(zhè)樣變得(de)複雜(zá)起來(lái)的(de)。
總的(de)來(lái)說,在APP開發時(shí),選擇什(shén)麽樣的(de)系統架構,要綜合各方面的(de)因素,以上的(de)分(fēn)析希望能給您提供一些參考。
 
 
APP開發 網站開發 産品設計 微信公衆号 APP開發公司 用(yòng)戶體驗 APP運營 微信小程序 産品經理(lǐ) 網站設計