999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SOA技術(shù)架構(gòu)的多并發(fā)異構(gòu)業(yè)務(wù)系統(tǒng)中臺技術(shù)設(shè)計

2019-07-16 11:55:38沈進波
電子技術(shù)與軟件工程 2019年8期
關(guān)鍵詞:數(shù)據(jù)庫系統(tǒng)

沈進波

摘要:面對傳統(tǒng)商業(yè)行業(yè)信息系統(tǒng)建設(shè)中出現(xiàn)的信息孤島問題,本文采用SOA技術(shù)架構(gòu),利用對應(yīng)用層的二次分層架構(gòu)設(shè)計,將復(fù)雜的中間應(yīng)用組件進行松耦合處理,同時對不同分層的關(guān)鍵技術(shù)加以研究,有效實現(xiàn)信息系統(tǒng)的快速迭代和敏捷開發(fā),解決多異構(gòu)系統(tǒng)的業(yè)務(wù)一體化整合中的關(guān)鍵問題。

[關(guān)鍵詞]商業(yè)信息系統(tǒng)分層架構(gòu)異構(gòu)系統(tǒng)融合負載均衡SOA

1背景

商業(yè)零售業(yè)信息管理管理系統(tǒng)應(yīng)用超過20年,隨著各種零售業(yè)務(wù)的不斷出現(xiàn),信息系統(tǒng)也從單一的商品進銷存管理系統(tǒng),逐步擴展為功能細分的ERP進銷存、CRM會員、SCM供應(yīng)鏈、WMS倉儲、TMS物流配送等等幾十種獨立系統(tǒng)。近些年,隨著線上線下一體化業(yè)務(wù)的興起,又衍生出更多的線上運維管理業(yè)務(wù)系統(tǒng)。這些異構(gòu)系統(tǒng)在提供各類專業(yè)業(yè)務(wù)的同時,也在企業(yè)內(nèi)形成了一個個系統(tǒng)孤島。

以滿足消費者多種多樣的需求為目標(biāo),現(xiàn)在商業(yè)業(yè)務(wù)變得日趨復(fù)雜多變,亟需打通各個異構(gòu)系統(tǒng)之間的壁壘,使得各個系統(tǒng)可以靈活地按業(yè)務(wù)功能要求交互運轉(zhuǎn)。技術(shù)的發(fā)展提供了可能,SOA技術(shù)架構(gòu)應(yīng)運而生。為了適應(yīng)零售業(yè)業(yè)務(wù)的快速多變的需求,可以在復(fù)雜的系統(tǒng)之上,采用基于SOA技術(shù)架構(gòu)的中臺設(shè)計,實現(xiàn)在各個系統(tǒng)間的破壁運行,快速完成軟件開發(fā)的落地工作,讓信息系統(tǒng)變得更好用。

2SOA技術(shù)架構(gòu)優(yōu)勢分析

2.1SOA技術(shù)架構(gòu)

SOA(service-orientedarchitecture),面向服務(wù)的體系結(jié)構(gòu),通過在中間層建立一系列的模塊化組件,可以把中間應(yīng)用程序的各種功能單元,按更細的維度進行劃分,在接口中以契約的方式進行聯(lián)系。利用這些標(biāo)準接口的協(xié)議,構(gòu)建系統(tǒng)的各個服務(wù)之間,都使用統(tǒng)一的方式來聯(lián)系。SOA技術(shù)架構(gòu)自身具有多種新的特性,如架構(gòu)的松耦合、模塊的可復(fù)用、標(biāo)準接口模式、外部訪問支持、標(biāo)準消息模式等。

2.2SOA技術(shù)架構(gòu)優(yōu)勢

SOA技術(shù)架構(gòu)利用新的業(yè)務(wù)和管理能力,實時集成。對數(shù)據(jù)和應(yīng)用采用集中式系統(tǒng),易于部署和管理,也易于技術(shù)功能調(diào)整,可以提高業(yè)務(wù)響應(yīng)速度,并保持系統(tǒng)的穩(wěn)定性。通過選用成熟的中間件,實現(xiàn)一個架構(gòu)支持多種應(yīng)用,降低成本(架構(gòu)和人員)。在與第三方的系統(tǒng)對接開發(fā)上,API接口利用微服務(wù)平臺提供標(biāo)準服務(wù),在與第三方對接的過程中再無后顧之憂。

SOA技術(shù)在多系統(tǒng)應(yīng)用中起到核心作用。技術(shù)架構(gòu)上,在傳統(tǒng)B/S的三層架構(gòu)內(nèi),增加一級基礎(chǔ)服務(wù)平臺層,將中間應(yīng)用層拆分成上下層架構(gòu),對原中間層的服務(wù)功能再次分層,拆分出更小的數(shù)據(jù)服務(wù)模塊。這些小模塊為新的中間層提供與數(shù)據(jù)庫層的業(yè)務(wù)交換訪問,而應(yīng)用層的開發(fā)者就不需要再面對底層數(shù)據(jù)庫的約束,把全部設(shè)計意圖實現(xiàn)到業(yè)務(wù)功能上。在基礎(chǔ)服務(wù)平臺層上,比如出現(xiàn)增加數(shù)據(jù)庫類型時,可以通過快速上線一個新數(shù)據(jù)庫訪問連接字的適配小模塊,即解決所有應(yīng)用層對新數(shù)據(jù)庫類型的數(shù)據(jù)訪問功能,這將極大提高中間服務(wù)層的開發(fā)效率,業(yè)務(wù)功能調(diào)試也變得更簡單。SOA技術(shù)四層架構(gòu)示意圖如圖1所示。

2.3技術(shù)架構(gòu)的擴展性

如表1所示。

3業(yè)務(wù)架構(gòu)設(shè)計

3.1業(yè)務(wù)分割架構(gòu)

分割架構(gòu)主要是指業(yè)務(wù)拆分。根據(jù)具體的業(yè)務(wù)內(nèi)容和高內(nèi)聚、低耦合的原則,將復(fù)雜的業(yè)務(wù)進行模塊化的劃分,單獨部署,接口化操作數(shù)據(jù),實現(xiàn)業(yè)務(wù)的橫向分割。細粒度分割復(fù)雜的業(yè)務(wù)系統(tǒng),可以降低業(yè)務(wù)系統(tǒng)的復(fù)雜度,按照模塊進行開發(fā)和維護,降低整體系統(tǒng)的宕機時間。

一般來說,分割架構(gòu)需要開發(fā)、業(yè)務(wù)為主,運維、測試為輔,架構(gòu)師統(tǒng)一主導(dǎo)進行,共同進行系統(tǒng)劃分工作。

業(yè)務(wù)劃分因公司的業(yè)務(wù)不同而異,支持服務(wù)化的開源技術(shù)框架也很多,常見的有Dubbo、Dubbox以及比較新的SpringBoot、SpringCloud等。

首先是不可避免。一般系統(tǒng)初期,公司為了業(yè)務(wù)盡快上線,大多將業(yè)務(wù)功能堆加在一起。隨著公司業(yè)務(wù)發(fā)展,系統(tǒng)拆分、系統(tǒng)重構(gòu)不可避免。

做好計劃,持久作戰(zhàn)。系統(tǒng)拆分、系統(tǒng)重構(gòu)時間相對較長,一定要提前做好計劃,避免出現(xiàn)項目持續(xù)時間久,項目疲憊的情況。

業(yè)務(wù)拆分要科學(xué)。業(yè)務(wù)的拆分一定要經(jīng)過架構(gòu)、開發(fā)、業(yè)務(wù)、DBA等部門共同討論,共同制定出既適合當(dāng)下,又能夠適合未來一段時間內(nèi)(2~3年)的業(yè)務(wù)發(fā)展。

業(yè)務(wù)拆分要徹底。業(yè)務(wù)拆分不應(yīng)該只是系統(tǒng)或是程序工程的拆分,還應(yīng)該包括數(shù)據(jù)庫的拆分。我們之前就是拆分了程序,未徹底拆分數(shù)據(jù)庫,導(dǎo)致程序?qū)崿F(xiàn)服務(wù)化后,后端數(shù)據(jù)庫的壓力不斷增大。采用數(shù)據(jù)庫中間件實現(xiàn)后端數(shù)據(jù)庫的分庫,但因為中間件的一些限制,開發(fā)又不得不修改一些跨庫查詢和跨庫事務(wù)的情況。所以業(yè)務(wù)拆分一定要徹底,不管是項目工程,還是數(shù)據(jù)庫。如圖2所示。

3.2 OAuth2.0開放性授權(quán)

OAuth(開放授權(quán))是一個開放的標(biāo)準。允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定服務(wù)提供者的數(shù)據(jù)。每一個令牌授權(quán)一個特定的網(wǎng)站,在特定的時段內(nèi)訪問特定的資源。這樣,OAuth允許用戶授權(quán)第三方網(wǎng)站訪問他們存儲在另外的服務(wù)提供者上的信息,而不需要分享他們的訪問許可或他們數(shù)據(jù)的所有內(nèi)容。

3.3異步事務(wù)訪問

使用異步事務(wù)替代同步事務(wù)。在業(yè)務(wù)處理過程中,將大的同步事務(wù),根據(jù)業(yè)務(wù)特征拆分成多個異步執(zhí)行的事務(wù),分布式處理提高處理業(yè)務(wù)的效能。如圖3所示。

4分層架構(gòu)設(shè)計

系統(tǒng)在做分層架構(gòu)后,一般情況下要主要包括前端接入層、中間應(yīng)用層、公共服務(wù)層、數(shù)據(jù)存儲層四個層次,其中接入層包括CDN、DNS轉(zhuǎn)發(fā)、負載均衡、靜態(tài)資源層等。信用負載均衡的系統(tǒng)分層架構(gòu)圖如圖4所示。

4.1業(yè)務(wù)應(yīng)用層設(shè)計

業(yè)務(wù)應(yīng)用層比較大的一塊是做服務(wù)化,這會在下面的分割架構(gòu)進行詳細說明。這里主要說明簡單的業(yè)務(wù)拆分和應(yīng)用集群的部署方式。

高內(nèi)聚、低耦合是業(yè)務(wù)應(yīng)用層實現(xiàn)目標(biāo),業(yè)務(wù)拆分是解耦的重要利器之一。一般根據(jù)公司業(yè)務(wù)系統(tǒng)的特點和關(guān)聯(lián)進行拆分,對公共業(yè)務(wù)系統(tǒng)進行抽取形成公共業(yè)務(wù)應(yīng)用,對所有業(yè)務(wù)系統(tǒng)進行接口化服務(wù)。各個業(yè)務(wù)系統(tǒng)之間獨立部署,降低耦合度,減少了業(yè)務(wù)系統(tǒng)之間的依賴和影響,提高整個系統(tǒng)的利用率。

因為有前面的負載均衡和反向代理層,所有后端的應(yīng)用服務(wù)器可以橫向部署多臺,實現(xiàn)高可用也起到用戶訪問分流,增加吞吐、提高并發(fā)量。實際應(yīng)用部署中主要以Java應(yīng)用居多,且多部署在Tomcat中,以此為例,在應(yīng)用服務(wù)器部署時,主要考慮以下幾個問題或是建議:

統(tǒng)一JDK和Tomcat版本。主要是為了方便管理,另外也方便做自動化運維部署。其中統(tǒng)一部署中的操作系統(tǒng)優(yōu)化、安全加固,Tomcat優(yōu)化。我們在做Tomcat自動部署的時候,采用的是根據(jù)系統(tǒng)配置自動優(yōu)化的方式和安全加固策略進行。另外就是自動備份和日志的自動切割,都在統(tǒng)一部署腳本中體現(xiàn)。這樣所有部署下來,安裝位置、部署方式等都是一一致的,方便統(tǒng)一管理,統(tǒng)一備份和升級。

動態(tài)頁面靜態(tài)化。這個根據(jù)訪問量選擇系統(tǒng)進行,提高頁面的訪問速度。

4.2公共服務(wù)層設(shè)計

公共服務(wù)層將上層業(yè)務(wù)層公共用到的一些緩存、消息隊列、session、文件圖片、統(tǒng)一調(diào)度、定時任務(wù)等抽取出來,作為單獨的服務(wù)進行部署,為業(yè)務(wù)層提供緩存、消息隊列以及圖片等服務(wù)。

緩存主要是指的緩存數(shù)據(jù)。應(yīng)用服務(wù)器通過緩存服務(wù)器查詢常用數(shù)據(jù),提高系統(tǒng)的查詢速度。消息隊列主要針對高并發(fā)的寫,采用異步調(diào)用消息隊列,進行數(shù)據(jù)的臨時存儲,提高系統(tǒng)的并發(fā)量和系統(tǒng)效率。

數(shù)據(jù)緩存以及session存儲主要是Redis。Redis的集群部署方式在數(shù)據(jù)存儲層會詳細說明。

消息隊列的主要中間件有ActiveMQ和RabbitMQ等,二者都提供master-slave或是集群的部署方式。Kafka主要在搭建日志分析平臺時用到過。對于ActiveMQ和RabbitMQ,二者并沒有太大的區(qū)別,都在生產(chǎn)用過,也沒遇到太大問題。在技術(shù)選擇中,還是選擇開發(fā)和運維最熟悉的為好,再具體點,建議以開發(fā)最熟悉的為標(biāo)準。

文件圖片服務(wù)器,如果公司的數(shù)據(jù)比較敏感且有較高的保密性,加上核心生產(chǎn)系統(tǒng)只能內(nèi)部使用的話,建議搭建內(nèi)部分布式文件服務(wù)器、圖片服務(wù)器,使用FastDFS進行構(gòu)建分布式集群文件服務(wù)器的。如果對外提供服務(wù),建議采用購買云服務(wù),方便運維管理,而且云服務(wù)自身的特性,也比較容易增加文件或圖片的加載速度。

公共服務(wù)層的架構(gòu)和部署一般來說都提供了主從和集群兩種高可用方式,并且都實現(xiàn)分布式部署。由于公共服務(wù)的重要性,所有業(yè)務(wù)都在調(diào)用,所以在實際生產(chǎn)部署的時候,一定要采用高可用的方式進行部署,并且要有可伸縮性和可擴展性。結(jié)合我們公司實際情況,在進行公共服務(wù)部署時,除了采用主從或是Cluster的方式進行部署。

為了快速的響應(yīng)即時擴容的需要,還增加了一鍵擴展的腳本,實現(xiàn)對集群中服務(wù)器的快速擴展。分布式擴展方式中的常用算法主要是一致性hash的方式。

4.3數(shù)據(jù)存儲層設(shè)計

數(shù)據(jù)存儲層主要分為關(guān)系型數(shù)據(jù)庫和NoSQL數(shù)據(jù)庫。主要從高可用集群包括負載均衡、讀寫分離、分庫分表等幾個方面。

NoSQL數(shù)據(jù)庫主要采用Redis為主。Redis常用的高可用方案有哨兵模式和Cluster。使用Redis除了上面講的做共享session存儲之外,最大的應(yīng)用就是緩存常用數(shù)據(jù)。大應(yīng)用建議生產(chǎn)環(huán)境中分集群部署。

關(guān)于非關(guān)系型數(shù)據(jù)庫,除了高可用、監(jiān)控之外平常工作中還面臨很大的一“個工作就是分庫和分片,如何方便快速擴展,這很有用。對于Redis的使用,建議在一開始規(guī)劃時就考慮好擴展問題避免以后的遷移或是在線擴展等。這跟關(guān)系型數(shù)據(jù)庫的分庫分表有異曲同工之妙。Redis的分庫分片和擴展對系統(tǒng)架構(gòu)來說很重要,尤其業(yè)務(wù)的高速發(fā)展期,越來越多的數(shù)據(jù)緩存在Redis中,如果沒有做好規(guī)劃,將會很被動。

Redis包含三種集群策略:

主從復(fù)制:在主從復(fù)制模式中,首先會有主數(shù)據(jù)庫(master)和從數(shù)據(jù)庫(slave)的定義。主數(shù)據(jù)庫是活動業(yè)務(wù)應(yīng)用,隨時進行讀寫,讀寫的數(shù)據(jù)會按時序的規(guī)則,把變化內(nèi)容同步進入從數(shù)據(jù)庫。一個master可以擁有多個slave,但是一個slave只能對應(yīng)一個maste。

哨兵:哨兵的作用是監(jiān)控redis系統(tǒng)的運行狀況,他的功能包括:監(jiān)控主從數(shù)據(jù)庫是否正常運行;master出現(xiàn)故障時,自動將slave轉(zhuǎn)化為master;多哨兵配置的時候,哨兵之間也會自動監(jiān)控;多個哨兵可以監(jiān)控同一個redis。

集群:使用集群,將采用多主數(shù)據(jù)庫形式,需要同時打開每個數(shù)據(jù)庫的cluster-enable配置。每個集群組中,如果要保持穩(wěn)定運行,應(yīng)不低于三個以上主數(shù)據(jù)庫配置。

集群示意圖如圖5所示。

5結(jié)束語

利用SOA架構(gòu)里的公共服務(wù)層設(shè)計,很好地解決中臺系統(tǒng)的開發(fā)復(fù)雜度問題,將系統(tǒng)架構(gòu)變得松耦合,有利于信息系統(tǒng)相對于業(yè)務(wù)發(fā)展的隨需應(yīng)變,使得快速迭代開發(fā)模式在多異構(gòu)系統(tǒng)上得以實現(xiàn)。應(yīng)用企業(yè)還可以在新架構(gòu)基礎(chǔ)之上,逐步對原有舊系統(tǒng)進行抽取式更換,通過全新定義一套業(yè)務(wù)對接模型,并開始向不同軟件提供商提供服務(wù),使得異構(gòu)系統(tǒng)的信息孤島逐漸消除,為企業(yè)信息化應(yīng)用提供更快捷的服務(wù)。

參考文獻

[1]李永紅.SOA在軟件工程開發(fā)中的應(yīng)用[J].電子技術(shù)與軟件工程,2017(07):38-41.

[2]倪楓.SOA敏捷架構(gòu)的TOGAF層次化迭代建模[J]上海理工大學(xué)學(xué)報,2018(15):133-135.

[3]劉家興,計算機輔助信息分析的技術(shù)框架及其發(fā)展趨勢[J].中國新通信,2018(09):22-25.

[4]張婷,張鑫,張新剛,基于CPN的OAuth協(xié)議建模與分析[J].計算機系統(tǒng)應(yīng)用,2018(03):57-60.

[5]馮瑞青,張激,趙俊才.異構(gòu)處理器多操作系統(tǒng)協(xié)同技術(shù)研究[J].計算機系統(tǒng)應(yīng)用,2018(12):177-180.

[6]叢紅藝.Linux平臺Tomcat的安全加固[J].網(wǎng)絡(luò)安全和信息化,2017(12):73-75.

[7]丁志均,楊青等.異構(gòu)Redis集群大規(guī)模評論數(shù)據(jù)存儲負載均衡設(shè)計[J].華東師范大學(xué)學(xué)報,2017(08):119-122.

[8]王瑋.Linux服務(wù)器安全防護部署[J].計算機產(chǎn)品與流通,2018(17):25-28.

猜你喜歡
數(shù)據(jù)庫系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數(shù)據(jù)庫
財經(jīng)(2017年15期)2017-07-03 22:40:49
數(shù)據(jù)庫
財經(jīng)(2017年2期)2017-03-10 14:35:35
數(shù)據(jù)庫
財經(jīng)(2016年15期)2016-06-03 07:38:02
數(shù)據(jù)庫
財經(jīng)(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 国产欧美性爱网| 丁香婷婷激情综合激情| av免费在线观看美女叉开腿| 中文字幕 91| 伊人福利视频| 尤物视频一区| 亚洲欧美综合在线观看| 久久黄色视频影| 久久99热66这里只有精品一| 青青网在线国产| 26uuu国产精品视频| 欧美视频免费一区二区三区| 免费不卡在线观看av| 国产人成乱码视频免费观看| 日韩精品少妇无码受不了| 国产精彩视频在线观看| 女人毛片a级大学毛片免费| 久久性妇女精品免费| 高清无码手机在线观看 | 情侣午夜国产在线一区无码| 亚洲无码高清免费视频亚洲| 女人18毛片一级毛片在线 | 久久久久久久蜜桃| 午夜a级毛片| 亚洲高清无码久久久| 国产黄网永久免费| 伊人蕉久影院| 亚洲欧美不卡| 全部无卡免费的毛片在线看| 免费一级成人毛片| 伦伦影院精品一区| 久久99这里精品8国产| 精品久久国产综合精麻豆 | 国产成人精品免费av| 特级毛片8级毛片免费观看| 91区国产福利在线观看午夜| 伊人久久久久久久| 久久鸭综合久久国产| 日韩免费成人| 少妇被粗大的猛烈进出免费视频| 性欧美精品xxxx| 亚洲日本一本dvd高清| 日韩视频福利| 午夜一区二区三区| 日韩毛片在线视频| 第九色区aⅴ天堂久久香| 99久久99视频| 宅男噜噜噜66国产在线观看| 在线精品视频成人网| 在线看片中文字幕| 亚洲国产天堂久久综合| 在线看AV天堂| 久久成人免费| 一级成人a毛片免费播放| 国产91丝袜在线播放动漫 | 亚洲精品国偷自产在线91正片| 国产在线第二页| 午夜a级毛片| 精品国产Ⅴ无码大片在线观看81| 欧美成人二区| 亚洲视频免| 日韩天堂在线观看| 精品一区二区三区无码视频无码| 天堂在线www网亚洲| 国产自在线播放| 日韩大乳视频中文字幕| 日韩美女福利视频| 日韩精品免费一线在线观看| 国产福利2021最新在线观看| 色亚洲成人| 中文字幕欧美日韩高清| 国产精品一区二区在线播放| 又粗又大又爽又紧免费视频| 一级毛片免费播放视频| 亚洲一区二区日韩欧美gif| 日韩A∨精品日韩精品无码| 国产精品专区第一页在线观看| 国产污视频在线观看| 国产极品美女在线播放| 国产丝袜啪啪| 国产成人精品免费av| 日本人妻丰满熟妇区|