草庐IT

RPC和GRPC

全部标签

gRPC入门学习之旅(二)

   gRPC入门学习之旅(一)    gRPC是一个高性能、通用的开源远程过程调用(RPC)框架,基于底层HTTP/2协议标准和协议层Protobuf序列化协议开发,支持众多的开发语言,由Google开源。    gRPC也是基于以下理念:定义一个服务,指定其能够被远程调用的方法(包含参数和返回类型)。在服务端实现这个接口,并运行一个gRPC服务器来处理客户端调用。在客户端拥有一个存根能够像服务端一样的方法。    gRPC客户端和服务端可以在多种环境中运行和交互。你可以用Java创建一个gRPC服务端,用Go、Python、C#来创建客户端。特点:跨语言;基于HTTP/2之上的二进制协议;

java - 在 maven 中使用 grpc

有谁知道如何在maven中为grpc应用程序编译*.proto文件?这就是我在maven中编译protobuf的方式——(旧方法,使用已安装的protoc编译器,摘自pom.xml):maven-antrun-plugingenerate-protobuf-sourcesgenerate-sourcestarget/generated-sources/javarun我想知道grpc是否可以做类似的事情。据我了解,我需要以某种方式将protoc-gen-grpc-java插件与protobuf连接起来,但我不确定该怎么做。更新:对于那些感兴趣的人,我使用Maven创建了一个完整的客户端-

java - 如何在客户端使用 Java 读取 gRPC 中的元数据

我正在使用Java和Protoc3.0编译器,下面提到了我的原型(prototype)文件。https://github.com/openconfig/public/blob/master/release/models/rpc/openconfig-rpc-api.yangsyntax="proto3";packageTelemetry;//InterfaceexportedbyAgentserviceOpenConfigTelemetry{//Requestaninlinesubscriptionfordataatthespecifiedpath.//Thedeviceshoulds

Git报错: error: RPC failed; curl 56 HTTP/2 stream 5 was reset; send-pack: unexpected disconnect

一、问题分析背景:在本地修改了大量的代码并commit后,最后一次性push时,出现错误。分析:从报错的信息来看,貌似是和远程Git连接出现了问题,因此,可以从以下三个角度来分析:本地和远程Git仓库连接有问题,由于刚提交成功过,可以排除掉;本地和远程Git仓库的数据传输速度慢,在commit中数据过大情况下,会导致连接超时,这是有可能的;本地的commit内容比较多,无法一次性将内容push上去,是有可能。通过去Git官网查询可知,以下参数可以解决数据传输大小和速度等问题:http.postBuffer:指定在Git发送HTTP请求时使用的缓冲区大小http.lowSpeedLimit:设置

java - Protocol Buffer Java RPC 栈

根据this维基百科词条:“ProtocolBuffers与Facebook的Thrift协议(protocol)非常相似,只是它不包含用于定义服务的具体RPC堆栈。自从ProtocolBuffers开源以来,出现了许多RPC堆栈来填补这一空白”但是没有引用RPC栈的例子。谁能建议基于Java的RPC堆栈实现? 最佳答案 如果你想要基于Java的RPC堆栈,它是RMI.但是,它不能很好地跨平台工作。我一直在使用ProtoBuf做RPC。您几乎可以通过将protobuf消息包装在另一个定义服务或调用的protobuf中来模拟RPC堆栈

java - Apache Tomcat 中的 JAX-RPC/JAX-WS 运行时

我正在使用ApacheTomcatv6服务器。在创建新的Web服务时,我获得了“ApacheAxis”、“ApacheAxis2”和“ApacheCXF2.x”的Web服务运行时选项。是否可以将运行时设置为“JAX-RPC”或“Jax-WS”?编辑:我正在使用EclipseIDE 最佳答案 JAX-RPC和JAX-WS是规范,Axis、Axis2和CXF是实现。对于JAX-RPC,您需要Axis(1)对于JAX-WS使用CXF(我相信Axis2也支持此规范,但我从未使用过它)如果您有选择,我强烈推荐后者(JAX-WS),因为它是更现

java - 双向 JSON-RPC over TCP 套接字 Java 实现

有谁知道是否存在具有双向支持的JSON-RPC协议(protocol)的某些Java实现(没有客户端/服务器,两个实体可以发送和接收相同的消息)。我知道它存在于Python中:bjsonrpc谢谢! 最佳答案 看起来它不存在,所以我创建了一个,基于JsonRpcBase:JJsonRpc它现在不能很好地处理套接字连接,但它对我来说工作得很好。希望对您有所帮助。 关于java-双向JSON-RPCoverTCP套接字Java实现,我们在StackOverflow上找到一个类似的问题:

java - gRPC 不为服务生成接口(interface),只生成服务类

我是gRPC的新手,遇到了这个问题:我创建了一个带有rpc服务定义的.proto。编译后我得到生成的源:所有消息都有一个实现接口(interface)的类。然而,服务本身并没有实现任何接口(interface)——它根本就没有生成。这就是我应该在我的服务器中实现的接口(interface)。我究竟做错了什么?我很确定gRPC文档没有提到这个问题。我的.proto服务:syntax="proto3";optionjava_multiple_files=true;optionjava_package="com.blah.my.rpc.api";optionjava_outer_classn

Java架构师之路三、网络通信:TCP/IP协议、HTTP协议、RESTful API、WebSocket、RPC等。

目录TCP/IP协议:HTTP协议:RESTfulAPI:WebSocket:RPC:UDP:HTTPS:上篇:Java架构师之路二、数据库:SQL语言、关系型数据库、非关系型数据库、数据一致性、事务管理等。-CSDN博客下篇:Java架构师之路四、分布式系统:分布式架构、分布式数据存储、分布式事务、分布式锁、分布式缓存、分布式消息中间件、分布式存储等。-CSDN博客TCP/IP协议:TCP/IP协议是互联网通信中最常用的协议组合,它由两个部分组成:传输控制协议(TCP)和Internet协议(IP)。下面对TCP/IP协议进行详细解释:IP协议(InternetProtocol):IP协议是

java - 直接从 Java 调用 GWT RPC 服务

是否有直接从Java代码调用GWTRPC服务端点的简单方法?我指的是真正的Java代码,而不是编译成javascript的Java代码。我问是因为我们想针对GWTRPC接口(interface)运行性能基准测试/压力测试。我想用Java编写测试工具并在JVM中运行它(而不是在浏览器中运行javascript)。我想一定有办法做到这一点,因为我假设GWT托管模式需要这样的功能。但是,我真的无法在GWT运行时中找到任何代码来演示如何干净地执行此操作。我查看了com.google.gwt.user.client.rpc包,但其中的内容似乎使用了JSNI,这显然不能被纯Java使用。