Replies: 2 comments 2 replies
-
前端延时是否大? |
Beta Was this translation helpful? Give feedback.
-
说明客户端上传数据的速度超过了网关的处理能力。 如果用的 https://github.com/cloudwu/skynet/blob/master/service/gate.lua ,其实它没有太多耗时工作。它主要是把数据流分割成包,然后把数据指针转发给 agent : https://github.com/cloudwu/skynet/blob/master/service/gate.lua#L25 如果这个行为都对 cpu 造成压力的话,你可以把数据分包的工作分到每个 agent 上。那么你需要自己改写一个 gateserver ,把 https://github.com/cloudwu/skynet/blob/master/service/gate.lua#L78 这里的 openclient 调用放到 agent 里。让每个 agent 自己去处理 fd 上的数据。 另外,你可以增加流量控制,方法是使用 socket.pause https://github.com/cloudwu/skynet/blob/master/lualib/skynet/socket.lua#L262 skynet 带的 gate 只是一个简单的范例,而且写的时候还没有 socket.pause 以及 socket.warning ,你可以根据需要完善自己的版本。 |
Beta Was this translation helpful? Give feedback.
-
如何解决,网关也用master 跟slave的方式可以吗,还是说要起新的网关监听新的端口才行
Beta Was this translation helpful? Give feedback.
All reactions