Pull to refresh
1
0
Skillfactory School @skillfactory_school

Школа Computer Science

Send message

Kafka Producer — это клиент, который отправляет данные в топики Kafka. Kafka Consumer получает данные из топиков для их обработки. Оба действуют как базовые инструменты для взаимодействия с Kafka, но сами данные они не модифицируют. Этим занимается библиотека Kafka Streams. Она обрабатывает потоки данных в реальном времени внутри Kafka и позволяет не только читать и писать данные (как Producer/Consumer), но и выполнять трансформации данных, такие как фильтрация, агрегация или соединение потоков в реальном времени.

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

Для долгосрочного хранения лучше использовать data lake (например, локально развернутый MinIO), и загружать данные в Kafka по мере необходимости, чтобы не перегружать кластер. Это если данные о заказах за год нужны редко (для отчетов, например).

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

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

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

Сложные же задачи лучше выполнять на стороне консьюмеров, с помощью Apache Flink или Kafka Streams. Тогда обработка данных будет в отдельном слое, а Kafka сможет сосредоточиться на доставке сообщений.

На практике мы чаще реализуем отдельный сервис обработки на Apache Flink. Но это если пиковая нагрузка может доходить до 10 000 сообщений в секунду. Для средних нагрузок (до 2 000 сообщений в секунду) достаточно Kafka Sreams. 

При нагрузке на уровне продакшна (сотни топиков и трафик более 5 Мбит/с) используем Prometheus с поддержкой Hosted Graphite и MetricFire. Это позволяет обрабатывать большие объемы данных (до 1 ТБ метрик в месяц). Реализуем экспорт метрик из Kafka в Prometheus с помощью JMX (Java Management Extensions). Отслеживаем использование CPU, памяти, дискового пространства, сетевой трафик, отставание консьюмеров (consumer lag), задержку обработки (latency) и количество сообщений в секунду.

Настраиваем алерты, чтобы быстро реагировать на превышение пороговых значений, например, рост consumer lag. Отслеживаем через интерфейс Hosted Graphite. При дальнейшем масштабировании распределяем нагрузку между несколькими экземплярами Prometheus с использованием federation, а метрики храним с помощью Thanos или Cortex.

Здравствуйте! Спасибо, что обратили внимание, проверим размещение. В целом отметим, что мы — про образование и реальный опыт, готовим специалистов в области IT и не имеем отношения к политике.

Спасибо, на всякий случай перезалили картинки.

Дмитрий, большое спасибо за статью. Нам очень приятно и важно получать обратную связь 🙏

Желаем успехов во втором семестре!

Здравствуйте! Спасибо, что обратили внимание. Проверим размещение. В целом отметим, что мы — про образование и реальный опыт, готовим специалистов в области IT и не имеем отношения к политике.

Здравствуйте! Спасибо за обратную связь. Рады, что вы отметили работу координатора и подачу материала. А теперь к ответам — по каждому пункту. 

Мы предлагаем два варианты оплаты клиентам: полную оплату или рассрочку от банков. Формат рассрочки, который предлагают наши банки-партнеры, предполагает, что общая сумма платежей не превышает стоимости курса. С нашей стороны сверху не закладываются какие-либо проценты. Хотим подчеркнуть важный момент: у банков нет такого понятия, как «рассрочка», у них есть «кредит», проценты по кредиту платит школа, либо сам клиент. Кредит, где школа платит проценты, называется «рассрочка», но в договоре он идет как «кредит», многих клиентов это смущает, и мы это понимаем, поэтому на этапе продажи подробно рассказываем про это момент.

Домашние задания — это материал для закрепления пройденного, плюс, задачка на вырост, именно поэтому мы предлагаем студентам примерять на себя роль проджекта и внедрить Agile и Scrum. И к нам приходят студенты с разным уровнем подготовки, такие задания повышают кругозор и погружают в IT-среду. 

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

Мы стараемся следить за актуальностью учебного контента, и обратная связь от студентов помогает в этом, передали ваши замечания продакту курса, спасибо! 

Просто нашли хороший материал. На AoC посмотрим, спасибо за наводку! :)

Я же к вам обратился вежливо, а вы зачем-то ответили грубостью. Помимо своей специфичности, ваша аналогия не универсальна, ведь это практически то же самое, что судить о книге по ее обложке. Но ответ услышан, нет так нет.
B0D0B0P0T Спасибо, что упомянули наш курс. Отмечу, что основная функция любого курса — научить студентов. То, что мы закрыли набор именно на этот курс — так к сожалению бывает. Сфера IT быстро эволюционирует и наши образовательные программы растут и меняются вместе с ней. Но так как устойчивость систем к взломам — вечно актуальная тема, то буквально в прошлом году мы запустили специализированный курс Этичный хакер, который предназначен уже не только для сисадминов, но и для других специальностей.

Мы можем долго рассказывать, как делаем курсы, но лучше один раз попробовать, верно? И чтобы вы могли лично составить впечатление об обучении у нас и оценить его — мы готовы предоставить вам демо-доступ к курсу «Этичный хакер». Будем рады, если вы потом поделитесь честным отзывом. :-)
Лучше всего — если кричать не придется вовсе :-)
LMonoceros благодарю за статью. Просто хрестоматийный пример халатности в ИБ. Дам почитать нашим студентам-пентестерам. Берегите себя пожалуйста!
Да, мне тоже вспомнилась эта отличная серия. :-)
Ну на картинке скорее всего распечатка кода вставленная в рамку, по наведению на которую камеры телефона — можно подключиться. Как идея — можно сделать такую штуку на основе E-link дисплея, на который выводить код.
Да, классная штука.
Да и самому можно такую сделать.
image
Странно что повсеместно не юзают.
Думаю можно задать этот вопрос напрямую создателю игры, через его github.
1

Information

Rating
2,609-th
Location
Россия
Registered
Activity