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>
好了,对于数据搬运工就介绍到这里,下次我们将分析一下源代码的实现!
本文转自博客园张占岭(仓储大叔)的博客,原文链接:数据搬运工DSS~介绍,如需转载请自行联系原博主。