11 лучших вопросов и ответов из интервью с Кафкой [для первокурсников]

Опубликовано: 2021-02-22

За девять лет с момента выпуска в 2011 году Kafka зарекомендовал себя как один из самых ценных инструментов для обработки данных в технологической сфере. Airbnb, Goldman Sachs, Netflix, LinkedIn, Microsoft, Target и The New York Times — это лишь несколько компаний, построенных на Kafka.

Но что такое Кафка? Простой ответ на этот вопрос: это то, что помогает водителю Uber найти потенциального пассажира или помочь LinkedIn выполнять миллионы аналитических или предсказуемых услуг в реальном времени. Короче говоря, Apache — это хорошо масштабируемая отказоустойчивая распределенная платформа потоковой передачи событий с открытым исходным кодом, созданная LinkedIn в 2011 году. Она использует журнал фиксации, на который вы можете подписаться, и который затем можно опубликовать в ряде потоковых приложений.

Его низкая задержка, интеграция данных и высокая пропускная способность способствуют его растущей популярности настолько, что опыт работы с Kafka считается блестящим дополнением к резюме кандидата, а специалисты с сертифицированной квалификацией в этой области сегодня пользуются большим спросом. Это также привело к увеличению числа рабочих мест вокруг Кафки.

В этой статье мы составили список вопросов и ответов на интервью Кафки, которые, скорее всего, возникнут на вашем следующем собеседовании. Возможно, вы захотите просмотреть их, чтобы освежить свои знания, прежде чем идти на собеседование. Итак, поехали!

11 лучших вопросов и ответов на интервью с Кафкой

1. Что такое Apache Kafka?

Kafka — это бесплатный инструмент обработки данных с открытым исходным кодом, созданный Apache Software Foundation. Он написан на Scala и Java и представляет собой распределенное хранилище данных в реальном времени, предназначенное для обработки потоковых данных. Он предлагает высокую пропускную способность, работая на приличном оборудовании.

Когда тысячи источников данных непрерывно отправляют записи данных одновременно, генерируются потоковые данные. Чтобы обрабатывать эти потоковые данные, потоковая платформа должна обрабатывать эти данные как последовательно, так и постепенно, одновременно обрабатывая непрерывный поток данных.

Kafka использует этот приток входящих данных и создает потоковые конвейеры данных, которые обрабатывают и перемещают данные из системы в систему.

Функции Кафки :

  • Он отвечает за публикацию потоков записей данных и подписку на них.
  • Он обеспечивает эффективное хранение потоков данных в том порядке, в котором они генерируются.
  • Он заботится об обработке дней в реальном времени

Использование Кафки :

  • Интеграция данных
  • Аналитика в реальном времени
  • Хранение в реальном времени
  • Решение брокера сообщений
  • Обнаружение мошенничества
  • Торговля акциями

2. Почему мы используем Кафку?

Apache Kafka служит центральной нервной системой, делающей потоковые данные доступными для всех потоковых приложений (приложение, использующее потоковые данные, называется потоковым приложением). Это достигается путем создания конвейеров данных в реальном времени, которые отвечают за обработку и передачу данных между различными системами, которым необходимо их использовать.

Kafka действует как система брокера сообщений между двумя приложениями, обрабатывая и опосредуя связь.

Он имеет широкий спектр применений, включая обмен сообщениями, обработку, хранение, транспортировку, интеграцию и аналитику данных в реальном времени.

3. Каковы ключевые особенности Apache Kafka?

К отличительным чертам Кафки можно отнести следующее:

1. Надежность. Kafka обеспечивает бесшовную поддержку распределения и репликации разделов данных между серверами, которые затем записываются на диск. Это снижает вероятность отказа серверов, делает данные постоянными и устойчивыми к сбоям, а также повышает их надежность.

2. Масштабируемость. Kafka можно нарушить и заменить на многих серверах, что делает его масштабируемым за пределы возможностей одного сервера. Благодаря этому разделы данных Kafka не имеют простоев.

3. Нулевая потеря данных. При надлежащей поддержке и правильной конфигурации потери данных можно свести к нулю.

4. Скорость. Благодаря чрезвычайно низкой задержке из-за разделения потоков данных Apache Kafka работает очень быстро. Он используется с Apache Spark, Apache Apex, Apache Flink, Apache Storm и т. д., все из которых являются внешними потоковыми приложениями в реальном времени.

5. Высокая пропускная способность и репликация . Kafka способна поддерживать миллионы сообщений, которые реплицируются на нескольких серверах для предоставления доступа нескольким подписчикам.

4. Как работает Кафка?

Kafka работает, комбинируя две модели обмена сообщениями, тем самым ставя их в очередь, а также публикуя и подписываясь на них, чтобы сделать его доступным для многих экземпляров потребителей.

Очереди способствуют масштабируемости, позволяя обрабатывать данные и распределять их между несколькими серверами-потребителями. Однако эти очереди не подходят для мультиабонентов. Именно здесь вступает в действие подход публикации и подписки. Однако, поскольку каждый экземпляр сообщения будет отправлен каждому подписчику, этот подход нельзя использовать для распределения данных между несколькими процессами.

Поэтому Kafka использует разделы данных для объединения двух подходов. Он использует модель разделенного журнала, в которой каждый журнал, последовательность записей данных, разделен на более мелкие сегменты (разделы) для обслуживания нескольких подписчиков.

Это позволяет разным подписчикам иметь доступ к одной и той же теме, делая ее масштабируемой, поскольку каждому подписчику предоставляется раздел.

Модель разделенного журнала Kafka также воспроизводима, что позволяет различным приложениям работать независимо, продолжая чтение из потоков данных.

5. Каковы основные четыре компонента Кафки?

Есть четыре компонента Кафки. Они есть:

- Тема

- Режиссер

– Брокеры

- Потребитель

Темы — это потоки сообщений одного типа.

Производители могут публиковать сообщения в заданной теме.

Брокеры — это серверы, на которых хранятся потоки сообщений, опубликованных производителями.

Потребители — это подписчики, которые подписываются на темы и получают доступ к данным, хранящимся у брокеров.

6. Сколько API у Kafka?

Kafka имеет пять основных API:

API производителя: отвечает за публикацию сообщений или потока записей в заданную тему.

– Consumer API: известны как подписчики тем, которые извлекают сообщения, опубликованные производителями.

– Streams API: позволяет приложениям обрабатывать потоки; это включает в себя обработку входного потока любой заданной темы и преобразование его в выходной поток. Затем этот поток вывода может быть отправлен в разные темы вывода.

– Connector API: действует как автоматизирующая система, позволяющая добавлять различные приложения к их существующим темам Kafka.

– Admin API: темы Kafka управляются Admin API, как и брокеры и некоторые другие объекты Kafka.

7. Каково значение смещения?

Уникальный идентификационный номер, присваиваемый сообщениям, хранящимся в разделах, называется смещением. Смещение служит идентификационным номером для каждого сообщения, содержащегося в разделе.

8. Определите группу потребителей.

Когда группа подписанных тем используется более чем одним потребителем, это называется группой потребителей.

9. Объясните важность смотрителя зоопарка. Можно ли использовать Kafka без Zookeeper?

Смещения (уникальные идентификационные номера) для определенной темы, а также разделы, используемые определенной группой потребителей, сохраняются с помощью Zookeeper. Он служит каналом координации между пользователями. Невозможно использовать Kafka без Zookeeper. Это делает сервер Kafka недоступным, а запросы клиентов не могут быть обработаны, если обходиться с Zookeeper.

10. Что означают лидер и последователь у Кафки?

Каждому из разделов в Kafka назначается сервер, который выступает в качестве лидера. Каждый запрос на чтение/запись обрабатывается лидером. Роль Последователей — идти по стопам Лидера. Если система приводит к сбою ведущего, один из ведомых прекратит репликацию и займет место ведущего, чтобы позаботиться о балансировке нагрузки.

11. Как запустить сервер Kafka?

Прежде чем запускать сервер Kafka, включите Zookeeper. Выполните следующие действия:

Сервер зоопарка:

> bin/zookeeper-server-start.sh config/zookeeper.properties

Кафка сервер:

bin/kafka-server-start.sh config/server.properties

Заключение

Если вам интересно узнать больше о больших данных, ознакомьтесь с нашей программой PG Diploma в области разработки программного обеспечения со специализацией в области больших данных, которая предназначена для работающих профессионалов и включает более 7 тематических исследований и проектов, охватывает 14 языков и инструментов программирования, практические занятия. семинары, более 400 часов интенсивного обучения и помощи в трудоустройстве в ведущих фирмах.

Ознакомьтесь с другими нашими курсами по программной инженерии на upGrad.

Возглавьте технологическую революцию, основанную на данных

7 ПРИМЕРЫ И ПРОЕКТЫ. ПОМОЩЬ В РАБОТЕ С ТОП ФИРМ. ПРЕДНАЗНАЧЕННЫЙ НАСТАВНИК ДЛЯ СТУДЕНТОВ.
Расширенная программа сертификации в области больших данных от IIIT Bangalore