David Fisher wrote:
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
Are each domain a separate entity? It is not clear if the domain (blog
instance) are separate because the users are different or they are
separate because they are nodes in a cluster for load balancing purposes
(thus appearing as one against 1 database)?
--
Regards
Gabe Wong
NGASI AppServer Manager
JAVA AUTOMATION and SaaS Enablement
<a href=http://www.ngasi.com>http://www.ngasi.com</a>
NEW! 8.0 - Centrally manage multiple physical servers