Hey all.
I would like to know from peeps what could be the best IPC.
I have written this code to test what I might use.
Background.
I have a UDP server receiving messages at a high rate of speed. The server stores the last 1500x1000 messages in memory.
I have a web server that reads the messages and streams them out to clients.
UDP -> Memory -> WebServer -> HTTP
At the moment my server is only one process. I have bottlenecks. Im looking to setup a multi-process server.
What I'm thinking is something like:
UDP1,UDP2,UDP3 -> IPC -> WebServer1-memory/WebServer2-memory/WebServer3-memory -> HTTP
The UDP server/s receives messages. The UDP send the messages over TCP to the web server. The web server sends the messages to multiple clients over HTTP.
Im looking to scale this up over many cores.
From my test I have found that RAW TCP connection seems to be the best performer.
Any advice on this would be very cool.
SIDE NOTE:
I have thought about saving messages into a database like redis but I have found that redis is really slow compared to TCP/Memory.
Thanks