DSS介紹
DSS是為了實作異地資料同步而開發的一套.net平台的應用程式,它寄宿到windows服務上,由多個用戶端和一個服務端組成,其中用戶端用來收集資料(資料源端),服務端用來将資料寫入指定資料庫(資料目的端),整個資料傳輸的過程采用socket來實作,資料量單次在200K左右,保證了傳輸的性能;在服務端通過倉儲大叔的CacheQueue隊列元件來解決高并發的問題,隊列為了便于背景維護,采用了檔案存儲的方式。
DSS系統架構圖
DSS資料一緻性的設計
DSS解決方案圖
DSS為每個用戶端配置一個單獨的端口,減少資料沖突
<socketServer>
<servers>
<!-- maxMessageSize:1000K,socketBufferSize:8192,緩沖區指處理多少位元組後進行真實的處理,如寫檔案寫庫等-->
<server name="client1"
port="8403"
socketBufferSize="819200"
messageBufferSize="819200"
maxMessageSize="10240000"
maxConnections="200000"
serviceType="Tsingda.DSS.Server.ListeningService.Application.DSSCommandManager, Tsingda.DSS.Server.ListeningService.Application"
protocol="dssBinary"/>
<server name="client2"
port="8402"
socketBufferSize="819200"
messageBufferSize="819200"
maxMessageSize="10240000"
maxConnections="200000"
serviceType="Tsingda.DSS.Server.ListeningService.Application.DSSCommandManager, Tsingda.DSS.Server.ListeningService.Application"
protocol="dssBinary"/>
<server name="strCmd"
port="8404"
socketBufferSize="8192"
messageBufferSize="8192"
maxMessageSize="102400"
maxConnections="20000"
serviceType="Tsingda.DSS.Server.ListeningService.Application.StringCommandManager, Tsingda.DSS.Server.ListeningService.Application"
protocol="asyncBinary"/>
</servers>
</socketServer>
好了,對于資料搬運工就介紹到這裡,下次我們将分析一下源代碼的實作!
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!