Live data from Hacker News

XMPP over websockets [HTML5]

blog.superfeedr.com

21–30 of 31 posts

Re: XMPP over websockets [HTML5]

#21
post #10

Earlier quoted context omitted.

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.

Do you have any resources as to what XMPP actually is ? I've only seen it mentioned in the chat protocol context.

http://xmpp.org/

Re: XMPP over websockets [HTML5]

#22
By any means I'll stand on a point that using pure XMPP from a JS point of view is a total over utilization. XMPP is perfect when you're able to make it fit your needs and (more important) you are able to hide it's extreme complexity from your user.

Re: XMPP over websockets [HTML5]

#23

Very cool! Unfortunately, most browsers are disabling websockets due to security issues in the websocket protocol itself. https://developer.mozilla.org/en/WebSockets Can't wait until they fix this!

We're quite hopeful that this will indeed be fixed very soon!

Re: XMPP over websockets [HTML5]

#24
post #10

Earlier quoted context omitted.

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.

Do you have any resources as to what XMPP actually is ? I've only seen it mentioned in the chat protocol context.

[deleted]

Re: XMPP over websockets [HTML5]

#25
post #10

Earlier quoted context omitted.

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.

Do you have any resources as to what XMPP actually is ? I've only seen it mentioned in the chat protocol context.

It'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.

Re: XMPP over websockets [HTML5]

#26
post #20
post #14

Earlier quoted context omitted.

We'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?

Twitter 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?

I 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.

Re: XMPP over websockets [HTML5]

#27
post #14
post #10

Earlier quoted context omitted.

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.

We'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?

Happy to help. catch me on julien@superfeedr.com

Re: XMPP over websockets [HTML5]

#28
post #16
post #14

Earlier quoted context omitted.

We'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?

Ick. 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."

I'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!

Re: XMPP over websockets [HTML5]

#29
post #28
post #16

Earlier quoted context omitted.

Ick. 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."

I'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 she…

First, 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 -- 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.

Re: XMPP over websockets [HTML5]

#30
post #29
post #28

Earlier quoted context omitted.

I'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 she…

First, 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 -- 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…

Thanks 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.

Post reply on HN