Serving remote clients - RMI vs HTTP

kumarlimbu <[email protected]> Sun, 15 Jul 2007 20:23:44 -0700
Newsgroups gmane.comp.java.sun.rmi
Message-ID <[email protected]>
Hi Everyone,

We are using lucene,nutch and spring framework to create a specialized
search engine. Due to growing traffic we are trying to scale. By doing some
tests we found out that the bottle neck was lucene search. We used some
heavy traffic simulation and logged the time taken by each portion of the
server response and found out that the bulk of the time was spent in
searching from lucene index.

In order to accomodate higher traffic we are planning on splitting our
application in 2 portions:
1. Web application (on 1 machine)
2. Search application (one more than 1 machine)

Each one of the application will reside on a (possibly) separate machines.
We are looking forward to scaling by adding more than 1 machine dedicated to
searching as lucene search seems to be the bottleneck. Web application will
provide the front-end to the user. All static pages, images and the style
information will reside on this machine. It will also serve dynamic pages
but all the searching will take place on the search application. Web
application will send search information to the search application and after
searching, it will send back the results to the web application which will
format it and show it to the user.

What we are unable to decide is whether to use RMI (
http://www.soft-amis.com/index.html?return=http://www.soft-amis.com/cluster4spring/index.html
cluster4spring ) or simple HTTP POST/GET request with response in XML
format. We want to know if RMI is more suitable for our specific purpose. We
did some research and found out that RMI (with clustering support) might be
more suitable for our needs. Unfortunately our team is not familiar with RMI
and so we don't know if there will be any issues with it during
implementation. Advantage of using simple GET/POST is we have more control
over which searcher app to use and when. Another criteria is to disable
searching from the searcher app who's index is being updated. This is very
important for us. Is there anyway in RMI to inform the
web (client) application that a particular server is unavailable.

We would also like to know if anybody has implemented lucene searching in a
similar fashion. Thanks for your help.

Kumar Limbu

--
View this message in context: http://www.nabble.com/Serving-remote-clients---RMI-vs-HTTP-tf4084344.html#a11608691
Sent from the Java - RMI mailing list archive at Nabble.com.

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff RMI-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

For a list of frequently asked RMI questions please refer to:
http://java.sun.com/j2se/1.3/docs/guide/rmi/faq.html

To view past RMI-USERS postings, please see:
http://archives.java.sun.com/archives/rmi-users.html