Значение слова «надежный» объясняется в энциклопедии Baidu: заслуживающий доверия, заслуживающий доверия и надежный друг. Так является ли Кафка надежным другом? Поскольку большинство систем высокой доступности во всем мире поддерживаются Kafka, у Kafka должны быть свои преимущества. Следуйте за мной, чтобы проанализировать его.
Кроме того, я хотел бы отметить, что у Kafka на данный момент 27,6 тысяч звезд и 13,6 тысяч форков на GitHub.
В надежных руках, под присмотром сильных людей
Эта статья включена в мое «Руководство по собеседованию по изучению Java» с открытым исходным кодом, в котором рассматриваются основные знания Java и ключевые моменты собеседования, которые необходимо освоить Java-программистам. Надеюсь получить от всех ⭐ Star ⭐поддерживать。GitHubадрес:https://github.com/hdgaadd/JavaGetOffer,Я верю, что вы не пожалеете о просмотре.
Интервьюер: Вы знаете высшую точку Кафки?
Мы все знаем, что сообщения Kafka сохраняются в ведущем разделе и репликах раздела.,KafkaЧтобы гарантировать, что даже если сообщение будет прочитано из реплики раздела, оно будет прочитано толькоПоданныйновости。KafkaВысокий уровень воды связан сэта цельи разработал。
Если вам неясна концепция отправки сообщений, вы можете прочитать следующее объяснение.
KafkaновоститолькосуществоватьВсе копии разделовПосле синхронизации сообщения,Вот и всеПоданныйновости
Во время процесса копирования раздела,Ведущий раздел добавит к отправляемым данным текущий высокий уровень воды. Текущий уровень паводка — это смещение копии.,записал текущийПоданныйновостимаксимальное смещение。Копия раздела может быть основана накопия ведущего разделаОбеспечен высокий уровень воды,избегатьНе отправленоновостипотребляется потребителями。
Так же, как на картинке ниже,максимальное смещениеПредел подобен уровню воды в море.。
Интервьюер: Можете ли вы рассказать мне, как Кафка обеспечивает надежность сообщений?
Вы можете подумать об этом, прежде чем отвечать на вопросы интервьюера.,Значение надежностичто такое?
В бизнес-системах самое главное, чтобы сообщения не терялись, а данные — это деньги. Если платежная информация клиента утеряна, а платежная информация связана с большой суммой денег, подумайте о потерях для компании. Таким образом, надежность означает хранение и защиту сообщений.
В этом отношении Kafka использует механизм репликации и секционированную архитектуру с несколькими копиями в качестве основы надежности сообщений.
(1) Многокопийная архитектура разделов.
KafkaВсе темы разделены нанесколько разделовхранится в несколькихBrokerвнутри,И каждый раздел может иметьнесколько копий。Например, есть4индивидуальныйBrokerузел,Раздел магазинов Broker1 Копия босса, а Broker2 и Broker3 могут хранить копии своих разделов.
Kafka поддерживает несколько копий разделов для хранения сообщений, что позволяет избежать точечных проблем, приводящих к потере данных и невосстановимым данным.
(2) Механизм репликации.
В обычных обстоятельствах потребители происходят изКопия боссавнутрипрочитать сообщение,В то же время будетn(Коэффициент копирования)индивидуальныйBrokerМашина поедетСинхронная репликацияКопия боссаназад,генерироватькопия подписчикаТо есть копия раздела。
Если Копия машина босса не работает,Раздел副本Сразу会选举成为新из Копия босса。
Механизм репликации обеспечивает согласованность данных копии раздела и ведущей копии. Благодаря поддержке механизма репликации доступна архитектура нескольких копий раздела.
Интервьюер: Что еще?
Вышеупомянутое фактически основано на гарантии надежности, предоставленной Kafka на уровне брокера. Нам также необходимо усердно работать на уровне производителя и потребителя, чтобы снизить риск потери данных во всей системе.
1. Со стороны производителя.
KafkaПредоставляет разнообразныеРежим подтверждения отправки,Мы можем настроить соответствующие подтверждения в соответствии с требованиями надежности бизнеса.
Если описанные выше различные ситуации подтверждения не удались,,Мы можем позволить продюсерам продолжатьПопробуйте еще разОтправить сообщение,Пока Кафка не вернет успех.
2. Со стороны потребителя
Если вы можете ответить на первый вопрос вышеиндивидуальный Вопросы интервьюера:Знать Верхняя отметка Кафки?
,Сразу Знать Верхняя отметка Кафки гарантирует, что потребители будут только читать данные Поданного, то есть они будут записываться во Все. копии данные разделов. Поэтому потребителям необходимо следить за тем, какие данные были прочитаны, а какие не были прочитаны.
Интервьюер: Что делать, если потребление Кафки возрастает?
Этот вопрос часто задают интервьюеры. Мы должны смотреть на него как с точки зрения брокера, так и с точки зрения потребителя.
1. Слова брокера.
2. Что говорят потребители.
Интервьюер: Вы знаете контроллер Kafka?
Модератор Кафки на самом деле является Брокером.,Однако он также несет ответственность за выборы.лидер раздела。Kafkaизконтроллер иRedisкластериздозорныйиз Избирательная функция та же.из。
То есть в Копии босса Местосуществоватьиз Раздел失效назад,Kafkaпридет через контроллерсуществовать Раздел副本внутриизбрать новогоизКопия босса。
Творить непросто, поэтому вы можете ставить лайки, собирать и подписываться, чтобы поддержать его. Ваша поддержка — самая большая мотивация для моего творчества.❤️