Grpc 服务类作为 Grpc.Net 中的单例

问题描述

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

services.AddSingleton<GreeterService>

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)