3 ms·
I can't speak about go vs nim generally, but: Our particular design is a bunch of single-threaded apps on a message bus. Each app (network ingress/egress, data
by nivviv 6y ago
I can't speak about go vs nim generally, but:
Our particular design is a bunch of single-threaded apps on a message bus. Each app (network ingress/egress, data handling, relays, etc) sits on the bus, and can use async/await to do IO concurrency, but on the app level, there's no threading and no locking to observe.
Each app also has a erlang-inspired supervisor task system, where each task is just a async proc kept alive. It's proven to be very robust (from the standpoint of service availability) in the face of bugs or input validation mishaps.