Планирование ёмкости: разделы и репликация
Узнайте, как выбирать размер тем с правильным количеством разделов и коэффициентом репликации, балансируя пропускную способность, параллелизм, надёжность хранения и эксплуатационные затраты.
«Планирование ёмкости: разделы и репликация» — бесплатный урок Advanced Spring Boot 4: Event-Driven Architecture (Kafka) на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Advanced Spring Boot 4: Event-Driven Architecture (Kafka), и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Advanced Spring Boot 4: Event-Driven Architecture (Kafka) содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Why Sizing Matters
Partition count and replication factor are hard to change after launch and directly shape throughput, parallelism, and durability. Good capacity planning avoids painful migrations later.
Partitions Drive Parallelism
A consumer group can have at most as many active consumers as there are partitions. More partitions allow more parallel consumers and higher throughput.
Estimating Partition Count
A common heuristic: divide target throughput by per-partition throughput.
- Measure max producer throughput per partition (p).
- Measure max consumer throughput per partition (c).
- partitions = max(target/p, target/c).
partitions = ceil( targetMBs / min(producerMBs, consumerMBs) )The Cost of Too Many Partitions
More partitions are not free:
- More open file handles and memory on brokers.
- Longer leader-election and rebalance times.
- Higher end-to-end latency.
Plan headroom, but do not wildly over-provision.
Replication Factor
The replication factor is how many copies of each partition exist across brokers. A factor of 3 is standard for production durability.
In-Sync Replicas
With min.insync.replicas=2 and acks=all, a write succeeds only when at least two replicas confirm. This tolerates one broker failure without data loss.
min.insync.replicas=2
replication.factor=3Creating a Sized Topic
Specify partitions and replication when creating a topic so it starts correctly sized.
kafka-topics.sh --create --topic orders \
--partitions 12 --replication-factor 3 \
--bootstrap-server localhost:9092Planning for Growth
You can increase partitions later but never decrease them, and adding partitions breaks key-based ordering. Pick a count with growth headroom from the start.
Retention and Disk Sizing
Disk need = throughput x retention x replication factor. A topic at 10 MB/s with 7-day retention and RF 3 needs roughly 17 TB. Plan storage accordingly.
Spreading Across Brokers
Ensure partitions and replicas are evenly distributed so no broker becomes a hotspot. Rack-awareness places replicas across failure domains.
Putting It Together
Capacity planning balances parallelism, durability, latency, and cost. Size partitions from throughput, use RF 3 with min ISR 2, and plan disk from retention.
Quick Check
Test your understanding of capacity planning.
Recap
You learned capacity planning.
- Partition count drives consumer parallelism and throughput.
- Too many partitions add latency and broker overhead.
- RF 3 with min ISR 2 tolerates one broker failure.
- Plan disk from throughput x retention x replication.
Часто задаваемые вопросы
Урок «Планирование ёмкости: разделы и репликация» бесплатный?
Да — полный текст урока «Планирование ёмкости: разделы и репликация» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Advanced Spring Boot 4: Event-Driven Architecture (Kafka), подпишись на CoddyKit PRO. Курс Advanced Spring Boot 4: Event-Driven Architecture (Kafka) содержит 4 уроков всего.
Чему я научусь в уроке «Планирование ёмкости: разделы и репликация»?
Узнайте, как выбирать размер тем с правильным количеством разделов и коэффициентом репликации, балансируя пропускную способность, параллелизм, надёжность хранения и эксплуатационные затраты. Ты практикуешь Advanced Spring Boot 4: Event-Driven Architecture (Kafka) с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Предыдущий опыт не требуется. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Планирование ёмкости: разделы и репликация»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?
Да. Каждый урок Advanced Spring Boot 4: Event-Driven Architecture (Kafka) включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Советы по настройке производительности Kafka
- Идемпотентные производители и потребители
- Развёртывание приложений Spring Boot с Kafka в облаке
- Планирование ёмкости: разделы и репликация