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

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

你可能感兴趣的:(数据)