[Presentation] JJUG CCC 2015 Fall "Payara Micro をはじめよう" と補足

11 月 28 日に開催された JJUG CCC 2015 Fall で Payara Micro のお話をしてきました。まずは発表資料から。

今回、補足事項はあまりないのですが、API の PayaraMicro.bootStrap() の戻り値は 4.1.153 から PayaraMicroRuntime になりました。それ以前は void だったので API でも起動後の状態変更はできませんでした。

リハーサルの段階でセッションが 35 分で収まることが分かって、残りの時間は長めの質問タイムにするか、デモにするか、会場の皆さんの意見を聞いて決めることにしていました。まあ、会場の圧倒的多数がデモを選ぶだろうことは容易に予想が付いたのですが、まさか全員デモを選ぶとは...。会場の VGA が 1 系統と見越して)、iPad から Surface Pro 2 への切り替えでもたつく前提で 1 つだけデモを用意していました。ところが本編がまさかの30分以内で収まり、VGA の切り替えもすぐにできてしまったので時間が大幅に余り、予定になかった Hazelcast でのクラスタリングと自動バインド機能をご覧いただきました。即興でデモを追加するのは、非常に心臓に悪いです...。

最後に 5 分ほど質問タイムができたので、そのおさらいです。

  • Payara Micro は、埋め込み GlassFish をラップして、マイクロサービス向けに特化した実行環境です。基本的には開発環境ですべて設定を済ませ、変更が生じるときは新しいインスタンスを作成する運用になります。そうでない運用では通常の Payara Server を選択するのが良いです。補足ですが、Payara は大雑把に言うと有償サポート付きの GlassFish なので、バグの修正が早いことを除けば実運用で大きな違いは出ないと考えられます。
  • Payara Micro の JDBC データソース設定は、主にアプリケーション側で行うことになります。具体的には glassfish-web.xml と glassfish-resources.xml への記述となります。代替手段として、データソース設定済みの config.xml を用意できればオプションで差し替えて使用することも可能です(手間はかかります)。API 使用時は asadmin のサブコマンドを呼び出す方法も採れます。
  • 自動バインドは --port / --sslPort で指定したポートから順番にチェックして空いているポートで待ち受けをする仕組みなので、Payara Micro を次々と起動すれば順番にポートを埋めていきます。この機能は Hazelcast の待ち受けポート割り当てを模して作られたもので、「あったらいいな」的なものを実装しただけです。現在のロードバランサーは静的に設定されたポートでリクエストを振り分けるものが多く、今のところ自動バインド機能の実効性については未知数です。

今回の JJUG CCC は、あまりにも体調が悪くて発表がなければ休んでいたくらいなので、うらがみさんのセッションを聴いて、自分のをやって、資料の公開を確認してから撤収しました。そういう運命だったと思って、今回は諦めました。