
目前的 network 层的 writer 是双通道模式不断消化writer需求,这个设计的目的是为了进行优先级区分,如 Get或心跳包操作是阻塞通道(或者说通道缓冲较小),msgbuffchan 通道用来处理大规模数据调度,如 OLAP 数据仓库。
面向业务:当数仓与 bankv进行链接的时候,会大量调用数据,如果此时数仓客户端掉线,bankv没有及时的发送星跳包检查,此时就会有资源泄漏,所以需要进行优先级的设置,优先处理 msgchan中最重要的消息。
方案:可以采用双select的设计模式(select 处理是随机的),如有更好的方案,请comment
如
for{
select{
case: ........
default:
select{}
}
}
方案:可以采用双select的设计模式(select 处理是随机的),如有更好的方案,请comment
如
for{
select{
case: ........
default:
select{}
}
}