1. Со стороны consumer-а. Топик очень высоконагруженый. 8 партиций. Хотим масшрабироваться на стороне consumer-а, читать сообщения побыстрее. Какой способ? Чтобы читать сообщения с одной бизнес-логикой несколькими Spring-приложениями
#
2. Три машины в кафке и одна упала. Что с нашей инфой? Инфа постарадает?
#
3. Было 2 сервиса (producer, consumer), общались по Kafka. Consumer на каждое сообщение должен проходить большой процесс обогащения, поэтому стали копиться сообщения. Решили в двух pod-ах поднять consumer. Но второй pod не видит сообщений. В чем проблема?
#
4. Если у нас несколько брокеров как будут распологаться partition?
#
5. У нас есть n partition. Есть ли смысл настроить Spring приложение для увеличения partition?
#
6. Consumer group. 10 партиций и консьюмеры не справляются. Что делать?
#
7. Есть producer, consumer, consumer record. Consumer record несет в себе key-value. Есть топик, в нем 3 партиции. Мы продьюсим сообщения. Вкакую патртицию попадают сообщения? По каким принципам?
#
8. Топик и 3 партиции. Мы создаем одного consumer-a. К каким партициям прицепится consumer? - цепляется ко всем 3 партициям. Создаем еще одного consumera. С такой же group id. И цепляем его к такому же топику. Он тоже подцепится к этим трем партициям? - Kafka ребалансируется, один консьюмер получит 2 партиции, а второй консьюмер получит 1 партицию
#
9. Есть 5 консьюмеров. Хотим ими параллельно читать из Kafka, чтобы каждому доставались уникальные сообщения. Можно ли такого достичь?
#
10. Есть два сервиса, им нужно общаться между собой. Два топика. Что должно быть реализовано на сервисах?
#
11. Есть consumer group c одним consumer-ом и топик с одной партицией, есть задержка в чтении как можно исправить?
#
12. Есть брокер и сервис который отправляет в него сообщения. Нужно сделать чтобы сообщения отправлялись всегда даже при сбое, потере питания и т.д
#
13. Несколько микросервисов читают из одного топика. Как обеспечить, что один топик, один producer и 3 consumer-а, и все 3 гарантированно должны забрать одно и то же сообщение?
#
14. Возможно в Kafka послать сообщения так, чтобы они были получены в том же порядке, как отправлены?
#
15. Один сервис продуцирует сообщеня, по сути является продьюсером. Публикует результаты экзаменов учеников. Есть 3 системы, которые потребляют сообщения. Сколько нужно сделать Топиков и Партиций? Если сделаем 1 партицию, что случится? А если 10?
#
16. Возможно обрабатывать несколькими консьюмерами одну партицию?
#
17. Как на стороне консьюмера обрабатывать сообщения, чтобы не обрабатывать дубли?
#
18. Консьюмер отвалился, продьюсер есть, сообщения идут в топик. Консьюмеров на топике нет. Потеряются ли сообщения? Когда консьюмер поднимется, придут ли к нему пропущенные сообщения?
#
19. Consumer не существует. Топик существует, Продюсеры что-то туда откидывают. Создаю нового Консьюмера. Есть ли возможность получить все сообщения, которые были до этого? Скажем так, остались в этом Топике
#
20. Консьюмер подключился к Топику и считывает сообщения. В одном из сообщений вылетело необработанное исключение. Что будет с ним?
#
21. 1 продьюсер, 1 топик, 2 консьюмера. Продьюсер посылает ивент. Кто из консьюмеров получит ивент?
#
22. Что делать если у нас 1000 listener в kafka?
#
23. Есть топик. 2 партиции. Отправляем одно сообщение. Есть два потребителя. Есть два варианта. Первый, у них одна консьюмер группа. Второй, у них разные консьюмер группы. В каком случае оба микросервиса прочитают одно и тоже сообщение.
#
24. Что будет если консьюмеров будет больше чем партиций?
#
25. Что будет если партиций будет больше чем консьюмеров?
#
26. 1000 сообщений в секундку, как нам определить, что пришедший ответ из kafka тот, который нам нужен.
#
27. Можно в RabbitMQ послать сообщение напрямую или нужно вводить промежуточные сущности?
#
28. Как будет вести себя консьюмеры, если количество консьюмеров меньше чем количество партиций в топике? А если 10 Консьюмеров а Партиций пять. Как распределятся?
#
29. Несколько Consumer в группе читает из одного Топика. Какой то Consumer отказал. Нужно чтобы другой Consumer стал читать из Топика вместо отказавшего.
#
30. Есть Consumer зависает, какие последствия могут возникнуть?
#
31. Если два контейнера будут в одной сети, какие будут проблемы?
#
32. Есть однопоточный лиснер Kafk-и, но нужно параллельно обрабатывать то, что оттуда приходит. Как бы ты это сделал? Нельзя использовать батчевый лиснер Kafk-и
#
33. Нужно, чтобы один консьюмер всегда обрабатывал один и тот же тип сообщений. Как реализовать?
#
34. У нас 4 партиции и 4 консьюмера. Потом добавляется еще один Консьюмер. Что будет?
#
35. Два топика, три партиции, два консьюмера из одной группы. Как распределятся партиции по консьюмерам?
#
36. Что если выставил batch size условно 10 кб. В итоге рейт очень маленький. Пишешь по одному сообщению в минуту. Как это исправить?
#
37. Есть Консьюмер группа. 2 консьюмера читают из топика из 4 партиций. Что произойдет если один из консьюмеров в группе сдохнет?
#
38. Можно сделать, чтобы несколько консюмеров читали несколько партиций?
#
39. У тебя 3 партиции и 1 консюмер. В первую ты закидываешь миллион, во вторую тысячу сообщений, а в третью десять. Как будет происходить чтение этим консюмером?
#
40. K8s, контейнеризированное приложение. Есть Kafka топик, в нем 40 партиций. Есть сервис, поднят один под. Ты захотел сделать 5 подов. У всех 5 подов одна консьюмер группа. Все они подписаны на этот топик Kafka. Какой под из какой партиции будет читать?
#
41. We have one topic. Producer produces temperature updates into topic. On the other side we want to have one app that reads temp updates and shows them. And second app that also reads the same temp updates and send the email. We want both apps to recieve all the updates. What should we do?
#
42. What should you do if you want to create Load Balancer: we want to have 3-4 apps that can process tasks from one topic? Different apps should process different messages. How many partitions? How many consumer groups?
#
43. Если нужно сделать паузу в Consumer Kafka, что использовать? Как остановить Consumer на 5 сек? Какие способы остановки потока знаешь? Какой будет хороший?
#
44. В Consumer Group большой лаг. Как будешь исследовать проблему? В топике 1 млн невычитанных сообщений, и их количество только увеличивается
#
45. Есть топик, в который публикуется информация, которая нужна разным микросервисам. Если два микросервиса оба подключатся, как сделать так, чтобы каждое сообщение попало в каждый микросервис. Как правильно объединить или не объединять в консьюмер группу в этом случае?
#
46. Система публикует статусы заказа: создан, оплачен, еще что-то. Второй сервис принимает сообщения, у него консьюмер группа из двух консьюмеров, которые поделили партиции топика на себя. В продьюсере создали заказ, отправили сообщение - оно попало первому консьюмеру. Создали второе сообщение по этому же заказу - оно попало второму консьюмеру, который оказался быстрее, чем первый. И сообщения прочитались в неверном порядке. Как этого избежать?
#
47. У нас есть два сервиса, которые общаются по кафке. Один отправляет команду второму на запуск симуляции. Второй ее получил и ответил первому, что он получил команду и запустил симуляцию. Но произошла проблема с сетью и первый сервис не получил это сообщение, из-за чего повторно отправил команду второму на запуск симуляции. Как настроить все так, чтобы не происходил повторный запуск?
#
48. Есть два сервиса: serviceA, serviceB. serviceB занимается обработкой платежей, например, есть команда: переведи от Пети к Васе 100 руб. serviceA получает от пользователя запрос: переведи от Пети к Васе 100 руб. И serviceA отправляет через Kafka этот запрос в serviceB. Сервис важный, мы хотим, чтобы деньги переходили ровно один раз при одном запросе. Как обеспечить семантику обработки exactly once для этого взаимодействия между сервисами?
#
49. Есть топик, в него кто-то пишет. Есть два независимых микросервиса, которые не знают друг про друга. Они должны к топику подключиться. Как настроить микросервисы так, чтобы они не подворовывали друг у друга сообщения из топика?
#
50. Если видео ролики нельзя пережать до нужного размера. Какой может быть обходной вариант с пересылкой в Kafka?
#
51. Есть топик с 5 партициями. И есть consumer group с одним консьюмером. Как он будет читать топик? Все партиции? Только одну партицию? Мы используем subscribe
#
52. Консьюмеров стало 10 в одной consumer group. А партиций пять в топике. Как распределятся консьюмеры?
#
53. Есть два сервиса: serviceA, serviceB. serviceB занимается обработкой платежей, например, есть команда: переведи от Пети к Васе 100 руб. serviceA получает от пользователя запрос: переведи от Пети к Васе 100 руб. И serviceA отправляет через Kafka этот запрос в serviceB. Сервис важный, мы хотим, чтобы деньги переходили ровно один раз при одном запросе. Как обеспечить семантику обработки exactly once для этого взаимодействия между сервисами?
#
54. Много партиций, таски накидали. Мы их вычитываем консьюмерами. Хотим как можно больше консьюмеров добавить, чтобы они в параллель все больше вычитывали. В какой момент надо остановиться в количестве консьюмеров?
#
55. Есть 2 инстанса приложения, которые читают один и тот же топик. Один из инстансов это просто реплика, которая хочет получать те же самые сообщения, что и первый инстанс
#
56. Есть 1 продюсер, есть 1 консьюмер. Несколько партиций топика. Продюсер в некотором порядке записывает сообщения в топик. Гарантируется ли, что консьюмер вычитает в том же порядке?
#
57. В техническом стеке проекта Kafka и Postgres. Нам говорят, что мы не можем оставить Postgres, только Kafka. Как нам придумать решение, когда только в Kafka храним и состояние объектов, и реальные запросы. На сколько далеко можем продвинуться в использовании Kafka как БД? Какие механизмы Kafka нам помогут? Есть топик Kafka. Сервис накидал туда сообщений со счетами на оплату. Их кто-то может вычитать. Сообщения в Kafka не хранятся вечно. Состояние утеряно. Другие счета прилетели. Пользователей тоже храним, у них фамилии, статусы хранятся. Что делать? Увеличили время хранения сообщений в Kafka. Записи копятся, память сильно растет, когда-то точно закончится. Сущности часто меняются, в топике сто тыс состояний каждого пользователя. Что делать с историчностью, чтобы система не слегла? Нужно только несколько конечных состояний каждого пользователя
#
58. Работает брокер, в топике 3 партиции. Подняли 3 приложения (консьюмера). Поняли, что 3 приложения не справляются. Как не выключая ничего, добавить еще консьюмеров, чтобы они быстрее читали из топика? Какие есть возможности, чтобы 5 консьюмеров читали из 3 партиций?
#
59. Ты разрабатываешь консьюмера для системы с доставкой минимум 1 раз. Что он должен учитывать?
#
60. Может ли быть в Kafka такая проблема, что каждый раз при запуске приложения оно будет идти по всем опубликованным сообщениям с нуля? Если неправильно настроена гарантия доставки. А еще какие проблемы могут быть, что каждый перезапуск приложения заново читаются с нуля все сообщения?
#
61. Допустим в транзакции мы записали в outbox таблицу слушатель получил данные и отправил их в kafka соответственно он помечает что отправил и ему не удалось записать, потом сервис мы переподняли у него есть outbox он смотрит не доставленные сообщения видит это сообщение которое не пометил и заново доставляет разве это exactly once?
#
62. Одно и то же приложение ставится в два контура: промышленный и резервный. Нужно, чтобы каждый контур получал какое-то уведомление. Приложение одно и то же, читает одну и ту же Kafka. Что нужно сделать, чтобы оба контура получали уведомление?
#
63. Есть 5 партиций в топике. Мы вычитываем его каким-то сервисом и хотим максимально ускорить. Сначала сделали 1 consumer, поняли, что медленно, добавили второй consumer. До скольки consumer-ов имеет смысл увеличивать? Почему?
#
64. Продюсер один, он пишет сообщения в топик в каком-то порядке. Консьюмер один, читает сообщения. Партиций много. Гарантируется ли, что консьюмер будет сообщения в том же порядке, в каком продюсер пишет?
#
65. Есть несколько инстансов микросервиса. Они читают один и тот же топик. Какой механизм позволит избежать дублирования обработки сообщений из топика?
#
66. За счет чего происходит то, что каждый консьюмер находит свою партицию?
#
67. У тебя есть интегратор, который читает данные из Kafka. Он один. Поняли, что нас не устраивает скорость обработки данных и добавили еще пять экземпляров. Опиши, что произойдет. Поможет ли это нам? По умолчанию одна партиция.
#
68. С какой проблемой можем столкнуться. Если засунем в обработчик Kafka допустим, параллельную обработку. Многопоточность. Решили засунуть в метод чтения данных многопоточность
#
69. Со стороны Consumer ты вычитываешь сообщение, по сообщению тебе надо сходить, несколько интеграций сделать. Ты идешь в первую интеграцию, и получаешь ошибку. Что можно сделать, чтобы попытаться еще раз это сообщение обработать? Как это организовать? Как это в коде это сделать (сдвигать offset в Kafka назад)? Как автоматизировать? Читаешь сообщение, у нее идет 3 интеграции. Всегда есть шанс, что одна из интеграций приляжет
#