在具有多个使用 Netty 的客户端库的反应式应用程序中管理 Netty 资源(EventExecutorGroup)是否有任何最佳实践?
Redis生菜文档状态
大部分客户端资源由线程池(EventLoopGroups 和 EventExecutorGroup)组成,它们为连接工作者构建基础设施。通常,跨多个客户端重用 ClientResources 实例是一个好主意。
Spring 文档指出,默认情况下 Client 和 Server 共享它们的资源(Reactor Netty HTTP 全局资源)
Spring Boot 默认使用 Netty,因为它更广泛地用于异步、非阻塞空间,并允许客户端和服务器共享资源。
而 Postgresql R2DBC 默认使用 Reactor Netty TCP 全局资源(不是 HTTP...)
为 Reactor Netty 和 redis Lettuce 以及其他响应式客户端重用这些资源是否有意义?
因为如果我有几个反应式数据库客户端(Redis + R2DBC ...)+(WebClient + Reactor Netty),他们每个人都可以使用线程 == 处理器数创建线程池。
是不是很浪费?
还是让他们拥有自己的资源更好?