问题标签 [thrift]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1130 浏览

boost-asio - 如何让 Apache Thrift 落后于 Boost Asio?

据我所知,Thrift 文档/示例/教程非常有限。C++ 上的一个示例显示了如何将 Thrift 处理程序附加到套接字。我想将它包装到基于 Boost::Asio 的 http 服务器中。

请,如果有人有一些已经发表的关于这个问题的经验的链接,请告诉我,我什么也没找到。

或者,至少,请给我一个提示。

0 投票
2 回答
4201 浏览

iphone - iPhone 的 Thrift 框架

我目前正试图让我的目标 c 生成文件在我的 iPhone 项目中编译。基本上它一直告诉我以下四个导入没有这样的目录:

Thrift/TProtocol.h Thrift/TApplicationException.h Thrift/TProtocolUtil.h Thrift/TProcessor.h

我遵循 Thrift wiki 上的所有说明,并在 XCode 中下载并编译了 Thrift 框架,但没有特定于 iPhone 开发的信息。我几乎可以肯定这是 iPhone 项目特有的问题,因为如果我在 XCode 中创建一个新的命令行项目,我可以很好地导入这些文件。

0 投票
3 回答
5408 浏览

java - 可用的 RPC 框架?

我希望使用 RPC 框架供内部使用。该框架必须是跨语言的。我现在正在探索 Apache Thrift。Google 协议缓冲区不完全提供 RPC 功能。除了 Thrift,我还有哪些选择。(我的服务器主要是 Java,客户端是 Java、Python、PHP)。

0 投票
1 回答
1714 浏览

erlang - 在 Thrift 函数定义中使用“oneway void”

我在oneway我的 Thrift 函数定义之一中使用了修饰符:

当通过 Thrift 生成相应的 Erlang 代码时,它被翻译成:

请注意oneway_void那里的原子。

执行该secret_function函数时,我收到以下错误:

独立于用户代码中可能包含的错误,这里thrift_protocol:term_to_typeid/1使用oneway_void原子作为参数调用函数,这会导致函数子句。实际上,从代码中读取(thrift_protocol.erl):

一个错误?还有其他解释吗?为什么oneway_void要传递给那个函数?

0 投票
2 回答
954 浏览

.net - 在 .NET 中连接到 Cassandra 0.7

我在尝试将我现有的库从 Cassandra 0.6 升级到 0.7 beta1 时遇到了很多麻烦。我原本以为这是一个操作顺序问题,所以我决定将其分解为基础。

这是我将要起诉的基本设置

然后我尝试通过以下方式改变客户端的设置,切换输入和输出协议:

然后我执行以下程序,它使用来自下载的默认 Cassandra 配置,并且我正在执行一个简单的请求,例如计数,我希望它返回零,因为没有插入数据。

我上面提供的 4 种不同设置中的每一种都无法执行。其中一些只是锁定,而另一些则抛出异常。所以基本上我被困在试图获得与.NET 框架的新 Cassandra 0.7 的连接。

以下是我发现的每种问题的类型:

  • all framed: 锁定 set_keyspace
  • all socket:抛出无效的方法名称:set_keyspace 上的“set_keyspace”
  • in: framed out: socket: 锁定 set_keyspace
  • in: socket out: framed: 锁定 set_keyspace

我 99% 确信这与我在 Cassandra 的 Thrift 层所做的事情有关,因为我无法让这个简单的应用程序工作。但是如果你想浏览我的 0.7 分支,你可以在这里找到它:

http://github.com/managedfusion/fluentcassandra/tree/0.7

0 投票
1 回答
554 浏览

c# - batch_mutate 在 Cassandra 中静默失败

我正在使用节俭界面使用 Cassandra 0.6.5。我正在尝试使用 batch_mutate 方法调用,但是,当我执行它时,我没有收到错误消息。这让我相信它有效。当我使用 CLI 检查时,那里什么都没有。我的代码或任何人都可以看到的 mutation_map 格式有问题吗?有任何想法吗?

提前致谢,

LN

上面的代码产生(列是名称:值@时间戳,值由一个类型组成:和实际值的表示):

0 投票
2 回答
442 浏览

cassandra - AssertionError:Thrift API 版本不匹配。(客户端:12,服务器:13)

我正在安装 Twissandra - Cassandra 之上的一个 python 示例。 说明在这里。在成功编译和构建 Lubuntu 10.04 上的所有依赖项(使用 Thrift 4.0,然后尝试使用 2.0)之后——当我使用网络服务器运行最后一步时——它崩溃并发布了这个 Apache Thrift 错误:

AssertionError: Thrift API version mismatch. (Client: 12, Server: 13)

这是一个节俭问题(4.0)还是一个 Cassandra 问题(7.0 beta)?Cassandra 在其日志中报告

INFO 23:52:01,487 Cassandra version: 0.7.0-beta1-SNAPSHOT INFO 23:52:01,487 Thrift API version: 13.0.0

0 投票
0 回答
799 浏览

cassandra - 节俭犯错误

我无法正确编译 thrift,当我使用 make 时,输出如下:

有任何想法吗?谢谢 :)

0 投票
1 回答
1908 浏览

rubygems - Thrift gem 和 JRuby

我最近在 MRI 中使用 JRuby 和 Thrift gem 后才安装它。我遇到了一个问题,如果我需要'thrift',我会收到消息“无法加载 thrift_native 扩展。默认为纯 Ruby 库。” 如果我然后尝试要求在 ruby​​ 中生成的代码节俭,我会得到这个错误:“NameError: uninitialized constant Thrift::Struct_Union”

thrift gem 当前不能与 JRuby 一起使用吗?

除了使用 gem 之外,我还能做些什么来使用 JRuby 的节俭吗?

编辑:在我的mac上挖掘之后,我发现MRI gem和JRuby gem是不同的,即使它们是相同的版本(0.2.0.4)。现在这似乎是一个糟糕的主意,但是如果您将 .rb 文件从 MRI gem 复制到 JRuby gem 并添加require 'thrift/struct_union'到 thrift.rb 您将不再收到与 Thrift gem 相关的任何错误,除了找不到 thirft_native并将使用纯 Ruby 库。这可以解释,因为 thrift_native 是为 C 而不是 Java 制作的。

0 投票
3 回答
923 浏览

c++ - 在 Web 应用程序中使用 C++ 进行后端计算

我正在运行一个应用程序的 PHP 前端,该应用程序对数据进行了大量工作并使用 Cassandra 作为数据存储。

但是我知道 PHP 不会为我提供某些计算所需的性能(以及管理需要存储在内存中的大量数据)

我想用 C++ 编写支持的东西并从 PHP 应用程序访问它。我试图找出连接两者的最佳方式。

我看过的一些选项:

  1. Thrift(一个自然的选择,因为我已经将它用于 Cassandra)
  2. Google 的协议缓冲区
  3. gSOAP
  4. 阿帕奇轴

以上只是我看的东西,我不限制自己。

传输到 PHP 应用程序的数据非常小,因此不需要流式传输。仅传输计算结果。

你们有什么感想?