Hi -
Perhaps someone can give me a little advise about how to best proceed
with a Roller configuration we are building.
We are using JDK 5.0, Tomcat 5.5, and Derby switched from embedded to
the network config. (We also have Lucene and POI in our web app)
We have multiple domain names. I want to configure a very similar
combination of our web app and with a roller weblog for each. At the
moment. I don't care if I can or cannot access all the blogs in each
domain.
I've tried a couple of combinations and each has a drawback. I spent
some time reviewing the open JIRA issues which has given me a
somewhat fuzzy idea that "clustering" issues are mostly addressed.
I'm looking for a possible approach, and I am quite willing to
scratch my itch by going into the code.
I plan to move into production soon where we cluster by load
balancing on 5 servers. The roller_data and themes directories will
be on a shared drive. I am aware that the lucene based search may not
work well, but that is a limitation we can accept.
Here are the configurations that we have tried.
(1) Each domain has its own Host Context in Tomcat, and each has its
own Roller instance that is using the same database.
Everything was generally working sufficiently well until I started
paying attention to the unusually long time it took the Tomcat JVM to
shutdown. I explored the situation using jconsole and determined
that with multiple contexts running Roller that there would be an
orphaned HitCountQueueProcessor waiting to wake up for its 3 minutes
of sleep. This information was supplemented by the logs. Experiments
proved that this was always the case until I only had a single Context.
(2) All domains use a single Context with one domain "owning" it and
the others as aliases and of course a single database.
Here the trouble is $url.absoluteSite which appears to be the root
for the rest of the $url macros. This takes the url of the first host
or alias that hits roller after tomcat is started. Of course this
causes all kinds of issues with the links on the web pages.
Not really acceptable. So, I am wondering what to do. Here are some
ideas that I have, but I would appreciate some help.
(A) Try (1) again but have a different database or db user for each
Context.
(B) Somehow get into all the velocity macros and make the URLs come
out the way I want, and accept that the authoring system may look
funny to my handful of authors.
(C) Get into the Filter mechanism and adjust the $url model myself.
(D) Find another blog tool. Yuck, I like Roller ...
(E) Have a production load balancing config that sends each domain's
roller traffic to a single, unique server. I have 5 servers and 4
domains.
(F) Just live with the up to 3 minute delay when restarting the server.
Personally I like (A), (C), and then (F)
Thanks in advance for any advise.
Regards,
Dave