На странице собраны вопросы по Kafka — от проверки базовых принципов до практического применения и архитектурных решений. В подборке чаще встречаются темы: concurrency, backend, database.
Зачем нужен контекст в gRPC-запросах и что происходит после его отмены Контекст как инструмент управления жизненным циклом запроса в Go Передача дедлайнов, сигналов отмены и метаданных между клиентом и сервером…
Зачем нужна consumer group в Kafka? Kafka представляет собой распределённую систему обмена сообщениями. Consumer group — объединение потребителей, совместно считывающих данные из топика. Внутри группы каждый partition…
Брокеры сообщений обеспечивают асинхронное взаимодействие и интеграцию сервисов Kafka — распределённая система и журнал событий с высокой пропускной способностью и хранением сообщений в формате log-based RabbitMQ —…
Работа с HTTP в Go resp.Body представляет собой поток тела ответа Необходимо обязательно вызвать defer resp.Body.Close() В противном случае возникает утечка ресурсов, включая TCP-соединения TCP-соединения не…
Различия Kafka и RabbitMQ в гарантированной доставке сообщений Kafka представляет собой распределённый commit log, в котором сообщения хранятся постоянно Данные попадают в топики, разделённые на partitions, благодаря…
Каким образом Kafka обеспечивает отказоустойчивость за счёт репликации и кластеризации? распределённый кластер брокеров, обеспечивающий масштабирование и отказоустойчивость данные распределяются по партициям, для…
Репликация и восстановление в Kafka Kafka представляет собой распределённую систему, в которой топики используют репликацию У каждой части топика (partition) есть один лидер и несколько фолловеров Записи принимает…
Как в Go выполнять HTTP-запросы асинхронно? тема: конкурентность, net/http, goroutines параллельный запуск запросов выполняется через goroutines каждый HTTP-запрос помещается в отдельную goroutine (go func()) для…
Как в Go обрабатываются ошибки и паники? ошибка представляется как значение через интерфейс error после вызова функции выполняется явная проверка (if err != nil) паника возникает при критических ошибках, например при…
Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…
В Go отсутствует классическое наследование: здесь нет классов и конструкции extends Для повторного использования кода применяют встраивание (embedding) структур При встраивании поля и методы вложенной структуры…