解密區域整合伺服器

2022-02-26 18:33:54 字數 2556 閱讀 1340

從2023年3月年三月份開,我就到了北大軟體工程發展****,就與區域整合伺服器打了一年多的交道,對其相當熟悉。有關區域整合伺服器的商業價值,應用前景,應用例項等與技術無關的事,不在我敘述範圍內,就技術層面,對它進行分析。

什麼是區域整合伺服器(zone integration server,zis):

分布式應用整合框架(daif)提供了多層面的整合機制,包括資料整合、功能整合、過程整合和表示整合,為這些「遺產系統」的整合提供了乙個完整解決方案。其中在資料整合方面採用區域整合伺服器(zone integration server, zis)和應用介面卡(adapter),通過資料物件封裝要交換的資料、並使用訊息機制支援資料的發布/訂閱(publish/subscribe)與請求/應答(request/ response)兩種通訊模式,實現各應用系統間的資料互動與整合。

為方便描述,區域整合伺服器簡稱zis,介面卡簡歷adapter

區域整合伺服器是怎麼進行工作的:

現在我們要把資料庫a中的資料傳送到資料庫b為例,來對區域整合伺服器進行分析。

1. 資料庫a中需要進行傳送的資料通過約定,進行打包(後詳解)

2. 通過過adaptera,把打包好的資料,轉換成zis可以識別的格式,並對資料進行傳送。(後詳解)

3. zis接收adapter a關送的資料,並對其進行轉存與備份,然後提醒adatper b查收(後詳解)

4. adapter b掃瞄zis伺服器,當得知有資料需要自己接收,就接收資料,並進行存貯。

5.對adapter b接收到的資料進行解包處理,關進行到資料庫b中。

細說務個執行步驟:

1.打包過程分為以下幾個步驟來完成:

2)轉換:把抽取的資料轉換成可傳輸的形式,最當用的就是檔案或字串,在這裡我是使用soap,將資料物件轉換成xml格式,具體使用soap序列化物件,有利有弊,可以參照我的另一篇部落格序列化物件,使用的三種方式:xml,binary,soap,我就不在這裡囉嗦了。

3)加密:資料要在網路上傳輸,安全性的考慮要多一點,但處於綜合考慮,在資料加密時,使用對稱加密演算法des或rijndeal加密。

2.通過對資料的打包,資料已經被安全地進行包裝,接下來就是adapter a需要做的工作了:

1)拆分過大資料報:對於打包的資料,可能它的體積非常大,在網路上傳輸就是個讓人頭痛的問題,如http預設只能傳輸10m的資料。所以我們把每個資料庫拆分成n個體積不超過1m的資料報,並對資料報進行編號與校驗。

2)給拆分後的資料報「貼標籤」:資料報要傳送到什麼地方?那就寫好資料報要去的位址。

3)對資料報進行適配:找好的包,按zis要求的格式進行改造,沒有規矩,不成方圓嘛,咱們的zis也不可能是萬能的。

4)傳送資料。呼叫zis的api進行資料傳送,並傳送資料報的校驗碼。這時adapter a的工作就完成了。

3.zis的資料任務非常繁重,要處理各個adpater傳送過來的資料。

1)接收資料:對adapter傳送過來的資料進行存貯,做到adpater有求必應。

2)識別格式:對於adapter傳送過一的資料進行識別,如果格式不正確,則對資料進行丟棄,並做好備份。

3)校驗資料:對於adapter傳送過來的資料,與校驗碼,對其進行校驗。格式不正確,則通知adapter a。讓其重新傳送。

4.adapter b做的工作與adapter a做的工作正好相反,有接收資料、校驗資料、合併資料。

5.解包與打包也是逆過程,這裡也就不再多說了。

使用zis的優勢

zis可以實現高安全級別的資料傳輸安全。讓我們來看一下系統佈署示意圖:

在佈署時,防火牆只開啟http的80埠,內網還是經過了vpn進行位址對映,所以資料庫隱藏較深,安全性相對來說比較高。這是使用其它分布式系統難以實現的。

zis的缺點:

不難看出,效能問題一直是zis的軟肋,對於程式設計師來說,效能是一重很重要的考慮因素,但在很多時候,我們不能一味地追求效能,而忽略了成本、安全等因素。所以對於zis的這個缺點,是在效能允許範圍內。但zis也就注定不能使用在非常繁重的資料流轉上。

zis內部架構

zis包括三部分構成結構圖發下:

其中,winform應用程式的結構如下:

這兩個示意圖放在這裡,就不需要再用語言描述了。

結束

整個zis就描述到這裡吧。今天為了寫這篇部落格,花了我一下午的時間,既畫圖,雙打字,手都寫酸了。如果有什麼意見,歡迎指教!

Hudson 持續整合伺服器工具介紹

持續整合 ci 是一種實踐,旨在緩和和穩固軟體的構建過程。在整個軟體開發生命週期內,它主要用於保證 質量,確保盡早遇到問題 如 缺陷 避免問題在軟體開發周期晚期變複雜時才被發現。ci的作用主要有如下幾個方面 實現ci的上述功能,需要三個元件 hudson 是一種革命性的開放原始碼 ci 伺服器,它從...

Docker持續整合伺服器開啟TLS監聽

我們日常使用的docker命令實際上是個客戶端,真正的服務端為dockerd守護程序,客戶端和服務端之間可以通過http協議進行互動。為了跑持續整合,需要通過遠端命令來發布docker容器。docker 19.03.x 系統 centos 7 ubuntu 16 生成ssl證書過程略,請參考文末的官...

安裝完成伺服器進行優化

這裡由ubuntu 14.04 為例 vim etc ssh sshd config permitrootlogin yes 最後一行新增 usedns no儲存退出後,重啟ssh服務 service ssh restart退出重新登入即可 ifconfig a檢視所有網絡卡,根據伺服器上網線插入的...