数据搬运工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>

好了,对于数据搬运工就介绍到这里,下次我们将分析一下源代码的实现!

posted @ 2015-03-03 13:40  张占岭  阅读(2123)  评论(0编辑  收藏  举报