[wildfly-dev] 2 instance cluster in master/slave

David Aroca daviaro at gmail.com
Sat May 31 10:47:58 EDT 2014


Thnks Arun!


2014-05-31 3:29 GMT-05:00 Kabir Khan <kabir.khan at jboss.com>:

> Nice!
> On 31 May 2014, at 05:10, Arun Gupta <arun.gupta at gmail.com> wrote:
>
> > And finally, the three-part article showing how to setup WildFly
> > cluster on Raspberry Pi is now available at:
> >
> > http://blog.arungupta.me/2014/05/wildfly-cluster-raspberrypi-techtip28/
> >
> > Feedback always welcome!
> >
> > Weekend can now start :)
> >
> > Cheers
> > Arun
> >
> >
> > On Fri, May 30, 2014 at 5:58 PM, Jason T. Greene <jgreene at redhat.com>
> wrote:
> >>
> >>
> >> Sent from my iPhone
> >>
> >>> On May 30, 2014, at 6:44 PM, Arun Gupta <arun.gupta at gmail.com> wrote:
> >>>
> >>> One (hopefully) last bit...
> >>>
> >>> How/where do I set the sticky session ?
> >>
> >> If you are using mod_proxy there is a memory based sticky session
> parameter you have to set to JSESSIONID, see the apache page.
> >>
> >>
> >>>
> >>> Arun
> >>>
> >>>> On Fri, May 30, 2014 at 11:27 AM, Jason Greene <
> jason.greene at redhat.com> wrote:
> >>>>
> >>>> On May 30, 2014, at 12:54 PM, Arun Gupta <arun.gupta at gmail.com>
> wrote:
> >>>>
> >>>>>>
> >>>>>> A couple other options that would be fun to play with:
> >>>>>>
> >>>>>> 1. Using Undertow’s reverse proxy like this (assuming you named the
> nodes pi1, pi2, and thus they have a pi1, pi2 jvmroute, which defaults to
> the host name if you didn’t set it):
> >>>>>>
> >>>>>> <reverse-proxy name="reverse-proxy" connections-per-thread=“20">
> >>>>>>    <host name=“http://p1.example:8080" instance-id=“pi1”/>
> >>>>>>    <host name=“http://p2.example:8080" instance-id=“pi2"/>
> >>>>>> </reverse-proxy>
> >>>>>
> >>>>> Where will I add this fragment ?
> >>>>
> >>>> In your domain.xml define a new profile called proxy, which is
> derived from the “default" profile.
> >>>>
> >>>> In your new profile under the undertow subsystem, in the handlers
> section, below the welcome content file handler, add the above proxy
> config. You then need to change the location name=“/“ to point to the
> “reverse-proxy” handler (instead of “welcome-content”)
> >>>>
> >>>> You basically want 3 server instances, one proxy, web server 1, and
> web server 2, all preferably on separate systems. The proxy would be
> assigned the proxy profile, the two other servers would get ha profiles.
> >>>>
> >>>> You could have your DC collocated on the proxy or on a separate box.
> You need to be sure that your instance-id matches the jvm route on the web
> 1 and 2 boxes (defaults to hostname) for sticky sessions to work properly.
> If you look at the cookie value you will see the jvmroute as a suffix.
> >>>>
> >>>>>
> >>>>>>
> >>>>>> 2. You could also use undertow 1.1 standalone which has a
> mod_cluster impl (coming to WildFly soon)
> >>>>>>
> >>>>>>
> https://github.com/undertow-io/undertow/blob/master/examples/src/main/java/io/undertow/examples/reverseproxy/ModClusterProxyServer.java
> >>>>>>
> >>>>>> (requires alteration for your topology)
> >>>>> OK, let me try the simpler route first.
> >>>>>
> >>>>> I'm having issues building mod_cluster on ARM and following up on
> that
> >>>>> separately. Seems like I may have to use mod_proxy for now since this
> >>>>> is baked into Apache2 for ARM.
> >>>>>
> >>>>>>> The session ids are indeed different. Just pushed out the latest
> blog
> >>>>>>> in this series at:
> >>>>>>>
> >>>>>>>
> http://blog.arungupta.me/2014/05/wildfly-managed-domain-raspberrypi-techtip27/
> >>>>>>>
> >>>>>>> The session id are shown towards the end in screen snapshots, and
> are
> >>>>>>> indeed different.
> >>>>>>
> >>>>>> So the problem is you need to either have a shared cookie domain,
> or use an LB, since the cookie domain has to match the URL for the browser
> to send the same cookie. You can do this in either the global config
> (standalone.xml under servlet-container), or you can add a setting to your
> web.xml like this:
> >>>>>>
> >>>>>> <session-config>
> >>>>>> <cookie-domain>.example</cookie-domain>
> >>>>>> </session-config>
> >>>>>
> >>>>> Can this element be added to domain.xml as well for the managed
> domain mode ?
> >>>>
> >>>> Yes next to the “server” block inside the undertow subsystem you can
> add:
> >>>>
> >>>> <servlet-container>
> >>>>  <session-cookie domain=“.example”>
> >>>> </servlet-container>
> >>>>
> >>>> Although note that you ONLY have to do this if you are not using an
> LB.
> >>>>
> >>>>>
> >>>>>>
> >>>>>> Then you want to add host entries to hosts:
> >>>>>>
> >>>>>> pi1.example 10.x.x.x
> >>>>>> pi2.example 10.x.x.x
> >>>>>
> >>>>> These entries would be made in each individual /etc/hosts ?
> >>>>
> >>>> You just need this on the machine with the client browser, so that
> when it sends HTTP requests it does “Host: pi1.example” instead of "Host:
> 10.xxxxx”.
> >>>>
> >>>> If you decide to go the LB route, and want to have name references
> then you could do them everywhere to make it all easy.
> >>>>
> >>>>>
> >>>>> Arun
> >>>>>
> >>>>>>
> >>>>>>
> >>>>>> After you do that you should be able to stick pi1.example and
> pi2.example in the browser.
> >>>>>>
> >>>>>> --
> >>>>>> Jason T. Greene
> >>>>>> WildFly Lead / JBoss EAP Platform Architect
> >>>>>> JBoss, a division of Red Hat
> >>>>>
> >>>>>
> >>>>>
> >>>>> --
> >>>>> http://blog.arungupta.me
> >>>>> http://twitter.com/arungupta
> >>>>
> >>>> --
> >>>> Jason T. Greene
> >>>> WildFly Lead / JBoss EAP Platform Architect
> >>>> JBoss, a division of Red Hat
> >>>
> >>>
> >>>
> >>> --
> >>> http://blog.arungupta.me
> >>> http://twitter.com/arungupta
> >
> >
> >
> > --
> > http://blog.arungupta.me
> > http://twitter.com/arungupta
>
>
> _______________________________________________
> wildfly-dev mailing list
> wildfly-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/wildfly-dev/attachments/20140531/574e3a59/attachment-0001.html 


More information about the wildfly-dev mailing list