文章出處

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>

好了,對于數據搬運工就介紹到這里,下次我們將分析一下源代碼的實現!


文章列表

全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()