M
M
mlwrm2017-01-28 00:50:02
Google
mlwrm, 2017-01-28 00:50:02

Go or Erlang for streaming server?

Right now nginx + rtmp is used for live video streaming, while this solution works out of the box. In the future plans to write your solution. The choice is between Go and Erlang. As far as I know, twitch is now working on Go, at the same time there is flussonic written in Erlang, which also proved to be excellent.
If someone has worked with live video streaming, what is the best choice for writing a custom solution?

Answer the question

In order to leave comments, you need to log in

3 answer(s)
S
sim3x, 2017-01-28
@malworm

Streaming itself will be on the plus side for you (if you have a skill team with a bunch of seniors) or erlange - the rest of the PLs are not so good when working with the network and streams
Write the binding - on whatever you want

Using pre-release versions of Go 1.2, it was able to serve over 500,000 concurrent users from each physical host without special tuning
tuned erlang would serve 10M there, but twitch can't write on it
https://blog.twitch.tv/gos-march-to-low-latency-gc...
The article describes why for strapping (website, chat, etc ) you need to use erlang, because it does not have the described problems

X
xuBpaloLim, 2017-09-30
@xuBpaloLim

It just depends on what you personally know best.
Well or what ready decision you will take as a basis.
One of the recent Russian projects uses Erlang, only because in the beginning, its founder came across the Erlang stream server code. Over the years they have cut it, of course.

R
rustler2000, 2017-01-31
@rustler2000

Comcast translates hardware streamers into golang streamers.
Allegedly ```other PLs are not so good at working with network and streams``` myth - if you look at the giblets, it is something between C and C ++ (imagine that you can prohibit working with raw pointers in C ++, oblige use shared_ptr with unified access (for example, they messed with templates), have an immutable std:: string and light threads).
The interfaces are practically C++ with rtti and vtable - the same two pointers.
The new garbage collector is so rocket-simple.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question