微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。