> There was one fundamental mistake made, however, which is that we shouldn't have used channels.
> they make it very hard to prevent message loss. If unbuffered channels are used everywhere, performance plummets unacceptably due to context-switching costs. But using buffered channels means that many messages are in flight at a time, most of which are sitting in channels waiting to be processed.
That's really interesting, I'd love to hear how people overcome similar problems.