問題タブ [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 投票する
2 に答える
670 参照

dll - Windows Phone 7 アプリケーションで使用するための thrift dll のビルド

単純明快な質問: Windows Phone 7 アプリケーションで使用するthrift dll をビルドするにはどうすればよいですか?

0 投票する
1 に答える
1479 参照

cassandra - cassandra-cli を介して行を削除した後、thrift-client を介した Cassandra への挿入が機能しない

私は、Cassandra のthrift インターフェースに関する私自身の理解を検証するために簡単なテストを書きました。データベースに行を挿入し (cassandra のインストールで事前構成されたキースペースと列ファミリを使用)、データベースからそれを読み取り、結果を比較します。

このテストは正常に実行されます。もちろん、データベースには行が残ります。上記の client.remove ステートメントのコメントを外すことで、テストの最後に行を削除できます (これも正常に機能します)。しかし、代わりに試したのは、コマンドライン インターフェイスを介して行を削除することでした。

その後、テストは失敗します。行をデータベースに挿入しても効果がないように見えるため、行 assertEquals(1, result.size()) は失敗します。

(クライアントでもサーバーでも) エラー メッセージが表示されず、問題の原因がわかりません。

0 投票する
1 に答える
76 参照

frameworks - Windows Phone 7 向けのサービス開発フレームワーク ソリューション

Thrift を WP7 で動作させようとしてきましたが、暫定的に保留にしました。
私は現在、これに対する他の解決策を探しています。もしあれば、どの解決策を選択すべきかについてフィードバックを得たいと思います。

どんな提案でも大歓迎ですので、躊躇しないでください:)

0 投票する
3 に答える
1845 参照

cassandra - スリフトのインストールエラー

私は cassandra で thrift をインストールするのに 2 時間以上試みていますが、設定さえされていません。--with-php-config=PATH を使用してください configure: error: lib/php/src/ext/thrift_protocol の ./configure が失敗しました

私はこれを修正できません。誰でも私を助けることができます。

0 投票する
1 に答える
124 参照

apache - 高度にスケーラブルでモジュール式の分散サーバー側アーキテクチャに関する反論

私の質問は実際には問題ではなく、意見を求めるものです。おそらく、これは投稿するのに適切な場所ではありません。それにもかかわらず、ここのコミュニティは非常に情報が豊富であり、試してみても害はありません...

私は、高度にスケーラブルで、とりわけ高度にモジュール化されたバックエンドアーキテクチャを作成する方法を考えていました。たとえば、大規模なサイトへの将来性のある進化の可能性を秘めた大規模なサイトのバックエンドエコシステム全体。

これには、関心の分離が非常に高度になり、(たとえば)基盤となるDBを置き換えることができるだけでなく(つまり、OracleからMySQLに)、実際のタイプのデータベースを置き換えることができます(SQLからKV、または逆に)。

各サブシステムがバックエンドエコシステム内で独自のAPIを公開する状況を想定しています。このようにして、APIは一定のままでありながら、実装は時間の経過とともに(根本的にさえ)変更される可能性があります。

システムは、特定の言語に関連付けられていないという点で異種である必要があります。異なる言語を使用するモジュールまたはサブシステム全体に対応できる必要があります。

それから、私が想像していたのは、単にWeb自体のアーキテクチャーであることに気づきました。

だからここに私の議論のポイントがあります:(主に)テキストベースのプロトコルを使用するオーバーヘッドとは別に、複雑なバックエンドアーキテクチャを私が説明する方法で実装すべきではないという最優先の理由がありますか、または私がいくつかの強力な論理的根拠がありますTwisted、AMQP、Thriftなどの通信プロトコルを使用するためにmがありませんか?

更新:@meagarからのコメントに続いて、おそらく質問を再定式化する必要があります:明らかなパフォーマンスヒットを補うのに十分な、非常にシンプルで柔軟性があり、よく理解されているアーキテクチャ(つまり、一連のRESTful APIとして公開されているすべての機能)を使用することの明らかな利点ですこのアーキテクチャをバックエンドコンテキストで使用するときに発生しますか?

0 投票する
2 に答える
20812 参照

maven - maven は、コンパイル フェーズの生成されたソースにファイルを追加できません

Apache Thriftを使用してコードを生成しますtarget/generated-sources

Thrift コンパイラは、gen-javaすべての Java コードを含む という名前のディレクトリを生成します。を実行するmvn compileと、コードは正しく生成されますtarget/generated-source/gen-javaが、コンパイル段階で、で定義されたクラスが見つからないというエラーが表示されgen-javaます。

私の理解では、Maven 2 は生成されたソースを自動的に追加しますが、そうですか?

また、テスト コードも に依存している場合はgenerated-sources、コンパイラ インクルードを手動で指定する必要がありますか?

0 投票する
1 に答える
936 参照

python - python/thrift で SuperColumn を挿入するにはどうすればよいですか?

python/thrift インターフェイスを使用して、 WTFのコメントの例がスーパーカラムであるように、スーパーカラムを挿入しようとしています。

SuperColumn を作成するところまで行ったところ、batch_mutate を使用して挿入する必要があることがわかりました。しかし、Mutation を作成し、キーと SuperColumn タイプを設定する方法がわかりません

0 投票する
1 に答える
3345 参照

java - ThriftAPIの実装中にエラーが発生しました

私はJavaでThriftRemoteProcedure呼び出しフレームワークを実装しています。節約を設定してスケルトンコードを問題なく生成しましたが、実際にAPIメソッドを使用しているため、奇妙なエラーが発生します。

私が得るエラーは次のとおりです。

私は間違いを犯していないと思いますが、念のため、エラーの原因となっているコードは次のとおりです。

エラーは呼び出しから生成されたと言われていますclient.registerClient()が、それはThriftによって生成されたコードへの呼び出しであり、接続自体の設定で何か間違ったことをしているように感じます。

TProtocol私が自分自身を含めたインスタンスの作成に関する部分であり、それが問題の原因である可能性があります。

私は誰かが私がしている何が悪いのかについてもっと多くの考えを持ってくれることを望んでいました。

さらに詳しい情報や説明が必要な場合はお知らせください。

編集:CassandraWikiTProtocolからインスタンス化ステートメントを見つけました

0 投票する
4 に答える
41864 参照

serialization - プロトコル バッファ内のディクショナリ

プロトコル バッファを使用してディクショナリをシリアル化する方法はありますか?

0 投票する
3 に答える
9284 参照

java - スレッドセーフはどの程度節約できますか?re:お互いを混乱させるリクエストがあるようです

編集

どうやら私がやりたかったのは倹約の範囲外です...ポートに複数のクライアントが存在しないことを確認すれば、すべて問題ありません。もちろん、応答時間を改善し、オーバーヘッドを減らすために、サーバーに対していくつかの再利用可能な接続を開いてもらいたいので、この種の目的は無効になります。

誰かがこれを達成するための別の方法の提案を持っているなら、それはありがたいです(または私の結論が間違っている場合)

バックグラウンド

私は、ほとんどがthrift(主にjava-> php接続)によって接続されているマルチコンポーネントアプリケーションを持っています。

これまでのところ、すべて問題ないように見えますが、クライアント側が1秒間に数百の要求を起動できるサーブレットであるJava->Java接続を導入しました。

アクセスされているメソッドには、次のインターフェースがあります。

サービス側で奇妙なことではないことを確認するために、実装を簡単なものに置き換えました。

エラー/考えられる原因は?

接続が少ない限り問題なく動作しますが、接続が近づくとすぐに、接続がリーダーでスタックし始めます。

それらの1つをデバッガーでプルアップすると、スタックは次のようになります。

これは、次の例外が発生したため、データが破損したことが原因のようです。

おそらく私はマークから外れていますが、これらは、何も送信されていないときにクライアントが読み続けようとしていることに関連していると確信しています。

いくつかの実装の詳細

サーバーとクライアントの両方がJavaバイナリプロトコルを使用しています。

クライアントを再利用できる単純なクライアントプールクラスを作成しました。これらが主な機能です。

クライアントアプリケーション(つまり、Tomcatサーブレット)は、次の方法でアクセスします。

実際の倹約接続は次のようにアップされます

ついに

しばらくこれにこだわっています...それは私が明白な何かを逃しているかもしれません。私はこれでどんな助けにも本当に感謝します。

追加情報が必要な場合は、お知らせください。そこには一口がたくさんあるので、私はものを最も(うまくいけば)関連性のあるものに保つようにしたかったのです。