It's still very young days for any of the Clojure web frameworks (including -shameless plug- Cascade).
My favorite web framework (for obvious reasons) is Tapestry; there's years and years of experience behind it to make it a very effective, very productive, and extremely high-performance environment. It's also very flexible; I see no reason why it would not be possible to use a stateful Tapestry presentation layer that communicated to a stateless (or state managed) Clojure back end for any non-trivial processing or calculation. On Fri, Jan 22, 2010 at 5:52 AM, Shantanu Kumar <kumar.shant...@gmail.com> wrote: > > > 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 -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com -- 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