問題タブ [finagle]
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.
scala - scroogeとPythonまたはRubyのクライアントを使用してscalaでthriftサーバーを作成する
Scalaで(Scroogeを使用して)thriftサービスの実装を作成したいのですが、Finagleサーバー用のruby / pythonクライアントを作成できなかったため、Finagleを使用しませんでした。問題は、scroogeでは、サービスが「Processor」クラスを実装していないように見えることです。
私がこのような倹約の定義を持っていると仮定します:
そして、scroogeを使用してscalaファイルを生成しました。これは、サーバーを実行するためにscalaのthriftの標準実装を使用しようとしたときです。
生成されたTestServiceオブジェクトには、Processor内部クラスがないようです。Finagleなしでそれを行う方法はありますか?または別の解決策として、PythonまたはRubyクライアントをFinagle Thriftサーバーに書き込む方法は?
scala - Finagleのサービス、フィルター、およびコーデック間の境界
Finagle内で使用されるNettyは、「ハンドラー」のパイプラインを使用して、バインドされたデータを順次処理します。Nettyの例と含まれているライブラリは、認証、プロトコルコーデック、サービスの実際のビジネスロジックなどに使用されるさまざまなハンドラーを示しています。
Finagleはハンドラーの概念を採用しているようで、代わりにAPIユーザーにコーデック、フィルター、およびサービスを直接提供しています。これらにはさまざまな署名がありますが、Finagleの新規ユーザーには、サーバー全体の各部分を実装するためにどちらを使用するかを決定するタスクが残されています。チェーンをさまざまなNettyハンドラーに分割する場所を単に決定するのではなく、チェーンの最後にある単一のサービスに対して、フィルターに対して、コーデックの一部にする部分を決定する必要があります。要約すると、FinagleはNettyよりも高レベルのライブラリであり、サービスの構築タスクを容易にするはずですが、APIユーザーはより多くの選択肢を選択できる可能性があります。
処理ストリームの特定の部分をコーデック、フィルター、単一サービスに配置するための重要な決定ポイントと長所/短所は何ですか?パイプラインをさらに拡張できる可能性がある場合は、代わりにサービスロジックをフィルターに配置し、パイプラインの最後に「noop」サービスを配置する必要がありますか?(パイプラインのハンドラーとしての)フィルターの順序付けの柔軟性を考えると、一方の端に単一のコーデックがあり、もう一方の端にサービスがあるのに対して、なぜ「すべて」をフィルターにすべきではないのでしょうか。
scala - finagle 5.0 は、sbt.build (sbt11) に追加できる Maven リポジトリで公開されていますか?
Scala プロジェクトで finagle を使用しようとしていますが、jar がある Maven リポジトリがあるかどうか疑問に思っています。私はそれを依存関係として追加し、すべてのものをローカルでコンパイルしたくありません。
memcached - Finagle Memcached set メソッドの flags arg とは
com.twitter.finagle.memcached.Client
set メソッドを次のように定義しました
フラグはどうあるべきですか?これに関するドキュメントはありますか?
serialization - Finaglememcachedクライアントを使用してオブジェクトをmemcachedに保存します
com / twitter / finagle /memcached/クライアントはBaseClient[ChannelBuffer]を拡張します
したがって、セットは次のように定義されます。
set(key:String、flags:Int、expiry:Time、value:ChannelBuffer):Future [Unit]
私の質問は、Javaオブジェクトをnetty ChannelBufferに変換する方法、またはString以外のオブジェクトを設定する他の方法があるかどうかです。
ありがとう
memcached - Finagleを使用したMemcachedクラスター
memcachedサーバーのクラスターを構築し、finagleでアクセスするにはどうすればよいですか。ctZooKeeperを備えたServerSetを使用してクラスターを構築できるようです。しかし、いくつか質問があります。
1クラスター内のmemcachedサーバーにキーを配布するためのアルゴリズムは何ですか。それを変更できますか?2 finagleはmemcachedサーバーの障害をどのように検出し、フェイルオーバーはどのように行われますか。すべてがクライアント側から行われているように見えます。サーバー側で何もする必要はありません。
ありがとう
finagle - finagleケストレルクラスターはどのように機能しますか
これは、finagleServerSetとZookeeperを使用してクラスターを作成できることを示しています。
- finagleサーバービルダーを使用してケストレルクラスターを起動する必要がありますか?または、クラスターはfinagleクライアントのみで構築できます。
- キューをクラスターに分散するためのアルゴリズムは何ですか?
java - Finagle Futureオブジェクト、それらは再利用可能ですか?
私はFinagleの初心者です。私は今誰かのコードを読んでいて、Futureオブジェクトがさまざまな結合操作で再利用されていることを発見しました。私の質問は、Futureオブジェクトが(各結合で)複数回実行されるのでしょうか、それとも1回だけ実行され、後の結合のために結果を保存するのでしょうか?
例:
では、bは2回実行されますか、それとも1回だけ実行されますか?
scala - finagle による永続認証
私はターンバイターン戦略ゲームを開発しており、マルチプレイヤーの部分をやろうとしています. 私は似たようなことをしたことはありませんが、rpc を使用するようにとの強いアドバイスを受けました。私のマルチプレイヤー ゲームはメイン サーバーでホストされ、基本的にプレイヤーは自分の行動を送信し、ゲームの新しい状態を受信します。私の理解が正しければ、rpc アーキテクチャでは、サーバーは受信した要求にのみ応答できます。
したがって、プレーヤーは最初にサーバーにログインし、資格情報を送信し、rpc で何をするかを送信し、x ミリ秒ごとに現在のゲームを更新しようとします (要求「更新」を送信することにより)。私が理解していないのは、これで認証の記憶をどのように持つことができるかということです. リクエストごとに毎回再ログインする(そして資格情報を送信する)必要がありますか(送信する情報が非常に多いようです)。現在認証を許可している誰かからの要求をどのように認識すればよいですか? コヒーレントだが分離されたリクエスト間のロジックを処理するにはどうすればよいですか?
java - Java 用 finagle リサイクル ジェネレーター
finagle 互換の倹約を生成する 2 つのツールを見てきました。
thrift-0.5.0-finagleは古すぎますか? 最新はthrift 0.9です。まだ使えますか?
それともスクルージを使うべきですか?Scala で Java バインディングを生成します。