Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tomcatコミッタがお送りするちょっとマニアックなTomcatのコンフィグレーション10選

kfujino
May 27, 2021

 Tomcatコミッタがお送りするちょっとマニアックなTomcatのコンフィグレーション10選

kfujino

May 27, 2021
Tweet

Other Decks in Technology

Transcript

  1. 誰? • 藤野圭一 • 2019/10 Future入社 ◦ 独立系SI企業から転職。2社目 • 趣味

    ◦ 生き物飼育(クワガタ、カブトムシ、アクアリウム) ◦ OSS活動 Confidential Copyright ©︎ 2021 by Future Corporation
  2. OSS活動 • ロール ◦ Tomcat コミッタ ◦ Tomcat PMCメンバ ◦

    Incubator コミッタ ◦ Incubator PMCメンバ ◦ ASF メンバ • その他 ◦ 本も出しています ◦ 国内外カンファレンス多数登壇 Confidential Copyright ©︎ 2021 by Future Corporation
  3. StuckThreadDetectionValve • スタックしていたスレッドが戻ってきた際もログに Confidential Copyright ©︎ 2021 by Future Corporation

    • 但しスレッドダンプのようなロック情報等は見れないの で、ロック状態の解析を行う場合は、スレッドダンプが必 要 処理時間も
  4. 静的クラスタメンバーシップ • Staticメンバシップ Confidential Copyright ©︎ 2021 by Future Corporation

    Tomcat1 Static(Unicast Addr)Group メンバ定義 • Tomcat1 • Tomcat2 • Tomcat3 Tomcat2 メンバ定義 • Tomcat1 • Tomcat2 • Tomcat3 Tomcat3 メンバ定義 • Tomcat1 • Tomcat2 • Tomcat3
  5. Cloudクラスタメンバーシップ • Cloudメンバシップ ◦ kubernetes用のクラスタメンバシップ ◦ DNSPingとKubePingの2実装(※後者を説明) ◦ 別途kubernetesの環境が必要 ◦

    PodにCloudメンバシップを設定したTomcatインスタンスをデプロイ ◦ KubePingを利用してダイナミックにクラスタメンバシップを構築す る Confidential Copyright ©︎ 2021 by Future Corporation
  6. Cloudクラスタメンバーシップ • Cloudメンバシップ Confidential Copyright ©︎ 2021 by Future Corporation

    Tomcat1 Kubernetes(Openshift) クラスタ Pod Tomcat1 Pod Tomcat1 Pod Master KubePing KubePing Pod情報 Pod情報
  7. 組込みTomcatのコンフィグソース • SpringBoot等に組込まれているTomcat • SpringBoot専用機ではないので、だれでもnew Tomcat()で Tomcatインスタンスを作成できる。起動もできる。 • とはいっても、new Tomcat()した後、どうやってTomcatを

    コンフィグするのかわからない • 簡単なWebサーバならさっくっと出来るが、少し凝った設 定をしているserver.xmlで構成されたTomcatを組込みで再 現するのはなかなか大変 • そんな時のコンフィグを二つ紹介 Confidential Copyright ©︎ 2021 by Future Corporation
  8. 多言語化対応 • Tomcat translations projectにジョインして言語を選択する ことで手軽に翻訳が可能 • ソースをハッキングしなくてもコミュニティ貢献が気軽に 出来ます •

    なのでTomcatのログの日本語がおかしかったらPOEditor経 由で直して頂ければ、リリース時に反映されます • 8割くらい私が勢いでやっているのでいろいろ問題あると思 いますので気軽に修正してください Confidential Copyright ©︎ 2021 by Future Corporation
  9. Tomcat10以降のバージョン体系 • はじめに。知っておくこと1 ◦ TomcatはJavaEEのサブセットをsupport ▪ Tomcat7.0.x : support Java

    EE 6 ▪ Tomcat8.5.x : support Java EE 7 ▪ Tomcat9.0.x : support Java EE 8 Confidential Copyright ©︎ 2021 by Future Corporation
  10. Tomcat10以降のバージョン体系 • はじめに。知っておくこと2 ◦ JavaEEがEclipse Foundationに ▪ JavaEE8 → JakartaEE8

    ◦ JakartaEE8は名前が変わって、機能に影響の無いちょ っとした修正のみ ◦ 要は完全互換 Confidential Copyright ©︎ 2021 by Future Corporation
  11. Tomcat10以降のバージョン体系 • JakartaEE8→JakartaEE9へのバージョンアップ ◦ 仕様の追加云々はないが、めんどくさい ◦ javax.* -> jakarta.* のネームスペースの変更

    ◦ 簡単にいうと、JavaEE8(JakartaEE8)のアプリケーションは JakartaEE9と互換性はない ◦ つまり動かない。Java的に言うとClassNotFoundException Confidential Copyright ©︎ 2021 by Future Corporation
  12. Tomcat10以降のバージョン体系 • Tomcat10を含めたサポート状況 ◦ Tomcat7.0.x : support Java EE 6

    ◦ Tomcat8.5.x : support Java EE 7 ◦ Tomcat9.0.x : support Java EE 8(JakartaEE8) ◦ Tomcat10.0.x : support JakartaEE9 • これが今現在の状態。まぁまだ分かる Confidential Copyright ©︎ 2021 by Future Corporation
  13. Tomcat10以降のバージョン体系 • では、JakartaEE10がリリースされるとどうなるか? ◦ Tomcat8.5.x : support Java EE 7

    ◦ Tomcat9.0.x : support Java EE 8 ◦ Tomcat9.10.x : support Java EE 8 with Tomcat10 API ◦ Tomcat10.0.x : EOL ◦ Tomcat10.1.x : support JakartaEE10 Confidential Copyright ©︎ 2021 by Future Corporation
  14. Tomcat10以降のバージョン体系 • では、JakartaEE11がリリースされるとどうなるか? ◦ Tomcat8.5.x : support Java EE 7

    →多分EOL ◦ Tomcat9.0.x : support Java EE 8 ◦ Tomcat9.10.x : EOL ◦ Tomcat9.11.x : support Java EE 8 with Tomcat11 API ◦ Tomcat10.1.x : support JakartaEE10 ◦ Tomcat11.0.x : support JakartaEE11 Confidential Copyright ©︎ 2021 by Future Corporation