问题标签 [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.
boost-asio - 如何让 Apache Thrift 落后于 Boost Asio?
据我所知,Thrift 文档/示例/教程非常有限。C++ 上的一个示例显示了如何将 Thrift 处理程序附加到套接字。我想将它包装到基于 Boost::Asio 的 http 服务器中。
请,如果有人有一些已经发表的关于这个问题的经验的链接,请告诉我,我什么也没找到。
或者,至少,请给我一个提示。
iphone - iPhone 的 Thrift 框架
我目前正试图让我的目标 c 生成文件在我的 iPhone 项目中编译。基本上它一直告诉我以下四个导入没有这样的目录:
Thrift/TProtocol.h Thrift/TApplicationException.h Thrift/TProtocolUtil.h Thrift/TProcessor.h
我遵循 Thrift wiki 上的所有说明,并在 XCode 中下载并编译了 Thrift 框架,但没有特定于 iPhone 开发的信息。我几乎可以肯定这是 iPhone 项目特有的问题,因为如果我在 XCode 中创建一个新的命令行项目,我可以很好地导入这些文件。
java - 可用的 RPC 框架?
我希望使用 RPC 框架供内部使用。该框架必须是跨语言的。我现在正在探索 Apache Thrift。Google 协议缓冲区不完全提供 RPC 功能。除了 Thrift,我还有哪些选择。(我的服务器主要是 Java,客户端是 Java、Python、PHP)。
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
要传递给那个函数?
.net - 在 .NET 中连接到 Cassandra 0.7
我在尝试将我现有的库从 Cassandra 0.6 升级到 0.7 beta1 时遇到了很多麻烦。我原本以为这是一个操作顺序问题,所以我决定将其分解为基础。
这是我将要起诉的基本设置
然后我尝试通过以下方式改变客户端的设置,切换输入和输出协议:
然后我执行以下程序,它使用来自下载的默认 Cassandra 配置,并且我正在执行一个简单的请求,例如计数,我希望它返回零,因为没有插入数据。
我上面提供的 4 种不同设置中的每一种都无法执行。其中一些只是锁定,而另一些则抛出异常。所以基本上我被困在试图获得与.NET 框架的新 Cassandra 0.7 的连接。
以下是我发现的每种问题的类型:
all framed
: 锁定 set_keyspaceall socket
:抛出无效的方法名称:set_keyspace 上的“set_keyspace”in: framed out: socket
: 锁定 set_keyspacein: socket out: framed
: 锁定 set_keyspace
我 99% 确信这与我在 Cassandra 的 Thrift 层所做的事情有关,因为我无法让这个简单的应用程序工作。但是如果你想浏览我的 0.7 分支,你可以在这里找到它:
c# - batch_mutate 在 Cassandra 中静默失败
我正在使用节俭界面使用 Cassandra 0.6.5。我正在尝试使用 batch_mutate 方法调用,但是,当我执行它时,我没有收到错误消息。这让我相信它有效。当我使用 CLI 检查时,那里什么都没有。我的代码或任何人都可以看到的 mutation_map 格式有问题吗?有任何想法吗?
提前致谢,
LN
上面的代码产生(列是名称:值@时间戳,值由一个类型组成:和实际值的表示):
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
cassandra - 节俭犯错误
我无法正确编译 thrift,当我使用 make 时,输出如下:
有任何想法吗?谢谢 :)
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 制作的。
c++ - 在 Web 应用程序中使用 C++ 进行后端计算
我正在运行一个应用程序的 PHP 前端,该应用程序对数据进行了大量工作并使用 Cassandra 作为数据存储。
但是我知道 PHP 不会为我提供某些计算所需的性能(以及管理需要存储在内存中的大量数据)
我想用 C++ 编写支持的东西并从 PHP 应用程序访问它。我试图找出连接两者的最佳方式。
我看过的一些选项:
- Thrift(一个自然的选择,因为我已经将它用于 Cassandra)
- Google 的协议缓冲区
- gSOAP
- 阿帕奇轴
以上只是我看的东西,我不限制自己。
传输到 PHP 应用程序的数据非常小,因此不需要流式传输。仅传输计算结果。
你们有什么感想?