ranch
Tino
Our great sponsors
ranch | Tino | |
---|---|---|
3 | 2 | |
1,174 | 171 | |
0.9% | - | |
5.6 | 10.0 | |
4 months ago | almost 4 years ago | |
Erlang | Python | |
ISC License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ranch
-
Oh Erlang... where have you been all my life?
RE: HTTP/Web Sockets/TCP/UDP/etc. - check out NineNines libraries: Ranch (TCP Socket Acceptor), Cowboy (HTTP Server), Gun (HTTP client), and CowLib (General HTTP/SPDY library) are pretty good from what I hear.
-
Build an Elixir Redis Server that's 100x faster than HTTP
Ranch is a pretty well optimized and battle hardened tcp acceptor. It powers the Cowboy/Phoenix server which scales to extreme level of concurrency and low latency. Cowboy uses ranch to pool and accept connections and I believe it uses {active,once}.
https://github.com/ninenines/cowboy
https://github.com/ninenines/ranch
-
Why SOLID may be useful for you in Elixir
SMPPEX is based on ranch and handles TCP connections in the following way:
Tino
-
Build an Elixir Redis Server that's 100x faster than HTTP
Author here, combining Redis protocol and MsgPack is a much more platform independent way of building a protocol.
The redis protocol and Msppack are both only a a hundred lines or so for a parser. Meaning you can build your own from scratch in a new language if one isn’t supported.
Its also stupid fast.
Compared to protocol buffers which can be extremely complicated to grok on the binary level.
I built a more robust API RPC for Python here based on Redis and MsgPack: https://github.com/hansonkd/tino
-
Build an Elixir Redis API that's 100x faster than HTTP in less than 10 minutes
I have reproduced these findings in Python against the fastest HTTP frameworks. https://github.com/hansonkd/Tino/
What are some alternatives?
cowboy - Small, fast, modern HTTP server for Erlang/OTP.
cowlib - Support library for manipulating Web protocols.
gun - HTTP/1.1, HTTP/2, Websocket client (and more) for Erlang/OTP.
voomex - Send and receive SMPP messages via HTTP API
telemetry - Dynamic dispatching library for metrics and instrumentations.
smppex_telemetry - Library for tracing SMPP session events with telemetry
SMPPEX - ✉️ SMPP 3.4 protocol and framework implementation in Elixir