Real-Time Web application. What to choose? Workerman or Centrifugo?

Hello everyone. Help me decide on the choice of a WebSocket server. I have been trying for a long time to find something that will work flawlessly at least for 10k connections. I will use it for Web development, as a browser client, and my backend is in PHP. Actually, after studying this issue, comparing a lot of ready-made libraries, ready-made solutions, I stopped at two of them. These are Workerman and Centrifugo. At first, I was 100% confident in Workerman - it is very easy to set up, familiar to me PHP language, good performance. But. After reading the experience of other users, I realized that its limit, as a WebSocket server, is limited to the order of 1000 users. Then it just breaks all incoming connections. It seems that the event library is installed, the file system limits are increased, but still, there can be no question of any 10k

After a thorough search and a kilogram of spent nerves, I found such a thing as a Centrifugo. According to the description, I liked it very much, user reviews enthusiastic. The authors themselves say that on an average VDS can easily cope with stable 100k connections. And it seems like this feature is written in the GO language. I think that in terms of multithreading, it will clearly win over PHP. But the setting itself is quite specific and incomprehensible. There is a very large documentation, it describes in detail how to create a server and work with it. But still, whether my paltry knowledge of English is letting me down, or whether I'm still too weak as a programmer - I can't it's okay to figure out how this thing works, but that's not the point, it just takes time and patience

Actually, the question is for those who are constantly faced with the creation of Real-Time applications. What to choose after all? Actually, I still tend to prefer Centrifugo. A more stable solution, much higher performance, and all that. Who worked with a Centrifuge, tell me, is it really such a cool thing as it is described? Won't she have the same problems that we had under Workerman, eh exactly the connection dump at > 1000 connections? How stable is this thing and recommended for use?

P.S. Sorry in advance for such a lengthy question. Just already tortured with the choice of a suitable solution. Everywhere there are some shortcomings and dancing with a tambourine when installing

Author: KernelSource, 2020-11-03