微服務(wù)架構(gòu)的ERP應(yīng)用系統(tǒng)的優(yōu)勢及挑戰(zhàn)
發(fā)布時間:2021-08-04 15:23
隨著近年來云計(jì)算,虛擬化技術(shù)的發(fā)展,以及傳統(tǒng)單體式架構(gòu)ERP系統(tǒng)暴露出的軟件復(fù)雜性,系統(tǒng)擴(kuò)展性等問題,使得單體應(yīng)用已很難適應(yīng)或滿足對擴(kuò)展性,可用性,靈活性要求較高的系統(tǒng)。采用新型微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)可以有效解決這些問題,微服務(wù)也可看作是一種軟件架構(gòu)風(fēng)格,一個大型的系統(tǒng)應(yīng)是由若干微服務(wù)構(gòu)成。在此架構(gòu)下,各個微服務(wù)能夠單獨(dú)部署,測試和運(yùn)行,微服務(wù)之間耦合度是較為松散的。各個微服務(wù)模塊只關(guān)心該服務(wù)所關(guān)聯(lián)的業(yè)務(wù),也即每個獨(dú)立的微服務(wù)模塊負(fù)責(zé)傳統(tǒng)ERP系統(tǒng)中一個或多個關(guān)聯(lián)的業(yè)務(wù)系統(tǒng)。
【文章來源】:制造業(yè)自動化. 2020,42(06)CSCD
【文章頁數(shù)】:3 頁
【部分圖文】:
微服務(wù)架構(gòu)的系統(tǒng)整體設(shè)計(jì)
在ERP系統(tǒng)的使用初期階段,由于各個業(yè)務(wù)的數(shù)據(jù)量并不大,系統(tǒng)的各個模塊并沒有到滿載負(fù)荷,系統(tǒng)中的有關(guān)數(shù)據(jù)的查詢,以及業(yè)務(wù)的計(jì)算,歷史數(shù)據(jù)的處理等運(yùn)行得很流暢。但是隨著功能的完善以及公司業(yè)務(wù)的發(fā)展,訂單量、庫存量的積累,以及后期各業(yè)務(wù)部門的數(shù)據(jù)查詢、數(shù)據(jù)導(dǎo)出需求的多樣性,使得系統(tǒng)運(yùn)行得越來越慢,用戶的體驗(yàn)越來越差。于是我們可能最先會想到的問題就是數(shù)據(jù)庫系統(tǒng)的負(fù)載問題,因?yàn)閭鹘y(tǒng)ERP應(yīng)用架構(gòu)都是將應(yīng)用所涉及的數(shù)據(jù)存放在單一全局?jǐn)?shù)據(jù)庫中,隨著業(yè)務(wù)數(shù)據(jù)的增加,最終導(dǎo)致數(shù)據(jù)庫系統(tǒng)的負(fù)荷滿載,針對這種情況,我們常用到的解決方案就是,優(yōu)化數(shù)據(jù)庫系統(tǒng)。我們可能會將應(yīng)用和數(shù)據(jù)庫做物理分離,也可能會采用讀寫分離的方式緩解壓力,再或者是優(yōu)化數(shù)據(jù)庫等方法。但這些方法都只是緩兵之計(jì),真正需要我們做的是如何將龐大的應(yīng)用或數(shù)據(jù)分散化,再集中化,也就如何將復(fù)雜的系統(tǒng)化整為零。為了提升ERP系統(tǒng)的運(yùn)行性能,負(fù)責(zé)底層架構(gòu)的部門通常也會主動從一些互聯(lián)網(wǎng)公司獲取技術(shù)經(jīng)驗(yàn),其中就包括一些解決性能和擴(kuò)展性的方案,包括高并發(fā)、高性能、讀寫分離、數(shù)據(jù)庫分庫分表等方案。但會發(fā)現(xiàn)有些方案可能不適合企業(yè)信息系統(tǒng),這是由于互聯(lián)網(wǎng)應(yīng)用和傳統(tǒng)企業(yè)信息系統(tǒng)的業(yè)務(wù)有很大的不同。對于ERP系統(tǒng)來講,它的并發(fā)量并不高,主要的區(qū)別在于業(yè)務(wù)的復(fù)雜性,各種業(yè)務(wù)耦合度遠(yuǎn)高于互聯(lián)網(wǎng)應(yīng)用,對于這種復(fù)雜的數(shù)據(jù)依賴,想要做數(shù)據(jù)庫層面的分庫分表是比較困難的。ERP系統(tǒng)中的業(yè)務(wù)執(zhí)行邏輯比互聯(lián)網(wǎng)系統(tǒng)要復(fù)雜的多,單個頁面需要的數(shù)據(jù),通常需要關(guān)聯(lián)的表高達(dá)兩張及以上。
在微服務(wù)架構(gòu)的設(shè)計(jì)過程中,服務(wù)的拆分是必不可少的,拆分的原則可以有多種方式,但大多數(shù)都是圍繞業(yè)務(wù)進(jìn)行拆分的。但對于服務(wù)的拆分粒度,沒有一個統(tǒng)一的標(biāo)準(zhǔn)。所以按照業(yè)務(wù)劃分的各個微服務(wù)應(yīng)做到高內(nèi)聚,盡量減少分布式事務(wù)。服務(wù)粒度劃分很難有統(tǒng)一的標(biāo)準(zhǔn),當(dāng)服務(wù)粒度過粗時,服務(wù)內(nèi)部的代碼容易產(chǎn)生耦合。服務(wù)的粒度也不是劃分的越細(xì)越好,拆的越細(xì),系統(tǒng)之間的依賴關(guān)系就會變得復(fù)雜,出現(xiàn)問題時也很難以定位。對于服務(wù)的拆分粒度,應(yīng)盡量保證服務(wù)本身所具有的業(yè)務(wù)獨(dú)立性和完整性,應(yīng)盡量減少服務(wù)間的依賴,特別是多層依賴以及鏈?zhǔn)秸{(diào)用。5.2 服務(wù)間的通信
本文編號:3321941
【文章來源】:制造業(yè)自動化. 2020,42(06)CSCD
【文章頁數(shù)】:3 頁
【部分圖文】:
微服務(wù)架構(gòu)的系統(tǒng)整體設(shè)計(jì)
在ERP系統(tǒng)的使用初期階段,由于各個業(yè)務(wù)的數(shù)據(jù)量并不大,系統(tǒng)的各個模塊并沒有到滿載負(fù)荷,系統(tǒng)中的有關(guān)數(shù)據(jù)的查詢,以及業(yè)務(wù)的計(jì)算,歷史數(shù)據(jù)的處理等運(yùn)行得很流暢。但是隨著功能的完善以及公司業(yè)務(wù)的發(fā)展,訂單量、庫存量的積累,以及后期各業(yè)務(wù)部門的數(shù)據(jù)查詢、數(shù)據(jù)導(dǎo)出需求的多樣性,使得系統(tǒng)運(yùn)行得越來越慢,用戶的體驗(yàn)越來越差。于是我們可能最先會想到的問題就是數(shù)據(jù)庫系統(tǒng)的負(fù)載問題,因?yàn)閭鹘y(tǒng)ERP應(yīng)用架構(gòu)都是將應(yīng)用所涉及的數(shù)據(jù)存放在單一全局?jǐn)?shù)據(jù)庫中,隨著業(yè)務(wù)數(shù)據(jù)的增加,最終導(dǎo)致數(shù)據(jù)庫系統(tǒng)的負(fù)荷滿載,針對這種情況,我們常用到的解決方案就是,優(yōu)化數(shù)據(jù)庫系統(tǒng)。我們可能會將應(yīng)用和數(shù)據(jù)庫做物理分離,也可能會采用讀寫分離的方式緩解壓力,再或者是優(yōu)化數(shù)據(jù)庫等方法。但這些方法都只是緩兵之計(jì),真正需要我們做的是如何將龐大的應(yīng)用或數(shù)據(jù)分散化,再集中化,也就如何將復(fù)雜的系統(tǒng)化整為零。為了提升ERP系統(tǒng)的運(yùn)行性能,負(fù)責(zé)底層架構(gòu)的部門通常也會主動從一些互聯(lián)網(wǎng)公司獲取技術(shù)經(jīng)驗(yàn),其中就包括一些解決性能和擴(kuò)展性的方案,包括高并發(fā)、高性能、讀寫分離、數(shù)據(jù)庫分庫分表等方案。但會發(fā)現(xiàn)有些方案可能不適合企業(yè)信息系統(tǒng),這是由于互聯(lián)網(wǎng)應(yīng)用和傳統(tǒng)企業(yè)信息系統(tǒng)的業(yè)務(wù)有很大的不同。對于ERP系統(tǒng)來講,它的并發(fā)量并不高,主要的區(qū)別在于業(yè)務(wù)的復(fù)雜性,各種業(yè)務(wù)耦合度遠(yuǎn)高于互聯(lián)網(wǎng)應(yīng)用,對于這種復(fù)雜的數(shù)據(jù)依賴,想要做數(shù)據(jù)庫層面的分庫分表是比較困難的。ERP系統(tǒng)中的業(yè)務(wù)執(zhí)行邏輯比互聯(lián)網(wǎng)系統(tǒng)要復(fù)雜的多,單個頁面需要的數(shù)據(jù),通常需要關(guān)聯(lián)的表高達(dá)兩張及以上。
在微服務(wù)架構(gòu)的設(shè)計(jì)過程中,服務(wù)的拆分是必不可少的,拆分的原則可以有多種方式,但大多數(shù)都是圍繞業(yè)務(wù)進(jìn)行拆分的。但對于服務(wù)的拆分粒度,沒有一個統(tǒng)一的標(biāo)準(zhǔn)。所以按照業(yè)務(wù)劃分的各個微服務(wù)應(yīng)做到高內(nèi)聚,盡量減少分布式事務(wù)。服務(wù)粒度劃分很難有統(tǒng)一的標(biāo)準(zhǔn),當(dāng)服務(wù)粒度過粗時,服務(wù)內(nèi)部的代碼容易產(chǎn)生耦合。服務(wù)的粒度也不是劃分的越細(xì)越好,拆的越細(xì),系統(tǒng)之間的依賴關(guān)系就會變得復(fù)雜,出現(xiàn)問題時也很難以定位。對于服務(wù)的拆分粒度,應(yīng)盡量保證服務(wù)本身所具有的業(yè)務(wù)獨(dú)立性和完整性,應(yīng)盡量減少服務(wù)間的依賴,特別是多層依賴以及鏈?zhǔn)秸{(diào)用。5.2 服務(wù)間的通信
本文編號:3321941
本文鏈接:http://sikaile.net/jingjilunwen/xmjj/3321941.html
最近更新
教材專著