lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Hi Vladimir,

2012/3/30 Vladimir Protasov <eoranged@ya.ru>:
> I hope it's not to late to mention that clustering will be good feature to implement in prosody during GSoC.

Not at all too late!

Yes, we are indeed accepting GSoC proposals right now from students
who want to work on anything Prosody-related (whether we have the idea
listed already or not). We have a list of project ideas at
http://prosody.im/gsoc .

I also have several Prosody spin-off projects that tangle XMPP with
Lua (since we're doing this under the XMPP Standards Foundation, all
projects must be XMPP related), I'd also be able to accept interesting
proposals for those:

   http://code.matthewwild.co.uk/verse - Lua library for XMPP
   http://code.matthewwild.co.uk/clix - Command-line XMPP tools (uses Verse)
   http://code.matthewwild.co.uk/riddim - XMPP bot framework (uses Verse)

> One possible solution is running prosody as nginx worker process by writing something like XMPPCoreModule/LuaCoreModule (like HTTPCoreModule [1] and MailCoreModule [2]) for one. It will allow run prosody as local cluster easy way and steal some cool features from Nginx like effective requests limiting and load balancing.
>
> It's HTTPLuaModule [3] for nginx, which already embeds Lua into Nginx, but this work only over HTTP.

Unfortunately clustering is easier said than done. XMPP clustering is
not at all like HTTP load balancing, and using nginx really wouldn't
buy us much that we don't have already. Unlike HTTP, XMPP has
long-lived connections and requires state sharing between cluster
nodes. It's a tricky problem to solve, and I doubt suitable for a GSoC
project.

That said, if someone with experience of these kind of distributed
systems did come along and submit a sensible proposal, I'd certainly
consider it.

Regards,
Matthew