用于 java/python 的 RPC,具有 REST 支持、HTML 监控和其他功能

发布于 2024-08-30 23:20:43 字数 600 浏览 14 评论 0原文

这是我的一组要求:我正在寻找一个 RPC 框架,例如 thrift、avro、protobuf(向其添加服务时),它支持:

  1. 简单直观的 IDL。没有序列号,没有手动版本控制,简单...... avro 就是一个很好的例子。
  2. 使用 Java 和 Python
  3. 支持快速二进制协议以及基于 HTTP 的 Restful 风格。我希望能够将它用于后端到后端通信(java-java 或 python-java)以及前端到后端通信(javascript 到 java)。
  4. 其余支持需要包括 &param=value 输入作为 get/post 请求(可根据请求配置)并以三种可能的格式输出:json、jsonp、XML。
  5. 紧凑、快速、向后兼容、易于升级等...
  6. 提供一些不错的监控接口,例如:JMX、网页状态报告(例如数据包输入、数据包输出、错误率等)
  7. 操作友好...无需采取整个网站发布新版本
  8. 同步和异步通信

...欢迎其他好东西...

有什么东西吗?
到目前为止,我已经研究了 thrift 和 avro,它们在某些方面都很好,但不要检查我的所有列表。

谢谢

Here's my set of requirements: I'm looking for an RPC framework such as thrift, avro, protobuf (when adding services to it) which supports:

  1. Easy and intuitive IDL. No serial numbers, no manual versioning, simple... avro is a good example for this.
  2. Works with Java and Python
  3. Supports both fast binary prorocol, as well as HTTP based restful style. I'd like to be able to use it for both backend-to-backend communication (java-java or python-java) as well as frontend-to-backend communication (javascript to java).
  4. The rest support needs to include ¶m=value input as get/post requests (configurable per request) and output in three possible formats: json, jsonp, XML.
  5. Compact, fast, backward compatible, easy to upgrade etc...
  6. Provides some nice monitoring interfaces such as: JMX, web page status reports (e.g. packets in, packets out, error rate etc)
  7. Ops friendly... no need to take the whole site down to release new versions
  8. Both sync and asyc communication

... other goodies are welcome...

Is there something out there?
So far I've looked at thrift and avro and they are both nice in some ways, but don't check all my list.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

半夏半凉 2024-09-06 23:20:43

这是一个相当艰巨的任务 - 一些要求可以通过以下方式满足:
Avro、Thrift、Protobuff 和来自 Zero C 的 ICE。ICE

可能是性能最好的。

That's a pretty tall order - some of the requirements are met by:
Avro, Thrift, Protobuff and ICE from Zero C.

ICE is probably the most performant.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文