[{"data":1,"prerenderedAt":82},["ShallowReactive",2],{"content:\u002F08-kafka\u002F00-intro":3},{"title":4,"description":5,"path":6,"body":7},"Введение в Kafka","Этот модуль нужен, чтобы понять асинхронное взаимодействие между сервисами без магии. Kafka часто называют очередью, но в production она обычно важнее: это распределённый лог событий, через который сервисы обмениваются фактами, разгружают синхронные запросы и строят event-driven процессы.","\u002F08-kafka\u002F00-intro",{"type":8,"value":9,"toc":76},"minimark",[10,14,17,20,25,28,31,42,46,49,53],[11,12,4],"h1",{"id":13},"введение-в-kafka",[15,16,5],"p",{},[15,18,19],{},"Kafka помогает там, где один сервис не должен ждать другой в HTTP-запросе. Но она добавляет свои сложности: порядок, партиции, offset, повторная обработка, дубликаты, схемы сообщений, ретраи и наблюдаемость.",[21,22,24],"h2",{"id":23},"что-будет-внутри","Что будет внутри",[15,26,27],{},"Разберём брокеры, топики, партиции, offset и retention. Потом перейдём к producers и consumers на Go, consumer groups, rebalancing, retries, DLQ, настройкам и production-деплою.",[15,29,30],{},"Минимальная модель, которую стоит держать в голове:",[32,33,39],"pre",{"className":34,"code":36,"language":37,"meta":38},[35],"language-text","producer -> topic partitions -> consumer group -> обработка с offset\n","text","",[40,41,36],"code",{"__ignoreMap":38},[21,43,45],{"id":44},"как-понять-что-освоил","Как понять, что освоил",[15,47,48],{},"Вы освоили модуль, если можете объяснить, почему порядок гарантируется только внутри partition, как consumer group делит работу, что будет при падении consumer, зачем нужны idempotency и DLQ, и какие настройки нельзя оставлять бездумно дефолтными.",[21,50,52],{"id":51},"рабочие-ориентиры","Рабочие ориентиры",[54,55,56,60,63,66,69],"ul",{},[57,58,59],"li",{},"Kafka хранит события, а не просто \"передаёт сообщения\". Это влияет на replay, аудит и повторную обработку.",[57,61,62],{},"Событие должно быть бизнес-фактом, а не удалённым вызовом метода в маске.",[57,64,65],{},"Consumer почти всегда должен быть готов к дубликатам. Exactly-once редко означает то, что хочется услышать.",[57,67,68],{},"Порядок, retries, DLQ, схемы, ACL, lag и capacity - часть контракта интеграции, а не \"настройки инфраструктуры потом\".",[57,70,71,72,75],{},"В проекте RateDesk Kafka появляется как integration event ",[40,73,74],{},"RateUpdated",": теория объясняет trade-offs, а конкретные задачи остаются в проектном треке.",{"title":38,"searchDepth":77,"depth":77,"links":78},2,[79,80,81],{"id":23,"depth":77,"text":24},{"id":44,"depth":77,"text":45},{"id":51,"depth":77,"text":52},1781022064910]