Very cool. Did you ever give the wildfly as a proxy approach a try?
On May 31, 2014, at 8:37 PM, Arun Gupta <arun.gupta(a)gmail.com> wrote:
Please help spread the word.
Let me know if you have fun ideas/projects that should run on Raspi
and help us build thought leadership :-)
Arun
On Sat, May 31, 2014 at 7:47 AM, David Aroca <daviaro(a)gmail.com> wrote:
> Thnks Arun!
>
>
> 2014-05-31 3:29 GMT-05:00 Kabir Khan <kabir.khan(a)jboss.com>:
>>
>> Nice!
>> On 31 May 2014, at 05:10, Arun Gupta <arun.gupta(a)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(a)redhat.com>
>>> wrote:
>>>>
>>>>
>>>> Sent from my iPhone
>>>>
>>>>> On May 30, 2014, at 6:44 PM, Arun Gupta <arun.gupta(a)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(a)redhat.com> wrote:
>>>>>>
>>>>>> On May 30, 2014, at 12:54 PM, Arun Gupta
<arun.gupta(a)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/jav...
>>>>>>>>
>>>>>>>> (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-techt...
>>>>>>>>>
>>>>>>>>> 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(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/wildfly-dev
>
>
--
http://blog.arungupta.me
http://twitter.com/arungupta
--
Jason T. Greene
WildFly Lead / JBoss EAP Platform Architect
JBoss, a division of Red Hat