协议缓冲区 Java RPC 堆栈

2024-02-17

根据this http://en.wikipedia.org/wiki/Protocol_Buffers维基百科条目:

“Protocol Buffers 与 Facebook 的 Thrift 协议非常相似,只是它不包含用于定义服务的具体 RPC 堆栈。自从 Protocol Buffers 开源以来,出现了许多 RPC 堆栈来填补这一空白。”

但是,没有引用 RPC 堆栈的示例。谁能建议一个基于 Java 的 RPC 堆栈实现?


如果你想要基于 Java 的 RPC 堆栈,那就是RMI http://en.wikipedia.org/wiki/Java_remote_method_invocation。然而,它不能很好地跨平台工作。

我一直使用ProtoBuf来做RPC。您几乎可以通过将 protobuf 消息包装在另一个定义服务或调用的 protobuf 中来模拟 RPC 堆栈。有关详细信息,请查找我对此问题的回答,

Google 协议缓冲区和 HTTP https://stackoverflow.com/questions/1425912/google-protocol-buffers-and-http

如果您想支持更多平台,如 PHP、Ruby、C# 等,Thrift 看起来是一个非常好的选择。但是,与 ProtoBuf 相比,它对我来说看起来非常复杂。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

协议缓冲区 Java RPC 堆栈 的相关文章

  • 方法返回类型前的 是什么意思?

    下面的方法返回一个List组成T类型元素 public
  • 枚举的子类化

    有没有一种简单的方法来子类化Javaenum 我问这个问题是因为我有大约 10 个实现相同接口的对象 但它们对某些方法也有相同的实现 因此我想通过将所有相同的实现放置在扩展的中间对象中来重用代码Enum它也是我需要的所有其他类的超类 或许事
  • Jackson JSON + Java 泛型

    我正在尝试将以下 JSON 反序列化 映射到List
  • 连接外部 Accumulo 实例和 java

    我正在尝试使用 Accumulo 连接到虚拟机 问题是 我无法将其连接到 Java 中 我可以看到 Apache 抛出的网页 但我无法让它与代码一起工作 我认为这是缺乏知识的问题而不是真正的问题 但我找不到这方面的文档 所有示例都使用 lo
  • 如何以编程方式使用包含多列的 where-in 子句执行 PostgreSQL 查询?

    我的查询是这样的 select from plat customs complex where code t code s in 01013090 10 01029010 90 它在 psql 控制台中运行良好 我的问题是如何在客户端代码中
  • 为什么在 10 个 Java 线程中递增一个数字不会得到 10 的值?

    我不明白 a 的值为0 为什么 a 不是10 那段代码的运行过程是怎样的 是否需要从Java内存模型来分析 这是我的测试代码 package com study concurrent demo import lombok extern sl
  • 使用 Exec Maven 插件分叉 Java,而不使用“exec”目标

    来自文档 https www mojohaus org exec maven plugin exec exec在单独的进程中执行程序和Java程序 exec java在同一虚拟机中执行 Java 程序 我想 fork 一个 java 程序
  • 自定义列表字段点击事件

    我正在编写一个应用程序 其中我创建了用于显示列表视图的自定义列表字段 我的 CustomListField 包含连续的一个图像和文本 我正在通过单击列表字段行获取字段更改侦听器 但我也想将字段更改侦听器放在图像上 谁能告诉我我该怎么做 这是
  • 为什么用scala写的代码比用java写的慢6倍?

    我不确定我在编写 scala 代码时是否犯了一些错误 问题是 The four adjacent digits in the 1000 digit number that have the greatest product are 9 9
  • 使用 OkHttp 下载损坏的文件

    我编写的下载文件的方法总是会产生损坏的文件 public static String okDownloadToFileSync final String link final String fileName final boolean te
  • 将类转换为 JSONObject

    我有好几堂这样的课 我想将类转换为 JSONObject 格式 import java io Serializable import com google gson annotations SerializedName public cla
  • IntelliJ Idea:将简单的 Java servlet(无 JSP)部署到 Tomcat 7

    我尝试按照教程进行操作here http wiki jetbrains net intellij Creating a simple Web application and deploying it to Tomcat部署 servlet
  • Android - 存储对ApplicationContext的引用

    我有一个静态 Preferences 类 其中包含一些应用程序首选项和类似的内容 可以在那里存储对 ApplicationContext 的引用吗 我需要该引用 以便我可以在不继承 Activity 的类中获取缓存文件夹和类似内容 你使用的
  • Joshua Bloch 的构建器设计模式有何改进?

    早在 2007 年 我就读过一篇关于 Joshua Blochs 所采用的 构建器模式 的文章 以及如何修改它以改善构造函数和 setter 的过度使用 特别是当对象具有大量属性 其中大部分属性是可选的 时 本文对此设计模式进行了简要总结
  • 文本视图不显示全文

    我正在使用 TableLayout 和 TableRow 创建一个简单的布局 其中包含两个 TextView 这是代码的一部分
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • Android ScrollView,检查当前是否滚动

    有没有办法检查标准 ScrollView 当前是否正在滚动 方向是向上还是向下并不重要 我只需要检查它当前是否正在滚动 ScrollView当前形式不提供用于检测滚动事件的回调 有两种解决方法可用 1 Use a ListView并实施On
  • 什么是 Java2D 处理程序线程?

    我创建了一个使用 Hibernate 的示例 java 应用程序 当我进行线程转储时 我观察到一个名为 Java2D Disposer 的奇怪线程 有人能告诉我该线程的功能吗 AWT 系统中的某些实体需要最终确定以释放资源 最突出的例子是j
  • 关闭扫描仪是否会影响性能

    我正在解决一个竞争问题 在问题中 我正在使用扫描仪获取用户输入 这是 2 个代码段 一个关闭扫描器 一个不关闭扫描器 关闭扫描仪 import java util Scanner public class JImSelection publ
  • GAE 无法部署到 App Engine

    我正在尝试从 Eclipse 发布 Web 应用程序 我在 GAE 上创建了四个项目 可以通过登录我的帐户并查看控制台来查看它们 我已经改变了appengine web xml到项目的应用程序 ID 如果我将其更改为 GAE 上第一个创建的

随机推荐

  • 如何为我的石头剪刀布游戏编写一套更简洁的代码?

    下面是我在 Web 开发课程中必须进行的石头剪刀布游戏活动的 JS 文件 我能够让一切正常工作 但是我不喜欢 if else 语句使我的代码花费了多长时间 并且想知道如何使其更加简洁并以更少的代码行数实现 const imagePath i
  • 将 div 容器调整为视频大小(也可全屏)

    我正在尝试获取覆盖视频的文本 并根据其大小调整进行相应的操作 目前我的麻烦是使视频容器的大小与播放器相同 以及全屏模式 我的容器是相对定位的 我的视频和文本叠加 div 是绝对定位的 HTML div div
  • 使用 SoX 将 mp3 文件分割为 TIME 秒

    我需要将 mp3 文件分割成片TIME每秒 我试过了mp3splt 但如果输出是 它对我不起作用不到1分钟 是否可以这样做 sox file in mp3 file out mp3 trim START LENGTH 当我不知道mp3文件时
  • 使用 spring 集成 aws 轮询 S3 存储桶中的文件并进行处理

    我需要轮询 S3 存储桶中的文件 并在任何文件可用时立即拾取并处理它们 我需要使用 Spring Integration 和 spring integration aws 来完成此操作 所以到目前为止我的代码看起来像这样 public Am
  • 将不存在的元素添加到 DynamoDB 中的数组

    我正在尝试更新项目属性 即字符串列表 仅当属性不存在时我才可以更新 追加 该属性吗 类似于 list append 和 if not exists var 参数 UpdateExpression 设置朋友 list append if no
  • 增加 ggplot 标题中下划线的大小

    我正在尝试增加 ggplot 标题中下划线的大小 宽度 厚度 我尝试过使用尺寸 宽度和长度 但没有成功 这是我所做的一个例子 test lt tibble x 1 5 y 1 z x 2 y ggplot test aes x z geom
  • Spring 3.1.1 与 hibernate 4.1 注解配置

    我正在使用 spring3 1 1 和 hibernate 4 1 设置新项目 当我运行我的项目时 出现以下错误 java lang NoSuchMethodError org hibernate SessionFactory getCur
  • 获取Redis集群中所有key

    我使用的是Redis集群版本redis 5 0 5 我想查看 Redis 集群中存在的所有密钥 我知道我们使用独立的KEYS 获得所有钥匙 如何查看Redis集群中的所有键 redis cli h hostname p 90001 c ho
  • 如何托管我自己的私有 conda 存储库?

    我有几个相互依赖的 python 项目 我为每个项目都有不同的发行版本 不同的项目可能依赖于特定项目的不同发行版本 我想在内部服务器上创建自己的 conda 存储库 在其中我可以将这些项目的版本作为 conda 包推送 其他项目可以从那里安
  • window.location.href 与单击锚点

    点击有什么区别 a href href a vs calling window location href 只要有可能 您应该使用 a href foo html over window location href 有很多很好的理由 如果您
  • 有没有办法检查缓冲区是否采用 Brotli 压缩格式?

    我是一名实习生 正在研究在软件中使用 Brotli 压缩是否可以比当前版本 使用 GZip 带来性能提升 我的任务是使用 GZip 更改任何内容以使用 Brotli 压缩 我需要替换的一个函数会检查缓冲区是否包含使用 GZip 压缩的数据
  • 在 Python 中处理非常大的数字

    我一直在考虑用 Python 进行快速扑克牌评估 我突然想到 加快该过程的一种方法是将所有牌面和花色表示为素数 并将它们相乘以表示手牌 至惠特 class PokerCard faces 23456789TJQKA suits cdhs f
  • NodeJs如何在控制台中显示结构化表格

    不安装新包可以吗 Here i am using cli table package 有什么简单的方法可以做到吗 您可以使用控制台 表 https developer mozilla org en US docs Web API Conso
  • 如何在 create-react-app 中更新 Jest 测试框架?

    我已经创建了一个应用程序create react app https github com facebookincubator create react app包裹 我发现 Jest 版本 15 1 1 存在错误 但我意识到在版本 16 中
  • 函数模板的显式实例化失败 (g++)

    我在函数模板的显式实例化方面遇到一些问题 即链接错误 在Visual Studio下项目链接正常 仅在g Unix下 使用Eclipse CDT 链接产生错误 在一个大项目中 函数调用是静态库的一部分 它与动态库链接 函数架构如下 函数模板
  • 如何从 FilterAttribute 中获取当前 Url?

    我正在编写一个授权过滤器属性 但我无法弄清楚如何以字符串形式获取当前 url 以便我可以将其作为参数传递给 LogOn 操作 目标是 如果用户成功登录 他们将被重定向到他们最初尝试访问的页面 public override void OnA
  • 将 Python None 转换为 JavaScript null

    在 Django 视图中 我生成一个如下所示的数据集 data 22 23 18 19 21 None 22 20 我使用以下方法将此数据传递给 JavaScript 变量 data json simplejson dumps data 用
  • 从 S3 下载文件时 AWS Lambda 中出现“只读文件系统”错误

    当我将 file csv 放入 S3 存储桶时 我在 lambda 函数中看到以下错误 该文件并不大 我什至在打开文件进行读取之前添加了 60 秒的睡眠时间 但由于某种原因 该文件附加了额外的 6CEdFe7C 这是为什么 Errno 30
  • 使用电子邮件和密码验证用户身份

    我有一个只允许用户通过 username 登录的表单 我决定只允许用户通过电子邮件而不是用户名登录 首先 这不是与通过电子邮件登录相关的任何问题的重复 因为在我的场景中 我验证并验证了用户forms py在他继续在视图中进行最终登录之前 这
  • 协议缓冲区 Java RPC 堆栈

    根据this http en wikipedia org wiki Protocol Buffers维基百科条目 Protocol Buffers 与 Facebook 的 Thrift 协议非常相似 只是它不包含用于定义服务的具体 RPC