プロダクションでLagomアプリケーションをセットアップしようとしています。私はLightbend for ConductRライセンスに連絡してみましたが、年齢を聞いたことはありません。だから、今私は別のアプローチを探しています。私は複数の質問があります。プロダクションでLagomを実行中
アプリケーションの規模が今はかなり小さいので、私は(他の選択肢にオープン)、静的なサービスロケータを使用すると、今の私の作品だと思います。また、私はCassandraのデフォルト設定(このスレッドには関係しない理由)の代わりにMySQLをイベントストアとして使用しています。カサンドラとLagomのサービスロケータを抑制する
、私は私のbuild.sbtに次の行を追加しました:
lagomCassandraEnabled in ThisBuild := false
私はサービス1-IMPLモジュールと私のapplication.confに次の作品をも追加しました。 DEV環境の場合
lagom.services {
service1 = "http://0.0.0.0:8080"
}
、私は正常にtmuxのセッションでsbt runAll
を使用して自分のアプリケーションを実行することができました。この設定では、デフォルトの8000ポートでサービスロケータは動作しませんが、8080ポートで個別にservice1を実行できます。
私はsbt dist
を実行してzipファイルを作成し、解凍してそこで実行ファイルを実行しました。興味深いことに、zipはservice1-implフォルダ内に作成されました。だから、複数のモジュール(サービス?)がある場合、sbt distはサービスごとに個別のzipファイルを作成しますか?
sbt dist
で作成した実行ファイルを実行すると、Cassandraに接続しようとし、サービスロケータも起動し、追加した静的サービスロケータの設定は無視されます。基本的には、build.sbtに追加した行を無視するように見えます。これを説明できる人は誰ですか?
最後に、サービス1とサービス2を実行しているノード1とサービス2とサービス2とノード2をクラスター内に持つとしたら、静的サービスロケーターはapplication.confのように見えますそれぞれのサービスには独自のapplication.confがあるので、同じ設定をコピーする必要がありますwrtすべてのapplication.confs内の静的サービスロケータ?
このようなものでしょうか?
lagom.services {
service1 = "http://0.0.0.0:8080"
service1 = "http://1.2.3.4:8080"
service2 = "http://1.2.3.4:8081"
}
各特定のアクタはノードの1つに生成されるため、このサービスロケータの設定はどのように機能しますか?
また、私は生産のtmuxのセッションでこれを実行する必要はありません。最終的にこのコードを本番環境で実行する最善の方法は何でしょうか?
エドワード - 私は、ウェブサイト上で自由層の言及を見ていません。あなたはもっと具体的になりますか? –
@TimPigdenあなたは正しいですか?まだ利用できません。これに必要なライセンスモジュールは現在開発中です。今年の春には、最大3人のエージェントにスタックをフルに使用できる無償の層を発表する予定です。 –
ほとんど準備ができています! http://conductr.lightbend.com/docs/2.1.x/ReleaseNotes#Free_Licensing –