我用阿卡流“ActorPublisher
演员作为流每个连接的数据Source
发送到传入的WebSocket或HTTP连接。阿卡流作为网络响应源ActorPublisher - 如何背压工作
ActorPublisher
的contract是定期通过提供需求请求数据 - 下游可接受的元素数量。如果需求为0,我不应该发送更多元素。我观察到,如果我缓冲元素,当消费者速度缓慢时,缓冲区大小在1到60之间波动,但大多数在40-50之间。
要流我使用阿卡-HTTP“s到的WebSocket输出和HttpResponse
数据设置为Message
的Source
S(或ByteString
S)的能力。
不知背压如何在这种情况下 - 当我通过网络流数据到客户端。如何计算这些数字?它检查网络级别发生了什么?
I * *认为是阿卡流I/O层代表到TCP背压,但我没有证据 - 在I/O代码有太多我很难破译:( –