On March 20, 2026 I delivered a talk about Channels in Rust at Rustikon, Warsaw (Poland).

The talk dives deep into Rust channels — from synchronous channels to asynchronous channels — to explore how message passing enables reliable concurrent programming.

Concurrency in Rust is powerful, but safe and efficient communication between tasks can be tricky to master.

We start with simple synchronous channels and examine common patterns for multi-producer and multi-consumer setups. Then we move to asynchronous channels in Rust’s async ecosystem, showing how channels coordinate tasks in real-world systems. Along the way, we discuss backpressure, error handling, and performance trade-offs, with practical examples inspired by cloud-native workloads like Kubernetes operators, runtime schedulers, and event pipelines.

We also compare different channel strategies and patterns to illustrate how design choices impact performance and simplicity.

By the end of the video, one will have:

  • A clear understanding of how synchronous and asynchronous channels work in Rust
  • Patterns for multi-producer, multi-consumer messaging
  • Insights into handling backpressure and errors safely
  • Practical knowledge for building scalable, concurrent systems
  • Confidence applying Rust channels in real-world cloud-native and async workloads

The slides used in the talk are available here.

If you have any questions, or any feedback, please drop a comment.

Have a good one. Cheers! 🍻