Lucee for very large scale applications


#1

I know ACF powers some of the most targeted websites in the world in terms of security and reliability, such as the US Senate and US Congess.

How about LUCEE? Not talking hardware, which of course is always a factor but from the prospect of the core product. What is anyone’s thoughts on running LUCEE for a top 100 TLD.


#2

I’d assume, with everything, it’s not necessarily about the language, but about the architecture.

We run lucee exclusively in our department, but have integrated it with Docker, Kubernetes and the Google Cloud.

We’re not quite running micro-services but in the project I’m running, we’ve split most of the functionality into logical services. Allowing us to up/down scale things.

So, there shouldn’t really be a reason for CF over Lucee or visa-versa.

But, running lucee in a top 100 TLD… why not, it can be better than CF, and not quite as good… Again, depends on what you’re actually doing…


#3

There’s a few notable companies using Lucee which you can see in this thread:

If you’re asking whether Lucee can be used to run a very large site, sure of course! The JVM has been shown to scale very well and Lucee is very fast.

If you’re asking for very specific pointers on how to scale a site out to that size, that’s a rather large topic that probably involves clustering, caching, load balancing, and architecture.

If you’re asking why you don’t see any top 100 TLD sites using Lucee, it’s because we’ve all been waiting for you to go out there and do it. Let us know when you’ve accomplished it :slight_smile:


#4

I should have rephrased this better. I have no doubt Java scales, and I have no doubt that CFML scales, as I have seen it all first hand.

I should have asked, if anyone has scaled out Lucee to distribute sessions between lucee instances so it can scale.

Being more of a systems guy first and a programmer second, I always tend to lend myself to product guides. Since its Lucee, and open source awesomeness that is ever evolving, I leave the question to the community and people who are far more suited than I to answer :slight_smile:


#5

Yes, at Ortus we’ve deployed several Lucee clusters that use external session storage in Couchbase and Redis. In fact, I wrote the Ortus Couchbase cache extension. (It’s a commercial extension, but you can get free open source ones too.) We just really love Couchbase because it has true horizontal scaling, auto-sharding, and amazing clustering features.

But enough about Couchbase, using it in Lucee is super simple. I swear, I’m not trying to turn this into a sell for our extension, but I don’t know of any other guide as comprehensive right off, so here are the docs i wrote which show the basics of installing an extension, creating a named cache that uses that cache driver, and hooking that cache up to your session or client scope as well as using it for CFML caching, query caching, etc.
https://docs.ortussolutions.com/couchbase-cache/3.0.0/index.html
You can swap out any of those specifics for the Redis or Memcached extension and it’s pretty much the same. That’s the beauty of the cache abstraction is your code doesn’t know or care the back-end cache implementation. In fact, I’ll setup a Ram cache (in memory) for dev, and then switch the config to Couchbase, etc on stage and production.

This Lucee feature lets you avoid load balancing shortcuts like sticky sessions and do true round robin, or deploy to a Docker swarm, etc. Then a CF node can disappear at any time from your cluster and your users never notice.