PyCon APAC 2025

Kirill Tribunskii

Kirill Tribunskii is an experienced software engineer specializing in Python and distributed systems. With a strong background in building scalable and reliable applications, optimizing databases, and designing efficient testing strategies, he also has hands-on experience with soft real-time control systems for the steel industry, as well as solid expertise in CI/CD infrastructure and reproducible builds for various programming languages. He enjoys attending meetups and conferences to connect with tech professionals, exchange ideas, and explore innovative approaches to development.


Session

03-01
13:00
30min
[Talk] Apache Kafka Field Manual for Pythonistas: The Non-Beginner's Guide
Kirill Tribunskii

Apache Kafka is a cornerstone of modern distributed systems, enabling scalable event streaming and processing. While its concepts are universal, integrating Kafka effectively in Python comes with unique challenges that are often overlooked in beginner guides. This talk dives deep into the not-so-obvious pitfalls that Python developers and advanced Kafka users encounter, offering practical solutions and insights.

We’ll explore advanced topics such as serialization/deserialization with and without Schema Registry, handling tombstones in compacted topics, and mitigating issues during group rebalancing to avoid message duplication. Additionally, we’ll dive into building dead letter queues (DLQs) to manage unprocessable messages, ensuring production-grade reliability. We’ll also discuss the intricacies of end-of-stream (EOS) transactions and how to design idempotent and transactional producers to maintain data consistency in complex workflows. Beyond Python-specific considerations, the talk highlights language-agnostic Kafka intricacies, including managing offsets, schema evolution, and designing resilient, event-driven architectures.
This talk is for experienced developers familiar with Kafka basics and looking to level up their expertise, especially in the context of Python. Whether you’re struggling with rebalance anomalies, designing for compacted topics, implementing transactional workflows, or debugging serialization errors, this session will provide you with a clear understanding of which tools to utilize and the direction to take when tackling complex Kafka scenarios.

F223