天天看點

資料搬運工DSS~介紹

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

支付寶掃一掃,為大叔打賞!

資料搬運工DSS~介紹