[erlang-questions] Looking for high performance transport

10 views
Skip to first unread message

Max Bourinov

unread,
Jan 29, 2012, 8:11:50 AM1/29/12
to erlang-q...@erlang.org
Hello Erlangers,

Could anybody suggest a good transport for my needs?

My requirements:
 - Should support up to 1 Gbit traffic per node (message size from 128 bites to 4 KB)
 - Should support a lot (> 65000) connection per node
 - Should support authentification 
 - Should be possible to develop additional client libs.

Ideal will be kind of a server + client lib.

So far I have tried ejabberd and exmpp. ejabberd is great but it has big overhead ~150 KB for connected user. exmpp is buggy and has very poor performance on our data (I send JSON data and exmpp tries to wrap each " into separate CDATA tag).

Any ideas and links are welcome!

Best regards,
Max


Gleb Peregud

unread,
Jan 29, 2012, 9:11:20 AM1/29/12
to Max Bourinov, erlang-q...@erlang.org
I'd say that those requirements are not very specific, since there are many other aspects which may be important. Two projects which I find "sexy" lately are ZeroMQ, which is very performant and may support topology you want out of the box. For transport encoding you could try using MsgPack which is allegedly very fast.

But generally more details are needed to give good recommendations.

Best,
Gleb

Dmitry Kolesnikov

unread,
Jan 29, 2012, 9:15:17 AM1/29/12
to Max Bourinov, erlang-q...@erlang.org
1. udp
2. sctp
both available at erlang. you might need to tweak auth by you self.

- D

> _______________________________________________
> erlang-questions mailing list
> erlang-q...@erlang.org
> http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions

Garrett Smith

unread,
Jan 31, 2012, 10:44:34 AM1/31/12
to Max Bourinov, erlang-q...@erlang.org

0MQ was designed for high performance and throughput.

http://www.zeromq.org/

It doesn't support authentication, but I think in your case that's a
good sign -- anything low enough level will leave that to the app
tier.

The Erlang bindings are very good and are maintained by people active
on this list:

https://github.com/zeromq/erlzmq2

Reply all
Reply to author
Forward
0 new messages