我正在尝试在我的组织中将 RSocket 用于微服务。由于我们需要从 Cassandra 和 Postgresql 等数据库进行通信和获取很多内容,因此我观察到性能下降。
当我运行一个返回模拟响应的示例 Rsocket 客户端和 Rsocket 服务器时,我得到了 12k TPS 的吞吐量。一旦我与 Cassandra 集成以获得相同的代码库,它是 300 TPS,而 Postgresql 是 400 TPS。如果我将 HikariCP 添加到 Postgresql,它是 700 TPS。
对于阻塞 HTTP 的相同用例,它是 800 TPS,非阻塞 HTTP 是 1900 TPS。
这项研究是在 Mac 笔记本电脑 8 核、16 GB、rsocket-java(无 Spring 或 RPC)上进行的。
我很困惑 RSocket 是否适合微服务用例。
请提供您的经验和任何可用于进一步研究的基准。