文献资料说在Http().bindAndHandle()上:
没有对连接源施加背压,即所有连接都以最大速率被接受,这取决于应用程序,可能会带来DoS风险!
bindAndHandleAsync() bindAndHandleSync()也是如此。
即使是更高级别的系统(如文件IO或TCP ),我认为在TCP之上的这些文件还指出将通过反应流机制工作。
Http().bind()是魔法函数吗?这适用于背压吗?
如何使用akka公开背压HTTP端点?
发布于 2015-08-10 20:44:57
在java中,这将是如下所示
Flow<ByteString, ByteString, BoxedUnit> dataFlow = ...;
Http
.get(actorSystem)
.bind(host, port, materializer)
.to(foreach(con -> {
logger.info("Accepted connection from {}.", con.remoteAddress());
con.handleWith(dataFlow, materializer)
}))
.run(materializer);dataFlow是转换不启动消息并将它们映射到响应事件的任何流。这样,您将受益于所有的反应流的好处。
您也可以尝试使用http路由和简单的Tcp。
https://stackoverflow.com/questions/31916200
复制相似问题