1

默认情况下,Asp.Net Core 将 Grpc 服务类作为范围来处理并发 Web 请求的多线程。但是,我们仍然可以在 ConfigureServices() 中将 Grpc 服务类设置为 Singleton

services.AddSingleton<GreeterService>

我这样做是因为,我想从 Grpc 服务本身启动我的 Grpc 客户端调用,我只想一次执行。在这里,Grpc 服务和客户端都作为单个项目中的单个进程执行。 GrpcServices="both"

但是,同一项目的多个副本(嵌入的 Grpc 服务和客户端)可以共存以复制主节点和备用节点场景,其中每个节点都有自己的单个 Grpc 服务和 Grpc 客户端。它是否会导致多线程用例的任何问题/性能问题,因为每个 Grpc 服务节点可以从其他节点并行获取多个 Grpc 客户端调用,并且每个 Http2 请求都有一个线程执行?

4

0 回答 0