I have to implement messaging in a web application, and I am unsure which approach is the best. What I am looking for is quite similar to what Facebook offers. Basically real-time chatting if both parties are online simultaneously, but otherwise messages should be stored and accessible when the offline party comes online.
I have the following requirements:
- Real-time chatting should be possible
- Messages must be stored, with the ability to retrieve them, i.e. to fetch a list of conversations for a given user - exactly like on Facebook
- The solution must be scalable, i.e. support many users
- Conversations will be 1:1 (at least for now), meaning that I am not looking to implement "chat rooms", but group conversions are "nice to have"
I have looked at XMPP and ejabberd, but I prefer a hosted solution (SaaS) to avoid a lot of maintenance on my end. I know that ejabberd is available as SaaS as well, but it seems as if storage of messages is not so well supported, based on the following quote from the website:
Included storage to archive messages. Access to message archives in batch mode through daily downloadable files.
This does not seem so flexible, and I would prefer a hosted solution with an API of some sort. A "self-hosted" ejabberd solution also seems to lack this functionality, as it only seems to be available through a third party mod.
I could do a whole lot with XMPP, but I am looking for a solution that requires minimal effort on my end, such that I can hopefully get up and running quickly. I know that I am asking for much, but my hope is that a service exists that lets me do this without a lot of resources (time is my primary concern, not money).
I have looked through a few services, but I would like to hear any recommendations. Can anyone recommend any solutions that can do what I want, and which approach do you recommend in general?
Aucun commentaire:
Enregistrer un commentaire