当前的Web应用程序设置如下:有一个中央服务器,通过使用JSON作为响应对象的HTTP API调用与不同的服务进行交互。我们希望切换到使用gRPC来改善这些服务之间的通信性能。那么,有谁能帮忙告诉我如何在不改变现有MVC(模型、控制器、视图)代码结构的情况下,在我的Rails应用程序和服务中使用gRPC gem呢?
当前的Web应用程序设置如下:有一个中央服务器,通过使用JSON作为响应对象的HTTP API调用与不同的服务进行交互。我们希望切换到使用gRPC来改善这些服务之间的通信性能。那么,有谁能帮忙告诉我如何在不改变现有MVC(模型、控制器、视图)代码结构的情况下,在我的Rails应用程序和服务中使用gRPC gem呢?
gruf 可以帮助你:
gruf 是一个 Ruby 框架,它包装了 gRPC Ruby library,以提供更加流畅的集成到 Ruby 和 Ruby on Rails 应用程序中。
还有一个 demo Rails 应用程序 可以用作参考。
在创建 proto 文件、生成 Ruby 包装器 并将其连接到 Rails 应用程序之后,你只需执行 bundle exec gruf
即可启动 gRPC 服务器。
你不能只是安装一个 gem 就开始使用 gRPC。
你需要先在 .proto 文件中定义接口。
然后你可以生成 JSON API 来支持一些旧的/外部系统,参见 "JSON Mapping"
https://developers.google.com/protocol-buffers/docs/proto3#json
getBlogPost
,我希望gRPC映射到相同的操作和控制器,并按照协议缓冲区中定义的发送响应。我想知道如何实现这一点。 - Vinay Lodha