Pull to refresh
1
0

Пользователь

Send message

5 вещей, о которых должен знать любой разработчик Apache Kafka

Reading time15 min
Views93K


Apache Kafka — это платформа потоковой обработки событий, которую используют 30% компаний из Fortune 500. У Kafka много функций, благодаря которым платформа задает стандарт обработки событий, и здесь мы поговорим о пяти самых важных аспектах, которые должны быть известны любому, кто работает с Kafka.


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

Читать дальше →

Охота за убегающей памятью в Go на этапе разработки

Reading time5 min
Views8.5K

В начале этого года я прочитал на habr любопытную статью "Почему Discord переходит с Go на Rust", переход был связан с неэффективным механизмом сборки мусора в Go. Тогда подумалось, что, наверное, было бы проще доработать приложение и не переходить. Но еще проще было бы избежать таких проблем на стадии разработки.

Читать далее

О стримах и таблицах в Kafka и Stream Processing, часть 1

Reading time16 min
Views62K
* Michael G. Noll — активный контрибьютор в Open Source проекты, в том числе в Apache Kafka и Apache Storm.

Статья будет полезна в первую очередь тем, кто только знакомится с Apache Kafka и/или потоковой обработкой [Stream Processing].


В этой статье, возможно, в первой из мини-серии, я хочу объяснить концепции Стримов [Streams] и Таблиц [Tables] в потоковой обработке и, в частности, в Apache Kafka. Надеюсь, у вас появится лучшее теоретическое представление и идеи, которые помогут вам решать ваши текущие и будущие задачи лучше и/или быстрее.

Содержание:

* Мотивация
* Стримы и Таблицы простым языком
* Иллюстрированные примеры
* Стримы и Таблицы в Kafka простым языком
* Пристальный взгляд на Kafka Streams, KSQL и аналоги в Scala
* Таблицы стоят на плечах гигантов (на стримах)
* Turning the Database Inside-Out
* Заключение
Читать дальше →

Обзор UI-инструментов для мониторинга и управления кластерами Apache Kafka

Reading time8 min
Views65K

Прим. перев.: автор этого материала — Герман Осин, старший архитектор решений в Provectus. Осин сравнивает функциональность восьми UI-инструментов, которые помогают решить проблемы наблюдаемости и мониторинга Apache Kafka. Стоит отметить, что обзор скорее вводный. Он будет полезен для первоначального знакомства с возможностями решений.

Apache Kafka — незаменимый инструмент для обработки данных в реальном времени и отслеживания активности приложений. К сожалению, мониторинг кластеров Apache Kafka и управление ими — непростая задача. Решить ее помогают сторонние коммерческие или Open Source-инструменты с графическим интерфейсом и дополнительными функциями в области администрирования и мониторинга.

В статье представлен краткий обзор таких инструментов.

Читать далее

Знакомство с Debezium — CDC для Apache Kafka

Reading time18 min
Views131K


В своей работе я часто сталкиваюсь с новыми техническими решениями/программными продуктами, информации о которых в русскоязычном интернете довольно мало. Этой статьей постараюсь восполнить один такой пробел примером из своей недавней практики, когда потребовалось настроить отправку CDC-событий из двух популярных СУБД (PostgreSQL и MongoDB) в кластер Kafka при помощи Debezium. Надеюсь, эта обзорная статья, появившаяся по итогам проделанной работы, окажется полезной и другим.

Что за Debezium и вообще CDC?


Debezium — представитель категории программного обеспечения CDC (Capture Data Change), а если точнее — это набор коннекторов для различных СУБД, совместимых с фреймворком Apache Kafka Connect.
Читать дальше →

Avro serialization в Kafka

Reading time4 min
Views42K

Здесь опишу пример сериализции данных через Avro и передача в Kafka. Для Avro есть сериализатор данных для Kafka, он использует в своей работе реестр (registry) схем и поддерживает версионность на отдельном развернутом сервере. Здесь будет только сериализатор, а версионность если потребуется, то например может быть реализована своя, например в БД.

Читать дальше →

Как мы Schema Registry для Kafka настраивали, и что могло пойти не так…

Reading time11 min
Views46K

Всем привет.

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

Спойлер: на данный момент реестр схем данных настроен и используется в боевой системе, каких-то проблем, связанных с SR, замечено не было.

Читать далее

Книга «System Design. Подготовка к сложному интервью»

Reading time8 min
Views52K
image Привет, Хаброжители! Мы решили начинать продавать электронные книги до выхода бумажной книги. Начали с интервью по System Design (проектированию ИТ-систем), которые очень популярны у работодателей, на них легко проверить ваши навыки общения и оценить умение решать реальные задачи. Пройти такое собеседование непросто, поскольку в проектировании ИТ-систем не существует единственно правильных решений. Речь идет о самых разнообразных реальных системах, обладающих множеством особенностей. Вам могут предложить выбрать общую архитектуру, а потом пройтись по всем компонентам или, наоборот, сосредоточиться на каком-то одном аспекте. Но в любом случае вы должны продемонстрировать понимание и знание системных требований, ограничений и узких мест. Правильная стратегия и знания являются ключевыми факторами успешного прохождения интервью! Что внутри? — Инсайдерская информация: что на самом деле нужно интервьюерам — 4-х шаговый подход к решению любой задачи system design — 16 вопросов из реальных интервью с подробными решениями. — 188 диаграмм, наглядно объясняющих, как работают реальные системы.
Читать дальше →

Как купить домен и использовать доменное имя для размещения сайта или своих сервисов через NGINX

Level of difficultyMedium
Reading time23 min
Views73K

Этот небольшой гайд для тех, кто давно хотел сделать свой сайт на своем домене и разместить на своем сервере, но все никак.

С чем будем работать далее: 

Узнаем, что такое доменное имя и как оно связано с DNS.

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

Настроим ресурсные записи, чтобы привязать доменное имя сайта к вашему IP‑адресу. Дополнительно рассмотрим, как при помощи DDNS автоматизировать обновление адресов, если у вас нет выделенного IP.

Развернем виртуальную машину, на которой будет работать сайт. (аналогичные действия можно проделать и на каком‑нибудь специально выделенном для этого физическом железе или VPS).

Развернем http‑сервер NGINX.

Настроим конфигурацию для размещения сайта и проверим, что сайт‑лендинг открывается.

Узнаем, как прикрутить ssl сертификаты и https.

Если используются какие‑то другие сервисы, например, nodered, узнаем, как использовать купленный домен в своих сервисах в варианте, например, nodered.mydomainhere.ru и т.д., вместо 77.88.111.222:1880 или mydomainhere.ru:1880 (т. е. поработаем с доменами третьего уровня).

Получим бесплатные Wildcard SSL сертификаты от Lets Encrypt при помощи утилиты Cerbot, и настроим их для использования в NGINX.

Тех, кому интересно, приглашаю далее.

Читать далее

Golang-дайджест № 25 (1 – 31 января  2023)

Level of difficultyMedium
Reading time4 min
Views4.4K

Свежая подборка новостей и материалов.

Интересное в этом выпуске

Выпущен Go 1.20, консольный клиент chatGPT, система управления пользователями (zitadel), Платформа сбора информации для телефонных номеров (phoneinfoga), Как развиваться GoLang разработчику? (подкаст)

Читать далее

Как передать потомкам исполняемый код? Задача сложнее, чем кажется

Level of difficultyEasy
Reading time5 min
Views11K
Стена в Мачу-Пикчу, древнем городе инков

Вы читали берестяные грамоты жителей Новгорода 11 века? Жёны писали записки мужьям типа «Не забудь в дорогу бутерброды, когда поедешь в Киев», девушки слали любовные записки, мужчины вели учёт долгов перед соседями. Но мы даже близко не можем представить, как жила эта богатая культура до завоевания Москвой.

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

И компьютеры будут другими. Практически наверняка в будущем придётся эмулировать программную и аппаратную среду современных ПК, поскольку работающие экземпляры станут редкостью, как сейчас работающие мейнфреймы 1950-х. Там будут другие процессоры на новой архитектуре, иные мониторы, ОС, софт, шрифты и т. д. Всё поменяется. Не говоря уже о том, что в худшем сценарии у потомков вообще не останется компьютеров и даже такого понятия, как «вычислительная машина».

Что же делать?
Читать дальше →

Есть ли польза от GoF-паттернов?

Level of difficultyEasy
Reading time5 min
Views12K

Паттерны проектирования стали неотъемлемой частью минимального набора знаний современного разработчика. Их упоминание вы с легкостью найдете в описании вакансии как на фронта, так и на бэка. На техническом интервью вам обязательно зададут вопрос о паттернах, а на утреннем созвоне с командой нередко прозвучит что-то типа адаптер, фабрика или обсервер. Хотя последнее, возможно, слегка притянуто за уши. Бесспорно, паттерны проектирования - это очередная тема, о которой говорят все, но о доказанной эффективности которых известно достаточно мало деталей. 

Читать далее

Увлекательная криптография. Часть 1

Level of difficultyMedium
Reading time7 min
Views7.1K

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

Сегодня я хочу рассказать о первой из трёх задач из категории Crypto с прошлогоднего CTF HTB «Cyber Apocalypse». Задачи на криптографию моя отдельная любовь, поскольку позволяют нетрадиционно взглянуть как на привычные криптографические алгоритмы, так и на неудачные попытки их использования. Особенно интересно искать уязвимость в самописных алгоритмах. Последнее наиболее опасно в реальной жизни, поскольку некоторые разработчики уверены, что уж они то смогут как минимум правильно реализовать известный алгоритм, а не тянуть за собой OpenSSL. Некоторые даже стараются написать свой собственный алгоритм и тем самым обеспечить надежную защиту данных! Множество CTF задач разной сложности обычно позволяют быстро развенчать этот миф :-)

Читать далее

Борьба за человекочитаемость кода: опыт Хабра

Level of difficultyEasy
Reading time8 min
Views15K

Код Хабра день за днём впитывает в себя время, мысли и чаяния многих людей. Этому коду более 10 лет: он оброс множеством знаний, в том числе и тайных. Места c bus factor = 1 — не эка невидаль, а вполне конкретные люди с ответами на часто задаваемые вопросы.

Меня зовут Антон Каракулов, я тимлид команды бэкенд-разработки Хабра. Хабр стартовал в 2006 году, и за всё время здесь поработало, наверное, команд пять. Мне посчастливилось быть в двух из них, забегал в третью.

Эту статью я написал в рамках проекта Хабра «IT-гид», где разработчики рассказывают про свои направления. Постарался собрать в ней главные практические выводы и интересные грабли, которые нам попадались в процессе превращения старого хабракода в чистый, масштабируемый и понятный для всех — то есть человекочитаемый.

Все события утрированы, а совпадения — беспочвенны.

Читать далее

Создайте конвейер потоковой обработки событий в реальном времени с помощью Kafka, BigQuery & Looker Studio

Reading time10 min
Views2.8K

Создание простого проекта потоковой обработки событий – не самая простая задача. В сегодняшней статье мы расскажем, как можно достаточно просто сделать это при помощи Kafka, BigQuery & Looker Studio.

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

Читать далее

Иронии автоматизации

Level of difficultyEasy
Reading time6 min
Views11K

Вероятно, один из главных в мире текстов об автоматизации — статья «Ironies of Automation» когнитивного психолога Лизанны Бейнбридж, опубликованная в 1983 году в журнале Automatica. На неё ссылаются более 1800 других академических работ, про неё есть страница в Википедии, её продолжают вспоминать спустя сорок лет после публикации. Думаю, что сейчас, когда ChatGPT и беспилотные автомобили порождают новый виток замены людей машинами, этот текст по-прежнему очень актуален.

Но вот на Хабре об этой статье вроде бы никогда не писали. Я и сам узнал о ней почти случайно: мы проводим Java-конференции, где её упомянул один из спикеров. И ощутил, что она была бы полезна здесь на русском. Но поскольку исходная публикация академическая, она не вполне в стилистике Хабра. Поэтому я решил не переводить её дословно, а пересказать ряд тезисов оттуда своими словами и добавить немного от себя. Для тех, кому хочется полной точности, даю ссылку на оригинал.

Читать далее

Проектный Менеджер в IT. Обязанности без полномочий

Level of difficultyMedium
Reading time7 min
Views12K

Мне захотелось осмыслить свой опыт и те системные проблемы с которыми я сталкивался работая на позиции проектного менеджера (ПМа) в IT. Практически всегда я видел похожую картину - руководитель компании хотел передать часть ответственности линейному менеджменту, чтобы освободить себя для более стратегических задач. Поскольку работа в IT чаще всего проектная, найти ПМа кажется логичнее всего. Ищут человека, который не боится брать ответственность за проект целиком. При этом, остальные процессы в компании (инициация проекта, подписание контрактов) практически не меняются и остаются завязаны на ТОП менеджменте. В итоге к ПМу проект приходит на стадии, когда уже все решено: определена команда, выстроены ожидания заказчика, цель проекта, бюджет. И далее ПМ работает с тем что есть, не имея полномочий изменить состав команды, бюджет проекта, заказчика.

Но без делегирования полномочий не решается проблема загруженности ТОП менеджмента. Происходит интересная ситуация, когда есть человек “отвечающий” за проект, но все решения принимает ТОП менеджмент. Проблема становиться менее видимой, потому что “виноват” во всех принятых решениях ПМ. ПМ, как правило, ответственный человек, то он упорно ищет причины неудач в себе. В компании могут звучат красивые слова про то, что каждый может повлиять на ситуацию, у нас Lean, Agile и вот это все. Но это только мешает увидеть несоответствие обязанностей и полномочий.

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

Читать далее

Обкафкился по полной: 3 фейла с Apache Kafka

Reading time6 min
Views24K

Недавно мы проводили вебинар «Обкафкился по полной. Фейлы с Apache Kafka». На нём спикер Всеволод Севостьянов, Engineering Manager в HelloFresh, поделился фейлами из личной практики, а ещё рассказал, как мастерски ходить по тонкому льду Kafka и прокачать свой бэкенд. Для тех, кто пропустил или предпочитает читать, а не смотреть, подготовили текстовый вариант.

Читать далее

Как эффективно делиться результатами своей работы? О «хвастовстве» здорового человека

Reading time6 min
Views26K

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

Когда в команда открывается позиция тимлида, Саша проигрывает коллеге Пете. В целом, Петя тоже хороший сотрудник, но от Саши он отличается тем, что умеет доносить свою ценность и результаты работы коллегам и руководителю.

Возможно, вам знаком такой сценарий. Чтобы не быть Сашей, важно научиться правильно презентовать результаты своей работы. Как это делать эффективно — рассказываем на примере сотрудника техподдержки.
Читать дальше →

Программа адаптации – как помочь новичку стать «своим» в команде

Reading time8 min
Views12K

Хабр, привет! Меня зовут Екатерина Герт, я ведущий аналитик и ресурсный менеджер одной из групп аналитиков в КРОК. В этих двух ролях я много работаю с новичками. Как аналитик на уровне проекта знакомлю новичка с проектной командой и спецификой предметной области, а как руководитель погружаю в стандарты и практики работы аналитиков в компании. 

За последние 3 года количество аналитиков-новичков, которые приходят к нам в команду, выросло почти в 6 раз. К нам приходят новички разного уровня, от младших до ведущих. У каждого – свой багаж знаний и практический опыт. Важно адаптировать этот опыт и знания к практикам работы, которые приняты компании. Если не заниматься адаптацией, то каждый новичок будет работать так, как он привык. Команда и заказчики будут ожидать совсем другого результата, к которому они тоже привыкли. В итоге – хаос неизбежен. 

Помимо общих адаптационных материалов “на компанию” в нашей гильдии аналитиков есть своя программа – набор материалов, практических заданий и система бесед для проверки, насколько хорошо был усвоен материал. К этой системе мы пришли постепенно от стихийного наставничества к программе со своей структурой из теории и практики. 

В этом посте хочу показать, как вы можете выстроить свою программу адаптации на примере эволюции нашей адаптационной программы.

Я не художник, но иллюстрации в тексте – мои :) 

Читать далее

Information

Rating
Does not participate
Location
Израиль
Date of birth
Registered
Activity