4 ms·
Don't confuse the protocol and the server! It may be tricky to setup and ejabberd cluster, but you can't blame XMPP for that! Also, I wish people were more adv
by julien 16y ago
Don't confuse the protocol and the server! It may be tricky to setup and ejabberd cluster, but you can't blame XMPP for that!
Also, I wish people were more adventurous with XMPP in general and stop thinking that it's just a chat protocol.
- rexreed 16y agoWe're actually thinking of using XMPP as a server-to-server asynchronous messaging / pubsub protocol to help us with distributed processing and long running transactions. But I am already stretching my knowledge in this area and would love to chat with others who are thinking of using XMPP as a server-to-server protocol. Julien - can I pick your brain?
- seiji 16y agoIck. Do not pass go. Do not collect $200. For server-to-server passing, prefer (in order): 1. redis pubsub 2. zeromq (if you know what you're doing) 3. amqp (if you think you need it) 4. populate events to a DB transactionally then consume later Only use XMPP if your problem domain is "someone is paying me $LOTS to set up an XMPP service."
- rexreed 16y agoI'd like to understand more about this and your thoughts. Have you had experience using XMPP this way? Is there a specific reason why this wouldn't / shouldn't work? I know you prefer the other approaches, but other than simply preferring them, what is the issue with using XMPP this way? Specifically, what if the scenario is enabling communication between servers that you have limited control over and do not have shell / root access to install or manage a server? In this case, there wouldn't be an opportunity to install redis, 0mq, or amqp. The database approach might work, but the servers are distributed and might not allow remote connections. Why wouldn't XMPP work in this scenario using a public XMPP server? I'd like to learn more!
- seiji 16y agoFirst, XMPP obviously works. Google Chat is XMPP. Facebook Chat is XMPP (ejabberd). But SOAP works too. Doesn't mean I want to use it. My problem with XMPP is best illustrated by XEP-0060, the pubsub extension proposal: http://xmpp.org/extensions/xep-0060.html http://xmpp.org/extensions/xep-0060.html -- I don't have time to figure out that monstrosity. AMQP is at the limit of complexity as far as pubsub things go. It's complex enough to need explaining, but simple enough were you can understand it in an hour. If you want an in-depth discussion war about pros and cons, ask your question both on the redis mailing list and on the rabbitmq mailing list. I'd be interested in seeing how both communities respond to your requirement of running on limited access servers.
- rexreed 16y agoThanks for the response! Ok, so to summarize, XMPP works, but in your opinion, it's simply too complex to "figure out"? Basically, in my scenario, it could very well work as optimally as we want it to if we give ourselves time to understand it? I wish I could use zeromq or redis or amqp, but it just is not an option in this environment. I was wondering if there was some solid technical reason to not use XMPP, but it looks like there isn't one... it's just a matter of personal preference and wanting to avoid spending time on something. I'll charge ahead with the XMPP implementation in our scenario unless there's a good reason someone can see why not to.
- mnutt 16y agoTwitter had an XMPP feed at one point, but shut it down due to scaling issues and later brought up their current firehose/sitestreams service. Does anyone know if they ever talked about why XMPP didn't scale for them? Site streams requires making one connection per 100 users; perhaps they were having trouble sharding with XMPP?
- julien 16y agoI think they were mostly having issues because people would enter their gtalk jid to get content... and google obviously throttles the traffic pretty aggressively, so dev would not receive the content and would complain.
- julien 16y agoHappy to help. catch me on julien@superfeedr.com
- rexreed 16y agoTnx! Just sent you a message.
- StavrosK 16y agoDo you have any resources as to what XMPP actually is? I've only seen it mentioned in the chat protocol context.
- troystribling 16y agohttp://xmpp.org/ http://xmpp.org/
- deleted 16y ago[deleted]
- julien 16y agoIt's a messaging and presence protocol! We (at Superfeedr) use it for our infrastructure. Each piece of our application is an XMPP component which connects, sends messages to others and get messages from them. We are also starting to use it as a deploy tool as well.