高并发场景下,SOCKET 应用缓存模型

高并发,大数据量的SOCKET架构模型,对应数据空间锁的问题,可以使用拉的方式来处理,如发送数据,发送方提供数据的缓存空间,SOCKET 任务来取,发送完释放标记,这样就是一写多读的模型。

SOCKET 发送缓存的模型,应用任务将数据写入BUFFER中,设置标记,SOCKET任务进行发送,发送完成后,释放标记,不需要进行加锁,写任务和BUFFER 是一一对应,操作写BUFFER没有任务竞争。SOCKET任务读取,不存在锁的情况。写BUFFER时需要进行判断标记是否释放。

SOCKET接收的缓存模型要复杂些,固定缓存和动态共用缓存算法相结合,共用空间的缓存应该有锁的要求。地址空间获取多任务竞争,固定缓存没有锁,一一对应到SOCKET 或TASK上,SOCKET 和TASK的关系,有多种方式,一个TASK一个SOCKET,一个TASK处理多个SOCKET,固定缓存看对应到SOCKET上,还是TASK上,对应到SOCKET上,可以没有锁,对应到TASK上,所有SOCKET共用也一样有锁的情况。

同一BUFFER的写操作,尽量是同一个任务执行,读的操作可以是多个任务进行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值