デフォルトでは、ばねのウェブフラックスはシングルスレッドイベントループであるnettyを使用します。各コアにスレッドが作成されるようにスプリングブートを構成する方法。
おかげで、
ロケシュ
Spring Bootのリファレンスドキュメント で説明されているように、NettyServerCustomizer
を使用してReactor Netty Webサーバーをカスタマイズできます。
これがSpring Boot 2.1の例です:
@Component
public class MyNettyWebServerCustomizer
implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
@Override
public void customize(NettyReactiveWebServerFactory factory) {
factory.addServerCustomizers(new EventLoopNettyCustomizer());
}
}
class EventLoopNettyCustomizer implements NettyServerCustomizer {
@Override
public HttpServer apply(HttpServer httpServer) {
EventLoopGroup eventLoopGroup = //...;
return httpServer.tcpConfiguration(tcpServer ->
tcpServer.bootstrap(serverBootstrap
-> serverBootstrap.group(eventLoopGroup)));
}
}