grpc相关内容
我正在努力为grpc导入编写正确的配置. .net解决方案的结构类似于: \ Protos \ Common \ common.proto \ Protos \ Vehicle \ car.proto \ CarMicroservice 在car.proto内部,我有: import"common.proto" 我想要的是生成的grpc代码位于项目内部 CarMicrose
..
我正在使用 我只是在想这个错误吗?有没有更简单的方法可以从传入请求中获取元数据? 解决方案 Context.Key 使用引用相等.您应该在两个位置使用相同的 Key 实例.传递的字符串只是调试字符串.如该文档: 使用给定的调试名称创建一个Context.Key.多个不同的键可能具有相同的名称;该名称仅用于调试目的,不会影响行为. 使用引用相等性意味着您可以使用Java可见
..
我正在尝试遵循此处,以获取节点/grpc示例.我正在使用自己的原型文件,但是其余的代码看起来应该很熟悉. “严格使用"var messages = require('./time_series_pb.js');var services = require('./time_series_grpc_pb.js');var grpc = require('grpc');var async = requ
..
我正在尝试通过下面复制的调用来获取GRPC(Java API)连接的连接状态.根据我在网上可以找到的注释,GRPC客户端似乎在第一个服务调用&上懒洋洋地连接到服务器.如果我想在服务呼叫之前建立连接,则可以使用此选项.但是,此调用似乎总是阻止我的应用程序连接到服务器,并且我想知道是否必须依靠其他调用/机制. GRPC版本:1.1.2 JDK版本:1.8 最终ManagedChannelBu
..
有没有办法检查 grpc-server 是否正常,而无需进行实际的过程调用和实现其他查询(即 rpc HealthCheck(输入)返回(状态))? 解决方案 大多数客户端应使用
..
我有一个构建环境,其中将我的库(和标头)安装到了自定义位置.从npm安装软件包时,使用node-gyp的模块失败,因为它们找不到我已安装的库(或标头).如何使node-gyp知道我的自定义安装位置(linux)? 解决方案 如果在 npm install 之前设置 CXXFLAGS 和 LDFLAGS >在同一行中似乎有效: $ CXXFLAGS = -I/path/to/
..
我已经非常努力地使用GRPC文档的embed retryPolicy( https://github.com/grpc/proposal/blob/master/A6-client-retries.md#retry-policy ),但是我不明白我应该在哪里设置配置我的代码. 理想情况下,我希望python客户端指定其重试策略,但我也想了解如何从服务器端进行管理. 经过一番挖掘,我想出了这
..
我们将grpc用作所有内部系统的RPC协议.大部分系统是用Java编写的. 在Java中,我们可以使用InprocessServerBuilder进行单元测试.但是,我在Python中找不到类似的类. 任何人都可以提供示例代码来说明如何在python中进行GRPC单元测试吗? 解决方案 您今天问这个问题有多偶然?我们的单元测试框架刚刚进入代码审查.因此,目前的测试方法是
..
我自己实现了一个http/2代理,并且使用Nginx作为负载均衡器. 当我将Nginx用作h2c负载均衡器时,它会起作用: 服务器{听8443 http2;地点/{error_log/Users/jiajun/nginx_error_log.log调试;grpc_pass grpc://127.0.0.1:2017;}} 运行它: $运行示例/grpc_client/main.go
..
gRPC是一件好事,我发现我可以在Android(客户端和服务器)上使用它,因此我计划在我的应用程序中为IPC构建gRPC服务器. 问题是,在Android上构建gRPC服务器的缺点是什么? 解决方案 gRPC Java不支持Android的任何服务器. 说我有尝试在Android上运行Netty,并且在当时可以正常工作.我很确定TLS在某些Android版本中不起作用.
..
我的 GRPC 服务只能由本地计算机上的应用程序访问. 我认为,如果客户端通过Unix域套接字而不是localhost:port进行连接,它将执行得更快. 我很想了解在这种情况下如何创建grpc服务,它应该能够在CentOS和Mac上运行 当前正在创建服务器,如下所示: val服务器:Server = ServerBuilder.forPort(port).addServic
..
我正在使用grpc-java并具有3个服务,即A,B和C.我先调用service A,然后服务A调用B和C.我在对B和C的调用中使用Hystrix.C又产生了另一个线程调用另一个服务. 我有ClientInterceptor和ServerInterceptor,它们围绕traceId传递.只要它是gRPC工作线程,我就可以在Context中看到traceIds并进行记录,但是当调用移至另一个
..
我有一个grpc客户端,指向一个解析为2个IP地址的URL.问题是,当一个服务器节点发生故障然后又恢复时,grpc客户端不会选择它,并且所有负载都转移到单个节点上. 我尝试建议更改 networkaddress.cache.ttl 属性,但这没有帮助.我的代码(在Scala中) java.security.Security.setProperty("networkaddress.cache.
..
我需要使用拦截器来验证并记录一些grpc服务请求的数据.我检查了ServerInterceptor的interceptCall,但找不到获取请求对象的方法.有什么办法可以在拦截器中获取请求对象? 解决方案 您需要返回并扩展 ForwardingServerCallListener 并收听 ServerCall.Listener.onMessage()回调.
..
启动Python grpc.server 时,线程池中使用的 maximum_concurrent_rpcs 和 max_workers 之间有什么区别.如果我要 maximum_concurrent_rpcs = 1 ,我是否还应该向线程池提供多个线程? 换句话说,我应该将 maximum_concurrent_rpcs 与我的 max_workers 匹配,还是应该提供比最大并发RPC多
..
由于必须共享.proto文件才能为gRPC定义数据和服务,因此服务提供者和客户端需要访问相同的.proto文件.有没有分发这些文件的通用策略?我要避免每个项目在其Git存储库中都有自己的.proto文件,而我们的团队成员需要手动编辑这些文件或通过电子邮件共享它们. 有什么共同的最佳实践吗? 解决方案 不幸的是,虽然您应该实现的主要目标是将原型文件存储在一个版本控制存储库中,但是没有惯
..
对于一个项目,我想使用Spring Boot设置一个小型微服务场景,该API网关向客户端公开REST和GraphQL,并提供Eureka服务注册表和三个服务.由于性能原因,我希望API网关后面的所有服务都使用gRPC,但同时仍要公开其他REST API.有没有一种干净的方法可以在相同的业务逻辑上实现这两种类型的接口?网关如何将客户端的HTTP请求代理到gRPC的请求? 解决方案 您可以查看
..
使用GRPC时,我们需要通过协议缓冲区编译器(protoc)或使用Gradle或Maven protoc构建插件从.proto服务定义中生成gRPC客户端和服务器接口. 立即流:protobuf文件->Java代码->gRPC客户端. 那么,有什么方法可以跳过这一步吗? 如何创建一个通用的GRPC客户端,可以直接从protobuf文件中调用服务器而无需编译为Java代码?还是有一种在运
..
在处理rpc服务器调用之后,我尝试使用响应中的值设置一些元数据.计划是使用服务器拦截器并覆盖 close 方法. 类似这样的内容:
..
我想使用协议缓冲区(gRPC)进行通讯的3个Java应用程序(后端,前端和Android应用程序).因此,我希望这3个应用程序都能访问我管理.proto文件的共享protobuf存储库(Github).我是使用Gradle和protobufs的新手,所以我不确定管理此方法的正确方法是什么,任何帮助或指导都将不胜感激.我可以让每个Gradle项目将我的github protobuf存储库声明为依赖项
..