我们目前正在使用 grpc-starter 包https://github.com/yidongnan/grpc-spring-boot-starter实现高吞吐量的 Spring Boot 应用程序,这是一个基于客户端服务器的应用程序。我们正在将旧的 REST 端点 CRUD 操作迁移到 GRPC。为了获得这项服务的最佳设计,我们需要帮助解决以下问题:
如果单个不可变 GRPC 阻塞存根客户端实例被多个线程访问,这将是阻塞调用,即在任何给定时间仅执行一个 RPC 调用。
根据 google GRPC IO 文档,建议不要使用阻塞存根来并行化 RPC 调用。这是否突出显示了同一客户端对象上的多个 RPC 调用的情况。https://grpc.io/docs/guides/performance/
阻塞存根是否会为每个调用使用新的 TCP 连接,或者重复使用相同的 TCP 连接。
当快照或备份正在进行时,我对写入(SQL UPDATE 或 DELETE)到 AWS RDS 数据库(多可用区)的性能很好奇。
我知道手动快照和备份是从多可用区中的辅助节点获取的,但是由于 DDL 导致的任何更改都必须同步复制。在这种情况下,DDL 性能不会变慢。
我找不到有关此主题的任何文档。我发现 EBS 卷的 IO 没有在主要中暂停。理论上,我觉得主节点上的读取不会受到影响,但写入可能会很慢或暂停。