Kafka — это универсальный и мощный инструмент для построения конвейеров данных в реальном времени и событийно-ориентированных приложений. Перевели туториал, где рассматривается интеграция Kafka с экосистемой Spring Boot.
User
Построение гибкой и распределенной архитектуры с использованием Kafka и Kafka Connect: Часть 2 — Получатель и Helm Chart
Данная статья является продолжением статьи - Ивентная модель данных с использованием Kafka и Kafka Connect: Построение гибкой и распределенной архитектуры.
Добро пожаловать во вторую часть статьи о построении гибкой и распределенной архитектуры с использованием Apache Kafka и Kafka Connect! В первой части мы ознакомились с ивентной моделью данных, разработали сервис отправителя и настроили интеграцию с Kafka, чтобы асинхронно отправлять сообщения. Теперь настало время рассмотреть вторую часть этого увлекательного проекта.
Как легко перейти с Java на Rust: Особенности и советы
После работы над двумя коммерческими проектами на Rust я получил хороший практический опыт в этом языке. Это были backend сервисы для веб-приложений, где Rust использовался для основной бизнес-логики и работы с базами данных.
Кроме того, я создал три open source библиотеки на Rust, которые публиковал на GitHub. Это позволило мне лучше изучить идиоматичный Rust, работу с асинхронностью и т. д.
В целом, после работы над этими проектами у меня как Java-разработчика накопился интересный опыт, которым хотелось бы поделиться для тех, кто только начинает изучать Rust, приходя из мира Java. Далее я привожу несколько полезных советов, которые помогут в переходе на Rust.
Сравнительный анализ Apache Kafka и RabbitMQ
Сравнительный анализ Apache Kafka и RabbitMQ
В статье поговорим об особенностях, достоинствах и недостатках двух популярных брокеров сообщений. В каком случае использовать тот или иной брокер? Как с помощью брокеров достичь максимальную производительность и гибкость в обработке данных?
Тема будет интересна разработчикам на проектах, где требуется обмен информацией между разными компонентами или системами.
Реализация gRPC с помощью Java и Spring Boot
Хорошо бы понимать различия между HTTP/1.1 и HTTP/2, поскольку gRPC использует HTTP/2 по умолчанию.
Характеристики HTTP/1.1:
- Текстовый формат
- Заголовки в текстовом формате
- TCP-соединение требует «трехстороннего рукопожатия» (three-way handshake) — один запрос и ответ с одним единственным TCP-соединением.
Характеристики HTTP/2:
- Бинарный формат
- Сжатие заголовков
- Управление потоком
- Мультиплексирование (одно и то же TCP-соединение может быть повторно использовано для мультиплексирования. Потоковая передача с сервера — потоковая передача от клиента — возможна двунаправленная потоковая передача)
Корни RxJava — о чем мы не подозревали
В этой статье описано то, как под капотом работает RxJava и почему она работает именно так, а не иначе. Статья рекомендуется к прочтению разработчикам уровня junior - middle, так же очень желательно перед прочтением статьи ознакомиться/вспомнить паттерн Observer, потому что вся история основана на нём.
KeyCloak и микро-сервисы. Как облегчить жизнь программисту
Привет! Если ты так же как и я решил использовать keycloak для аутентификации и авторизации в своей микро‑сервисной архитектуре, то я расскажу вам как правильно настроить сам keycloak, его рабочую среду а в конце мы подключим Active Directory к нашему приложению.
Типовое использование RabbitMQ
Алексей Барабанов, IT-директор «Хлебница» и спикер курса «RabbitMQ для админов и разработчиков», подготовил конспект о типовых архитектурных паттернах RabbitMQ. Из него вы узнаете, как настроить пайплайны обработки и реализовать очереди повторных попыток (в том числе, через механизм dead letter exchange).
Лучшие инструменты для написания статей и постов на английском
В эпоху технологических инноваций писатели теперь не ждут, пока вдохновение придет к ним в голову в течение нескольких дней. Сегодня, с помощью инструментов для письма вы можете начать писать на любую тему и легко редактировать написанное.
Не верите? Посмотрите AI для Notion. Этот парень реально пишет блог за вас, не всегда правильно, но все же...
С помощью инструментов для письма авторы статей, блогов создают высококачественный контент. Стоит отметить, что наиболее важным элементом в написании статей сегодня является его логическое и правильное изложение. Говоря про написание статей, исключая труднозаходимый для России Notion, на английском языке, мне в голову в первую очередь приходят следующие инструменты.
В общем, давайте посмотрим на 7 лучших инструментов для письма, которые я использую для написания и систематизации статей.
Оптимизация Dockerfile для уменьшения размера и быстрой сборки образов
У каждого образа Docker есть свой размер, который он занимает на жёстком диске. Порой бывает так, что контейнер с запущенным приложением на языке программирования Go, который содержит в себе всего лишь одну строчку с выводом фразы «Hello, world!» может занимать сотни Мб, в то время как существуют образы содержащие легковесные ОС весом всего лишь 5 Мб (alpine).
В этой статье будут подробно рассмотрены способы оптимизации файла Dockerfile с целью уменьшения размера готового образа и ускорения его сборки.
Локальный сервер для разработки (dns, nginx & git)
В итоге мы получим домашний сервер с фейковым доменом, на поддомене которого мы развернём GitLab и настроим работу gitlab-runner'а для деплоя наших веб-проектов.
Я не буду долго разглагольствовать по поводу каждого шага, лишь в крайних случаях буду описывать моменты, с которыми вы можете столкнуться в процессе и пути их решения.
Kubernetes the hard way
Всем привет. Меня зовут Добрый Кот Telegram.
В этой статье расскажем, как развернуть кластер чистыми бинарями и парочкой конфигов.
Вошли и вышли, приключение на 20 минут)
От коллектива FR-Solutions и при поддержке @irbgeo Telegram : Продолжаем серию статей о K8S.
Как выразительно отвечать на вопросы на английском языке и звучать убедительно
В наше время коротких текстовых и голосовых сообщений бывает сложно дать развернутый ответ о своих предпочтениях в выборе инструментов и техник на собеседовании с HR- специалистом или при обсуждении вопросов специфики проекта с потенциальным работодателем. Часто краткие ответы не подходят в данной ситуации и ведут к еще большему потоку вопросов со стороны собеседника. Как же быть в таком случае?
Предлагаю обратиться к аутентичным источникам и посмотреть, как это делают носители языка. Прочитав отрывок из интервью с Полом Айришем (Paul Irish) каналу Treehouse, который на момент съемки занимал должность разработчика в Google Chrome, мы можем найти фрагменты ответа, указывающие:
Основы Terraform
Управление распределенной архитектурой требует значительных трудозатрат и финансовых вложений. Для автоматизации этого процесса можно использовать различные самописные скрипты, но лучше воспользоваться готовыми решениями с открытым исходным кодом. Одним из наиболее известных решений для автоматизации управления инфраструктурой является Terraform. Это Open source решение для управления IaC от компании Hashicorp, разработанное в 2014 году. Решение придерживается декларативного стиля управления инфраструктурой, то есть, вы описываете в конфигурационном файле финальное состояние инфраструктуры, а Terraform приводит её к этому состоянию. В качестве примера можно привести автоматическое развертывание пула виртуальных машин, например для проведения обучения работе с каким-либо ПО.
Ручное создание пары десятков виртуалок может занять целый день, а с помощью Terraform это займет менее часа.
Для того, чтобы описание работы с Terraform не было “сферическим конем в вакууме”, мы в качестве наглядного примера, рассмотрим практический пример создания экземпляра EC2 в AWS.
Глубокое погружение в Java Memory Model
Я провел в изучении JMM много часов и теперь делюсь с вами знаниями в простой и понятной форме.
В этой статье мы подробно разберем Java Memory Model (JMM) и применим полученные знания на практике. Да, в интернете накопилось достаточно много информации про JMM/happens-before, и, кажется, что очередную статью про такую заезженную тему можно пропускать мимо. Однако я постараюсь дать вам намного большее и глубокое понимание JMM, чем большинство информации в интернете. После прочтения этой статьи вы будете уверенно рассуждать о таких вещах как memory ordering, data race и happens-before. JMM — сложная тема и не стоит верить мне на слово, поэтому большинство моих утверждений подтверждается цитатами из спеки, дизассемблером и jcstress тестами.
Разбираемся в Apache Kafka: подборка полезных статей и кейсов
Разрабатываете приложения с применением Apache Kafka? Мы собрали для вас статьи, которые помогут освоить инструмент, познакомят с рабочими кейсами с использованием ПО. Делимся пользой и свежими идеями, подборками книг и реализованными задумками.
Pre-Commit хуки, о которых DevOps-инженер должен знать, чтобы управлять Kubernetes
Контролировать качество исходного кода как можно раньше в жизненном цикле проекта - хорошая практика. Давайте разберемся, как применять этот принцип в работе с Kubernetes.
В целом, компании всегда ищут способы увеличить свою продуктивность на всех уровнях: инфраструктура, люди, процессы и др. Зачастую продуктивность достигается за счет внедрения автоматизированных процессов для облегчения работы и увеличения темпов производства. Подобная автоматизация требует эволюции, адаптации или даже полной трансформации концептов, используемых ранее. Это включает в себя обеспечение и контроль политик безопасности.
В самом деле, с появлением новых методов работы, основанных на гибкости (вроде DevOps), некоторые принципы безопасности пришлось адаптировать к темпам развития и управления компонентами инфраструктуры. Сегодня одна из наиболее безопасных практик - это как можно раньше переместить эти контрольные точки в цепи интеграции, чтобы быстрее обнаруживать любые аномалии, заслуживающие особого внимания.
Введение в Event Modeling
Event Modeling — это метод описания информационных систем на основе анализа изменений информации с течением времени. В частности, опускаются временные детали и выделяется то, что хранится долговременно, то что пользователь видит в любой конкретный момент времени. Это события на временной шкале, формирующие описание системы.
Статический анализ кода в современной Java-разработке
Сегодня я хочу затронуть тему, которая будет полезна как Java-разработчикам, так и начинающим тех- и тимлидам. Я расскажу о том, как добиться высокого качества кода на вашем Java проекте и перестать волноваться о стилях кодирования.
Если вы идёте по пути подготовки развесистых страничек на wiki по стилям кодирования и правилам оформления кода, то это дурно пахнет. Есть другой более надёжный способ, как защитить вашу кодовую базу и добиться полного соблюдения всех принятых стандартов и соглашений. И это, конечно же, статический анализ кода.
Далее я покажу своё видение того, какие инструменты и в какой конфигурации должны применяться на Java проектах, а особенно в микросервисах.
Анатомия идеального технического собеседования от бывшего вице-президента Amazon
Нилу Роузману уже порядком надоело слушать, как компании Кремниевой долины говорят, будто нанимают «только самых лучших и самых способных». Неважно, сколько раз они это повторяют, большинство компаний по-прежнему принимают решения, основываясь на интуиции, дипломе соискателя, его среднем балле, образовании, полученном в Лиге плюща, броских именах прошлых работодателей и даже на баллах SAT. Роузман против такого подхода. Будучи вице-президентом по технологиям в Amazon и Zynga, он провел сотни собеседований и считает, что каждый этап процесса должен быть тщательно проработан, поскольку необходимо тщательно изучить навыки, реальные достижения, соответствие кандидата требованиям корпоративной культуры и его лидерский потенциал.
Information
- Rating
- Does not participate
- Location
- Обнинск, Калужская обл., Россия
- Date of birth
- Registered
- Activity