# Advanced Kafka Consumer tutorials with Java

*Master advanced consumer patterns for production use cases*

These tutorials cover advanced consumer patterns that go beyond basic polling. Use them when you need fine-grained control over offset management, partition assignment, or threading.

**What you'll learn:**
- How to use rebalance listeners for manual offset commits
- How to use seek() and assign() for specific partition/offset access
- How to run consumers in separate threads

> **When to use these patterns**
> The basic consumer code covers 90% of use cases. Use these advanced patterns only when you have specific requirements around offset management, replay scenarios, or multi-threaded architectures.

## Advanced tutorials

| Tutorial | Use case |
|----------|----------|
| [Rebalance Listener](https://www.conduktor.io/kafka/java-consumer-rebalance-listener) | Manual offset commits, external offset storage |
| [Seek and Assign](https://www.conduktor.io/kafka/java-consumer-seek-and-assign) | Replay from specific offset, read specific partitions |
| [Consumer in Threads](https://www.conduktor.io/kafka/java-consumer-in-threads) | Background polling, concurrent processing |

> **See it in practice with Conduktor**
> [Conduktor Console](https://docs.conduktor.io/guide/monitor-brokers-apps) helps you debug advanced consumer scenarios by showing partition assignments, committed offsets, and consumer lag in real-time.

## Next steps

- [Implement rebalance listeners](https://www.conduktor.io/kafka/java-consumer-rebalance-listener) for manual offset management
- [Use seek and assign](https://www.conduktor.io/kafka/java-consumer-seek-and-assign) for replay scenarios
- [Run consumers in threads](https://www.conduktor.io/kafka/java-consumer-in-threads) for concurrent processing
