-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
RingSocket
Highly scalable lockless multi-threaded C11 Linux WebSocket server with backend app plugin API
-
libdatachannel
C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets
How does this fare compared to uWebSockets? https://github.com/uNetworking/uWebSockets
There is this[0]. It’s C++ but the API is simple and it works well, you don’t need to setup any extra ICE/TURN/STUN stuff either.
[0] https://github.com/seemk/WebUDP
I wrote something similar, except instead of providing a library (which Libwebsockets already does a fine job of), I created a server/framework accepting shared objects as backend plugins running as dedicated threads interacting with spsc lockless ringbuffers. In other words, more or less the inverse of a library: https://github.com/wbudd/ringsocket
I haven't been putting much time into it anymore lately, but I intend to create a bunch of language bindings for it soon so you can write plugins in other languages too such as Python, C++, Rust, etc. Should be interesting.
According to TechEmpower benchmark, C# and Java perform better in some tasks than C/C++ [1]
Even in categories where C/C++ are more performant, other languages are not that far behind.
If at all possible, we should not use memory unsafe languages for anything, especially something exposed as a server. No mater how careful you are, and with all the tooling available, majority of exploits in popular software happen due to memory unsafe languages.
[1] https://www.techempower.com/benchmarks/#section=data-r20&hw=...