タグ

tomcatに関するjinjin252525のブックマーク (8)

  • DynamoDBでTomcatのセッション共有をするとハマるかも - 谷本 心 in せろ部屋

    AWS仕事で使い始めて1年半、 ようやく頭がクラウド脳に切り替わってきた [twitter:@cero_t] です。 好きなAWSサービスはKinesisです。まだ使ってませんけどね! さて、今日のテーマは「AWSでTomcatのセッション共有」です。 EC2上で動くTomcatのセッションオブジェクトを、DynamoDBを使って共有するというものです。 話題としてはそれなりに枯れていると思うのですが、 実案件で使おうと思ったら問題が出そうになって困ってる、という話です。 発生する問題は? どういう問題が起きるか、先に書いておきます。 発生する問題は、 複数のTomcatをELBで分散させている時に、 スケールインやスケールアウトが短時間に連続して発生すると、 セッションが巻き戻る(先祖返りする)可能性がある、というものです。 セッションが消えるならまだしも、 先祖返りするというのは、実

    DynamoDBでTomcatのセッション共有をするとハマるかも - 谷本 心 in せろ部屋
  • AWSでセッションをクラスタリングする方法について考えてみた結果、DynamoDBがよさそうなので試してみた。 - Qiita

    AWSでセッションをクラスタリングする方法について考えてみた結果、DynamoDBがよさそうなので試してみた。JavaTomcatDynamoDBSpringBoot はじめに EC2上のtomcatにデプロイされたウェブアプリケーションのセッション情報をどうやって永続化するかを考えてまずはそれをまとめてみました。 次に、DynamoDBAWSが提供しているTomcatSessionManagerを使ってSpringBootからDynamoDBにセッションを永続化する方法をご紹介します。 SpringBoot内ではEmbeddedTomcatを使っており初期化処理時にSessionManagerを差し替えれば実現できます。EmbeddedではないTomcat上のウェブアプリケーションであればcontext.xmlに設定を書けば実現することができます。後者についてはあっさり触れたいと思いま

    AWSでセッションをクラスタリングする方法について考えてみた結果、DynamoDBがよさそうなので試してみた。 - Qiita
  • Apache Tomcat® - Which Version Do I Want?

    Each version of Tomcat is supported for any stable Java release that meets the requirements of the final column in the table above. Tomcat should also work on any Java early access build that meets the requirements of the final column in the table above. For example, users were successfully running Tomcat 8 on Java 8 many months before the first stable Java 8 release. However, users of early acces

  • Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO

    Tomcatのセッション管理 Tomcatでクラスター構成にする場合、課題となるのがセッション管理です。ロードバランサーでセッションIDを保持することで、毎回同じサーバーにリクエストが向かうのであれば問題なさそうに見えますが、あるサーバーがダウンしてしまうとセッション情報が消えてしまいます。これを解決する方法として、データベースにセッション情報を保持する方法が一般的ですが、データベースへ負荷が掛かりますし、データベースが落ちたら困ります。何かもっと良い方法は無いかと皆さん思っていたはずです。そこで、AWSですよねー。AWSでは、ElastiCacheやDynamoDBがサービスとして提供されています。ここで、永続化をしっかりやってくれるのはDynamoDBであり、AWS SDK for Javaでの登場が待たれていたわけです。そして、このたび出てきました! スティッキーセッション ロードバ

    Amazon DynamoDBによるTomcatセッション永続化とフェイルオーバー | DevelopersIO
  • JVMのチューニング - ITエンジニアとして生きる

    前回、JVMとGCのしくみ - ITエンジニアとして生きるでJVMとGCのしくみについて書いた。 今回はその続きということでJVMのチューニングについて書きたいと思う。 JVMチューニングって -Xms ・・・ ヒープ全体(New領域+Old領域)の初期値 -Xmx ・・・ ヒープ全体(New領域+Old領域)の最大値 くらいしか話題に上がらないし意識しないことが多い(気がする)。 でもホントはこれだけではダメで、前回のようにPermanent領域、New領域、Old領域を意識したチューニングが必要になる。 VMチューニングを考えるその前に・・・チューニングの話をする前にまずVMの起動モードについて話したいと思う。 VMには大きく以下2つの起動モードがあり、それぞれ以下のような特徴を持つ。 ◆クライアントVMモード 起動時間を短縮し、メモリサイズを縮小するように調整されている。 VM起動時

    JVMのチューニング - ITエンジニアとして生きる
  • @IT:Javaパフォーマンスチューニング 第3回

    記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび記事の筆者が独自の判断のもとに加筆・修正したものです。 今回は、Javaにおけるヒープ・メモリ管理の詳細を説明します。JVMのヒープ・メモリの中で、新しいオブジェクトと古いオブジェクトがどのように配置されるかを理解することで、ヒープ・メモリが有効に利用されているか否かを判断することができます。また、JVMが出力するガベージ・コレクションのログを解析し、オプションの指定によってヒープ・メモリのサイズを適切にチューニングする方法を紹介します。 Java ヒープ・メモリの構造 Javaにおけるガベージ・コレクションのメカニズムを理解するには、まずヒープ・メモリの構造を知っておく必要があります。 図1は、JVM におけるヒープ・メモリの構造を示したものです。この図が示すように、ヒープ・メモリの

    @IT:Javaパフォーマンスチューニング 第3回
  • Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か

    GC周りでトラブルシューティングした際の経験や、Web等で調べたことをまとめてみる。 前提 ・JVMは、Sun Javaを想定。(他は使ったことないです。。。) ・Sun Java 1.5-1.6を想定。 目標 マイナーGC、Full GCそれぞれが頻発することなく、かつそれぞれの実行時間を1秒未満に抑えること。 マイナーGCは1秒未満どころではなく、もっと短くなるべき。どれくらいが理想かは?(0.1秒未満ぐらいを目指したい?) 連続した負荷状態(想定されるピークアクセス)でもOutOfMemoryErrorが発生しないこと。 理想的な状態は、上記に加えて、Full GCの発生が低頻度であること。 具体的には、できるだけマイナーGCで短命オブジェクト(1回使ったらもう使わないようなオブジェクト。逆にセッションオブジェクト等は長命オブジェクトとなる)を破棄させて、短命オブジェクトが、Tenu

    Javaメモリ、GCチューニングとそれにまつわるトラブル対応手順まとめ - 日記のような何か
  • AWS: JavaのDNSキャッシュ ( TTL )について - aws memo

    AWSのサービスではDNSを用いて可用性を向上する仕組みを用いている。 各種APIのエンドポイント RDSのエンドポイント ELBのエンドポイント ElastiCacheのエンドポイント CloudSearchのエンドポイント Redshiftのエンドポイント などなど。AWSが提供するエンドポイントのFQDNを、自分のアプリケーションから参照するように設定したり、一旦DNSでCNAME設定することも多い。 ただし、これらのエンドポイントFQDNで設定されているIPアドレスは、運用中に変更される可能性がある(ノード障害、フェイルオーバー等によるIPアドレス変更、スケーリングによるIPアドレス増減、等)。そのため、アプリケーション側はエンドポイントのIPアドレス変更に追随する必要がある。(追随しないと、古いIPアドレスにアクセス試行しつづけて、結果としてシステム障害になってしまう) ここで問

    AWS: JavaのDNSキャッシュ ( TTL )について - aws memo
  • 1