私たちは、これらのマイクロサービス(ほとんどがAkkaベース)を何十種も手に入れようとしています。その展開を最もうまく管理する方法がわかりません。具体的には、互いに独立して、できるだけ特殊化して配布するように構築されています。Scala/Akkaマイクロサービスを導入する標準的な方法は何ですか?
私の質問は、それらのすべてが自分の個々のJVMにとっては小さすぎるという事実に由来しています。冗長性を考慮すると、AWS nanoインスタンスでホストする場合でも、約40台のマシンで終了しますが、そのような高い数は必要ないだけです。 3つの中規模のインスタンスでは、作業負荷全体を簡単に処理できます(および実行することができます)。
現在のところ、それらを「コンテナ」アプリケーションにグループ化して、ややランダムに配置してから、大きなJVMでこれらのコンテナアプリケーションを実行します。
しかし、より良い方法が必要です。私はAkkaのアプリケーションサーバーを認識していないので、他のユーザーがAkkaマイクロサービスをどのように運用しているか(と具体的には展開の管理方法)についていくつかの洞察を得たいと思っていました。
これはおそらくScalaとAkkaに限定されないでしょうが、他のほとんどのプラットフォームには、これらをデプロイする専用のアプリケーションサーバーがあります。
Akkaクラスタリングとルーティング。ルータは設定に基づいていくつかのRouteesを配備することができ、クラスタはルータが稼働するためのノードの束を提供します。多くのオプションがここに記述されています:http://doc.akka.io/docs/akka/current/scala/cluster-usage.html –