問題タブ [thrift-protocol]
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.
javascript - Cassandra (JSON プロトコル) との Thrift JS の互換性
SVN の最新の Thrift ビルドから JavaScript をターゲットとする Cassandra の Thrift lib を生成しました。
ただし、提供された js thrift クライアント ライブラリに次のステートメントがあることに気付きました。
このクライアントは JSON プロトコルのみを話すことができ、サポートされているトランスポートは AJAX のみです。
JSON プロトコルが Cassandra と互換性があるかどうか知っている人はいますか?
これを node.js ソケットを使用するように移植する予定であるため、トランスポートは問題ではありませんが、JSON プロトコルで Cassandra に接続できるかどうかを知る必要があります。
Thrift と Cassandra のドキュメントはどちらも、この面では非常に軽いです。
protocol-buffers - Apache thrift、構造体がそれ自体を含む
データのシリアル化の倹約を検討しています。しかし、ドキュメントは言う
循環構造体 - 構造体には、その前に宣言された構造体のみを含めることができます。構造体もそれ自体を含むことはできません
私たちの要件の1つは
- 構造体A
- 子アイテム一覧
- アイテム (アイテムは構造体 A )
- 子アイテム一覧
だから、要件を読んで、どのレベルでも構造体をそれ自体に含めることはできませんか? 上記のように循環モデルで使用できますか。構造体は構造体の直接のメンバーではありませんが、他のメンバーがあり、構造体が含まれています。
彼らの文書はあまり説明的ではありません。
スリフトでそれは可能ですか?protobuf はそれをサポートしていますか?
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
その関数に渡されているのですか?
interop - Erlangユニバーサルバイナリフォーマット? 使ってる人いますか?
私は最近、この 2002 年のカンファレンスペーパー( Joe Armstrong によるErlang を外部の世界と対話するようにする) に出くわしました。
プラットフォーム間通信のために Apache Thrift に集中する必要がありますか? (私が選択した解決策には、少なくとも Erlang が含まれます)
serialization - 中古品記述ファイルフォームの既存のJavaクラス
リフレクションを使用して既存のJavaクラスのスリフト記述ファイルを生成する方法はありますか? Avro にはその機能がありますが、thrift を使用する必要があり、C++ と Java でシリアル化する必要がある Java の既存のビジネス クラスがたくさんあります。
java - 倹約中の地図のリストを返すことはできますか?
Javaからphpにハッシュマップの配列を返そうとしています。
私がphpで欲しいのはこれです:
Array :
[0] =>
['abc'] = "blah blah abc"
['def'] = "blah blah def"
['ghi'] = "blah blah ghi"
[1] =>
['abc'] = "blah blah pqr"
['def'] = "blah blah stu"
['ghi'] = "blah blah xyz"
それを行うための最良の方法は何Java <=> thrift <=> php
ですか?
thrift - THsHaServer と TNonblockingServer の違いは何ですか?
それらの2つの違いは何ですか?
そして、何が何であるかについての良いドキュメントはどこにありますか?
私は彼らのJavaDocを調べましたが、多くの質問を説明していません[私はあなたたちを悩ませます:)]
thrift - Thrift THttpTransport 仕様
Thrift の THTTPTransport を HTTP プロトコルにマップする方法を指定するドキュメントを探しています。
thrift - Apache Thrift の使用を開始するにはどうすればよいですか?
C++ 用の単純な Thrift サーバーを作成し、クライアントに Python 言語を提供したいと考えていました。公式サイトにアクセスしましたが、適切なチュートリアルやドキュメントがありません。私はそれを試すのに苦労しています。
まったく新しい人向けの良い Apache Thrift チュートリアルはありますか?
c++ - C++ のノンブロッキング Thrift サーバーと Python の Thrift クライアント
C++ で記述されたノンブロッキング マルチスレッドのリサイクル サーバーと、python で記述されたリサイクル クライアントがあります。以下のコード スニペットは、thrift プロトコルとバインディング構成が C++ サーバーと Python クライアントの両方でどのように行われるかを簡単に示しています。
私の問題は、Python クライアントが thrift を介して C++ サーバーを呼び出すと、C++ サーバー出力 (つまり、端末) に「 thrift non-blocking server overload condition 」というエラーが表示されることです。これは、3 番目と 4 番目に示されています。以下のスニペット。参考までに、GDB backtrace コマンドで取得したスタックも同封します。ここで何が欠けているのか誰か教えてもらえますか? このエラーの考えられる原因は何だと思いますか。Python側またはC++側のthrift構成に問題はありますか? 以下のスニペットを参照してください。私はたくさんのグーグルを作りましたが、これまで手がかりを見つけることができませんでした. ありがとう。
1) Python クライアント - Thrift 構成
2) C++ サーバー - Thrift 構成
3) C++ サーバーでのエラー出力
4) GDB バックトレーススタック