私はAkkaクラスタを構築しており、Akka-HTTPサーバーをAPIサーバーとして使用したいと考えています。誰がそれをどうやって行うのですか?Akkaクラスター内でAkka-HTTPサーバーを実行する方法は?
私はそれがクラスタへのアクセスポイントであるため、クラスタシングルトンになると思いますが、アクターにすることは奇妙に思えます。何もしないreceive()メソッドが必要です推測)。
私はAkkaクラスタを構築しており、Akka-HTTPサーバーをAPIサーバーとして使用したいと考えています。誰がそれをどうやって行うのですか?Akkaクラスター内でAkka-HTTPサーバーを実行する方法は?
私はそれがクラスタへのアクセスポイントであるため、クラスタシングルトンになると思いますが、アクターにすることは奇妙に思えます。何もしないreceive()メソッドが必要です推測)。
最も単純な例:
implicit val system = ... // your ActorSystem goes here
implicit val materializer = ActorMaterializer()
implicit val executionContext = system.dispatcher
val route =
path("hello") {
get {
complete(HttpEntity(ContentTypes.`text/plain(UTF-8)`, "Hello World !"))
}
}
val bindingFuture = Http().bindAndHandle(route, "localhost", 8080)
停止するには:
bindingFuture
.flatMap(_.unbind()) // trigger unbinding from the port
.onComplete(_ => system.terminate()) // and shutdown when done
私はあなたが私の質問を忘れたと思う。私はAkkaクラスターの一部としてシングルトン(これは類似している)として実行することを検討しています。 –
各ノードでhttpを開始し、actorSelectionを使用して、アクタ内にエンドポイントのロジックを作成します(以前に作成したactorRefをクラスタ内にローカルまたはリモートで作成し、次にクラスタの1つにアクセスします)。 clusterClient。 routerPoolsを使用している場合、** allow-local-routee **はクラスタ内のメッセージを配信するのに役立ちます – gaston
http://doc.akka.io/docs/akka/2.4/scala/cluster-singletonを見ましたか? .html? –
は、あなたがこの問題を解決することができましたか? – twoface88