ydd

Results 6 comments of ydd

可以试试,我还没做过动态加速部署。

``` // recvLoop keeps on reading from underlying connection if tokens are available recvLoop() for { for atomic.LoadInt32(&s.bucket)

如果设计将指令(cmdSYN,cmdFIN,cmdNOP)与数据接收指令(cmdPSH) 分开接收,可解决关闭那个已经写超时的stream,并回收缓存空间。 但是, 经测试,如果 s.bucket 满后,不再从tcp 中读数据,又会导致tcp的缓冲区满。要拿到关闭指令任然需要将之前的数据取出。

一个待商榷的方案,用两层buffer。 - `session` 上一个小buffer(1024),用于`tcp`拆粘包。将接收到的完成数据包分到对应的`stream`。 - `stream` 上一个大buffer(65535),缓冲数据流。 write:从`stream`的写`wbuffer`中取最多 1024个字节。经`session` 编码发送到对端,对端 接收到完整包后将其投递到对应stream。若对端 stream buffer不够,响应buffer满,本端尝试重发。 read:直接从 stream 上读取数据。 什么时候尝试重发?假设在stream上设置一个标记,对端write步骤触发本端buffer满时,本端设置标记。本端read步骤时,通告对端可以继续发送了。 上面的 buffer 大小应可以自己调节,避免多次拆包。

进程直接运行在物理机上怎么控制使用的资源大小?不像容器那样直接限制了 日志输出,如果程序不放在指定目录呢,那怎么读取它的日志文件?实时的日志输出到是有办法拿