2 Replies Latest reply on Jan 30, 2006 9:52 AM by lapoutre

    Architecture Questions

    lapoutre

      Hello everybody,
      I'm looking for an evolutive architecture for my application.

      this is a web site that is gonna grow up rapidly.

      I'd like to know where and how I can store current user sessions.

      The application is not clusterised yet.
      but if it happend tomorrow, I don't want to redevlop my session gestion.

      my actual architecture is :

      struts for view and control
      EJB Command pattern
      Hibernate
      PostgreSQL



      is TomcatClusteringCache performant to store and replicate sessions ??
      Is that takes much resources ???

      Should I prefere to store sessions in a particular database??

      What king of load ballancer should I use???
      have I to use the JBoss AS as load ballancer exclusively ???
      Should I use an hardware load ballancer??

      is there any problems with SessionID duplicate??

      I know that on MS .NET the common architecture is to store session on a database to avoid load ballancing problems and cache replication.

      If you need precisions, please ask me

      thanks a lot.



        • 1. Re: Architecture Questions

           

          "lapoutre" wrote:

          is TomcatClusteringCache performant to store and replicate sessions ??
          Is that takes much resources ???

          Have a look at

          http://docs.jboss.org/jbossas/jboss4guide/r4/html/cluster.chapt.html#clustering-http-state

          From my experience session replication has indeed an impact on performance. If you use a sticky-session cluster (see below) you should evaluate if you really need session replication.

          "lapoutre" wrote:

          Should I prefere to store sessions in a particular database??

          I do not think so. All common DBs perform quite well.

          "lapoutre" wrote:

          What king of load ballancer should I use???
          have I to use the JBoss AS as load ballancer exclusively ???
          Should I use an hardware load ballancer??

          Depends on your needs. The common solution is to
          use mod_jk and apache, this is well documented in the wiki:

          http://wiki.jboss.org/wiki/Wiki.jsp?page=UsingMod_jk1.2WithJBoss

          I suggest to use the sticky-session model, it prevents you from some
          trouble (ie singletons that hold state and stuff) and also reduces the need
          for session replication (a session then is only lost if a cluster node
          goes down, and only the sessions attached to that node are lost), you
          have to evaluate if this justifies to replicate every session.

          A hardware loadbalancer is always a pretty neat option, we use both
          (hardware lb to some apaches, apaches to tomcat, all session-sticky)

          Regards,
          Martin

          • 2. Re: Architecture Questions
            lapoutre

            tks for your advice