Using SO_REUSEPORT Flag In Multi-Processes UDP Server

SO_REUSEPORT is a new flag available in Linux 3.9+ that allows several threads to bind the same port simultaneously instead of having to race for the same socket, having the kernel round-robin between them. And this was intended to improve the performance of multi-threaded network server applications running on top of multi-core systems.

The real application of this feature should be when sometimes a worker is stalled by a blocking operation, which does not only affect connections that the worker

Continue Reading

Scalable Highly-available Resilient UDP Service using IPVS and smart client

The problem

We wanted a service that collects datapoints pass them to some backend to be queried later. We don’t want to bock senders of data or reduce their speed waiting their data to be submitted.

We have made a version of this service that is exposed via UDP, the service respond with “1” to acknowledge client that datapoint is received successfully because UDP unlike TCP have no acknowledgment.

Although UDP is much lightweight compared to TCP-based (including HTTP), it’s

Continue Reading

Site Footer

@ OpenSooq 2019