問題タブ [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 - Boost Asio の背後に Apache Thrift を配置する方法は?
私が見る限り、Thrift のドキュメント/例/チュートリアルは非常に限られています。C++ での 1 つの例は、Thrift ハンドラーをソケットにアタッチする方法を示しています。Boost::Asio ベースの http サーバーにラップしたいと思います。
この件に関してすでに公開されている経験へのリンクを誰かが持っている場合は、教えてください。何も見つかりませんでした。
または、少なくとも、ヒントをください。
iphone - iPhone の Thrift フレームワーク
私は現在、目的の c で生成されたファイルを iPhone プロジェクトでコンパイルしようとして立ち往生しています。基本的に、次の4つのインポートにはそのようなディレクトリがないと私に言い続けます:
Thrift/TProtocol.h Thrift/TApplicationException.h Thrift/TProtocolUtil.h Thrift/TProcessor.h
Thrift wiki のすべての指示に従い、XCode で Thrift フレームワークをダウンロードしてコンパイルしましたが、iPhone 開発に固有の情報はありません。XCodeで新しいコマンドラインプロジェクトを作成すると、それらのファイルを問題なくインポートできるため、iPhoneプロジェクトに固有の問題であるとほぼ確信しています。
java - RPCフレームワークは利用できますか?
内部で使用するためにRPCフレームワークを使用したいと考えています。フレームワークはクロスランゲージでなければなりません。現在、ApacheThriftを調査しています。GoogleプロトコルバッファはRPC機能を正確に提供していません。私がスリフトから離れて得た選択肢は何ですか。(私のサーバーは主にJavaで、クライアントはJava、Python、PHPです)。
erlang - Thrift 関数定義での「oneway void」の使用
oneway
Thrift 関数定義の 1 つで修飾子を使用しています。
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_keyspace でロックアップall socket
: 無効なメソッド名をスローします: set_keyspace の 'set_keyspace'in: framed out: socket
: set_keyspace でロックアップin: socket out: framed
: set_keyspace でロックアップ
この単純なアプリケーションを動作させることができないため、Cassandra の Thrift レイヤーで行っていることと関係があると 99% 確信しています。しかし、私の 0.7 ブランチをブラウジングしたい場合は、ここで見つけることができます:
c# - Cassandraでbatch_mutateがサイレントに失敗する
thrift インターフェイスを使用して Cassandra 0.6.5 を使用しています。batch_mutate メソッド呼び出しを使用しようとしていますが、実行してもエラー メッセージが表示されません。これは、それが機能したと私に信じさせます。CLIで確認すると何もありません。私のコードや、誰もが見ることができる Mutation_map の形式に何か問題がありますか? 何か案は?
前もって感謝します、
LN
上記のコードは生成します (列は名前:値 @ タイムスタンプで、値は型: と実際の値の表現で構成されます):
cassandra - AssertionError:ThriftAPIバージョンの不一致。(クライアント:12、サーバー:13)
私はTwissandraをインストールしています-Cassandraの上にPythonの例です。 ここでの説明。Lubuntu 10.04へのすべての依存関係を正常にコンパイルおよび構築した後(Thrift 4.0を使用してから2.0で試してみました)、Webサーバーで最後の手順を実行すると、クラッシュして次のApacheThriftエラーが発生します。
AssertionError: Thrift API version mismatch. (Client: 12, Server: 13)
これは節約の問題(4.0)またはCassandraの問題(7.0ベータ)ですか?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 で生成されたコード thrift を要求しようとすると、次のエラーが表示されます: "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 にコピーして thrift.rb に追加require 'thrift/struct_union'
すると、thirft_native が見つからないことを除いて、Thrift gem に関連するエラーは発生しなくなります。純粋な Ruby ライブラリを使用します。これは、thrift_native が Java ではなく C 用に作成されているため説明できます。
c++ - Webアプリのバックエンド計算にC++を使用する
私は、データを処理し、Cassandraをデータストアとして使用するアプリケーションに対してPHPフロントエンドを実行しています。
ただし、PHPでは、一部の計算に必要なパフォーマンス(および、メモリ内に必要な膨大な量のデータの管理)が得られないことはわかっています。
裏付けのあるものをC++で記述し、PHPアプリケーションからアクセスしたいと思います。私は2つをインターフェースするための最良の方法を見つけようとしています。
私が見たいくつかのオプション:
- スリフト(私はすでにカサンドラに使用しているので自然な選択です)
- Googleのプロトコルバッファ
- gSOAP
- Apache Axis
上記は私が見たものだけであり、私は自分自身を制限するものではありません。
PHPアプリケーションに転送されるデータは非常に小さいため、ストリーミングは必要ありません。計算結果のみが転送されます。
皆さんはどう思いますか?