草庐IT

RPC和GRPC

全部标签

jquery - REST Web 服务与类似 RPC 的服务有何区别?

我有一个使用AJAX从服务器获取JSON数据的Web应用程序。它要求用户首先使用浏览器登录,以便设置cookie。仅使用GET和POST动词,其中GET用于检索数据,而POST用于任何操作修改数据。据我了解,REST与上述方法的不同之处在于,用户身份验证信息随每个请求以及PUT和DELETE一起发送>也使用动词。我的问题是,如果端点只是用户的浏览器,那么RESTWeb服务相对于类似RPC的方法有什么好处?我可以理解当客户端未知时REST有什么好处,但是当我只使用jQueryajax调用时,与类似RPC的方法相比,这些好处仍然值得吗? 最佳答案

json - 为什么选择 Thrift,为什么不使用 HTTP RPC(JSON+gzip)

Thrift的主要目标是实现跨编程语言的高效可靠通信。但我认为HTTP-RPC也可以做到这一点,Web开发人员几乎每个人都知道如何在http上工作,而且HTTP-RPC(json)比Thrift更容易实现,也许Thrift-RPC更快,那么谁能告诉我它们之间的性能差异? 最佳答案 速度以外的几个原因:Thrift完全生成客户端和服务器代码,包括您传递的数据结构,因此您无需处理任何事情,只需编写处理程序和调用客户端。包括参数和返回在内的所有内容都会自动验证和解析。这样您就可以免费获得对数据的完整性检查。Thrift比HTTP更紧凑,可

python - 目前在 Python 中进行 RPC 的选择是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭7年前。Improvethisquestion实际上,我已经对Pyro和RPyC做了一些工作,但是RPC的实现比这两个要多。我们可以列出它们吗?基于Python的原生协议(protocol):PyRo4(PythonRemoteObjects)RPyC(RemotePythonCall)Circuits具有大量底层协议(protocol)的RPC框架:Spyne(见lightningtalk)基于JSON-RPC的框架:python-

java - Java RMI 和 RPC 有什么区别?

JavaRMI和RPC之间的实际区别是什么?我在某些地方读到RMI使用对象? 最佳答案 RPC是基于C的,因此它具有结构化的编程语义,另一方面,RMI是一种基于Java的技术,它是面向对象的。使用RPC,您可以调用导出到服务器的远程函数,在RMI中,您可以引用远程对象并调用它们的方法,还可以传递和返回更多可以分布在许多JVM实例之间的远程对象引用,所以它是更强大。当需要开发比纯客户端-服务器架构更复杂的东西时,RMI会脱颖而出。在网络上分散对象非常容易,使所有客户端都可以进行通信,而无需显式建立单独的连接。

python - 通过 XML-RPC 使用 Python 访问 Ruby 对象?

我正在尝试通过XML-RPC导出Ruby框架。但是,当我尝试从未作为处理程序直接添加到XML-RPC服务器的类中调用方法时,我遇到了一些问题。请看下面我的例子:我有一个测试RubyXML-RPC服务器,如下所示:require"xmlrpc/server"classExampleBardefbar()return"helloworld!"endendclassExampleFoodeffoo()returnExampleBar.newenddeftest()return"test!"endends=XMLRPC::Server.new(9090)s.add_introspections

ruby - 使用 EventMachine 和 RabbitMQ 的 RPC

我开始尝试使用RabbitMQRPCsamplecode在AMQPgem文档中提供,尝试编写执行同步远程调用的非常简单的代码:require"amqp"moduleRPCclassBaseincludeEM::Deferrabledefrabbit(rabbit_callback)rabbit_loop=Proc.new{AMQP.connectdo|connection|AMQP::Channel.new(connection)do|channel|channel.queue("rpc.queue",:exclusive=>false,:durable=>true)do|reques

go - gRPC 私有(private) channel

是否可以只从gRPC服务器流式传输到某些客户端?我相信我正在寻找类似于Pusher的东西,您可以在其中为客户提供一个channel,并且您可以发布只有有权访问该channel的客户才能看到的消息。我正在努力理解我们需要采取哪些步骤来做这样的事情。考虑web-sockets我相信我们可以存储每个客户端连接,然后我们可以找到该连接并发送消息。我们如何使用gRPC做类似的事情? 最佳答案 据我了解这个问题。您希望将消息发送到gRPC中的特定客户端。这很可能在gRPC中使用Serversidestreaming或Bi-directional

go - gRPC 私有(private) channel

是否可以只从gRPC服务器流式传输到某些客户端?我相信我正在寻找类似于Pusher的东西,您可以在其中为客户提供一个channel,并且您可以发布只有有权访问该channel的客户才能看到的消息。我正在努力理解我们需要采取哪些步骤来做这样的事情。考虑web-sockets我相信我们可以存储每个客户端连接,然后我们可以找到该连接并发送消息。我们如何使用gRPC做类似的事情? 最佳答案 据我了解这个问题。您希望将消息发送到gRPC中的特定客户端。这很可能在gRPC中使用Serversidestreaming或Bi-directional

docker - 无法连接到在本地 Docker 容器中运行的 Go GRPC 服务器

我有一个gogrpc服务。我正在Mac上开发,山脉。在本地针对服务运行grpc客户端时,一切都很好,但是当针对docker容器中的同一服务运行相同的客户端时,我收到此错误:transport:http2Client.notifyErrorgotnotifiedthattheclienttransportwasbrokenEOF.FATA[0000]rpcerror:code=Internaldesc=transportisclosing这是我的docker文件:FROMgolang:1.7.5RUNmkdir-p/go/src/github.com/foo/barWORKDIR/go/

docker - 无法连接到在本地 Docker 容器中运行的 Go GRPC 服务器

我有一个gogrpc服务。我正在Mac上开发,山脉。在本地针对服务运行grpc客户端时,一切都很好,但是当针对docker容器中的同一服务运行相同的客户端时,我收到此错误:transport:http2Client.notifyErrorgotnotifiedthattheclienttransportwasbrokenEOF.FATA[0000]rpcerror:code=Internaldesc=transportisclosing这是我的docker文件:FROMgolang:1.7.5RUNmkdir-p/go/src/github.com/foo/barWORKDIR/go/