Optimizing in-process gRPC with Go 1.23 Iterators and Coroutines

A few years back I have been exploring solutions for the in-process gRPC pattern in Go, for the Thanos project . Recently, a friend and a Thanos maintainer Filip refreshed the initial Thanos solution with the new Go 1.23 iterators . This created a perfect opportunity to share, in a co-authored blog post, what Filip and I learned about the new iterators, new coroutines (not goroutines!) and what…