well we were going down constantly with VB running on 3-4 dedicated servers due to huge traffic(couple of tens of millions of page views). We are also planning on some new major features, hence the shift to cassandra with future in mind.
Well roughly the architecture is like this(in order of how the request proceeds) :- 1) Varnish - php reads from cassandra and the performance isn't always good(i am still yet to master it though. so probably my lack of expertise here). So we use heavy use of varnish to cache as much as possible. VCL means we can cache same page for different logged in users differently. ESI means no need to worry about joins. Really varnish is quite a good companion for NoSQL . 2) Front end php servers - contains most of the template code - reads directly from cassandra and Redis. 3) Middleware(written in scala + python -- planning to move middleware to scala completely to reduce no of langs in production) - all writes from php directly go to the middleware - As cassandra is infact mostly a storage of indices - which means you need to change your strategy from mysql(post computation) to precomputing all the needed indices and storing them on cassandra. so middleware takes care of computing the indices and storing them in cassandra and redis accordingly. This way php will just submit the write to middleware and the request can be completed while middleware might take couple secs at most to compute the indices and finish the request completely. 4) Cassandra + redis clusters. So writes are taken care of by the middleware and hence writes complete uber fast and reads are also quite fast courtesy of utilizing varnish where ever it helps. Still not in production though. Hope it helped. Would welcome anybody's suggestions on the way i am using cassandra and if i can do anything better Cheers, Deepu. On Tue, Jul 13, 2010 at 2:48 AM, S Ahmed <sahmed1...@gmail.com> wrote: > What sort of traffic levels made you port the application to Cassandra? > > Very interested in seeing this go live. > > What sort of server setup are you looking at using? > > > On Mon, Jul 12, 2010 at 4:39 PM, Sandeep Kalidindi at PaGaLGuY.com < > sandeep.kalidi...@pagalguy.com> wrote: > >> No we re-coded from scratch with most of the needed functionality. >> >> Cheers, >> Deepu. >> >> >> On Mon, Jul 12, 2010 at 7:49 PM, S Ahmed <sahmed1...@gmail.com> wrote: >> >>> Very interesting! >>> >>> What kind of integration do you have between vB and Cassandra? its not a >>> port then? >>> >>> >>> On Mon, Jul 12, 2010 at 3:34 AM, Sandeep Kalidindi at PaGaLGuY.com < >>> sandeep.kalidi...@pagalguy.com> wrote: >>> >>>> we were one of the vbulletin customers and our forums has been facing >>>> some bad scaling issues. >>>> >>>> we coded our forum software to work with cassandra. we are still testing >>>> for bugs and might go live in couple of weeks. You can ask any specific >>>> questions about vbulletin and cassandra and i will answer to the best of my >>>> knowledge. >>>> >>>> I our case a combination of cassandra and redis took care of most of the >>>> functionality that vbulletin offers and much more. >>>> >>>> Cheers, >>>> Deepu. >>>> >>>> >>>> On Mon, Jul 12, 2010 at 9:58 AM, Paul Prescod <pres...@gmail.com>wrote: >>>> >>>>> On Sun, Jul 11, 2010 at 8:39 AM, S Ahmed <sahmed1...@gmail.com> wrote: >>>>> > I want to build a vBulletin type application (forums, threads, posts, >>>>> user >>>>> > management, etc). >>>>> > Support multi-tenancy for a Saas type environment. >>>>> > Would Cassandra be suitable for this type of application? >>>>> > >>>>> > >>>>> > Thanks in advance. >>>>> >>>>> Most likely, it is technically a fine fit. But Cassandra is very early >>>>> stage software, so you should expect that the documentation will not >>>>> always be clear and things will change from version to version. If you >>>>> are not extremely self-reliant, you may find it a frustrating >>>>> experience. Unless you are confident you will have trouble scaling >>>>> traditional technologies, it might not make business sense. >>>>> >>>>> Paul Prescod >>>>> >>>> >>>> >>> >> >