On Jan 22, 11:09 am, cperkins <cperk...@medialab.com> wrote:
> I've read that people have been able to use Clojure with some of the
> Java web servers.  I am not familiar with any Java web servers or web
> frameworks and wonder if anyone who knows more about them can advise
> me. FWIW I'm also not familiar with load balancing or multi-server
> setups for web applications.
>
> We are looking to develop a largish web application that may move a
> lot of data and potentially have a lot of users. Maybe a couple
> hundred thousand page hits a day, maybe a million - it's too early to
> tell.
>
> I've developed some smaller web applications using Common Lisp, but
> I'm not confident that any of the CL web servers (CL-HTTP,
> Hunchentoot, AllegroServe, Araneida, mod_lisp, et al) are up to
> handling high traffic high data sites.  (Maybe they are, I just don't
> know).
>
> So, now that we are considering developing a considerably larger one
> I'm looking for something suitable strong to build it upon. I've heard
> good things about some of the Java web frameworks (WebWork, Tapestry,
> etc) but, again, know nothing about them - and I'd rather program in a
> Lisp.
>
> Does anyone know how good any of the CL web servers are at handling
> high traffic?
>
> What are my options if I were to go with Clojure? How solid and
> scalable are they going to be?

1. The JVM may be a good bet in your case, and Clojure seems to be the
right language for this.

2. Irrespective of which web framework you use, consider using a web
container or an app server. Deploy the application as a WAR if you
want to use the app server's manageability features.

3. If you want to scale out the web layer, consider using memcached as
your session handler rather than the built-in (sticky sessions are a
pain). The latency may be slightly higher, but scale it would.

http://code.google.com/p/memcached-session-manager/

4. If you are keen on Open Source, consider Tomcat, JBoss, Terracota
etc. If you don't need clustering, stick with Tomcat rather than
JBoss. Tomcat and JBoss are pretty solid and proven technologies. Use
JDK 1.6 in server mode for better performance.

5. Use Apache HTTPD (or nginx or any web server) for serving static
content. Use CDN is you can.

6. If you have many (and probably non-trivial) web content, consider
using a web template framework. StringTemplate is a functional style
web template framework: http://www.stringtemplate.org/

7. Web frameworks for Clojure: Compojure, Taimen. You can look at
Blogjure for example usage.

http://github.com/weavejester/compojure

http://code.google.com/p/bitumenframework/ (Taimen and Blogjure,
shameless plug)

>
> What questions am I not asking and should be?

Feel free to ask any question you have. Keep us posted on what you
chose and why -- it would be good to know. HTH

Regards,
Shantanu

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to