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
支付宝扫一扫,为大叔打赏!
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicEUK5CN0EzNfdUTJ91bvwFN4gzNzIzLclmcvx2Lc12bj91cn9Gbi52YvwVbvNmLzd2bsJmbj5ycldWYtl2Lc9CX6MHc0RHaiojIsJye.jpg)