Мотивом для написания данной статьи послужил тот факт, что на habr.com участилось появление материалов маркетингового характера про Apache Kafka. А также тот факт, что из статей складывается впечатление что пишут их немного далекие от реального использования люди — это конечно же только впечатление, но почему-то в большинстве своем статьи обязательно содержат сравнение Apache Kafka с RabbitMQ, причем не в пользу последнего. Что самое интересное — читая подобные статьи управленцы без технического бэкграунда начинают тратить деньги на внутренние исследования, чтобы ведущие разработчики и технические директора выбрали одно из решений. Так как я очень жадный/домовитый, а также так как я сторонник тезиса "В споре НЕ рождается истина" предлагаю вам ознакомится с другим подходом — почти без сравнения разных брокеров.
Рубрика «RabbitMQ» - 2
Гибриды побеждают или холивары дорого
2021-01-10 в 23:05, admin, рубрики: Apache, C#, devops, docker-compose, java, kafkaconnect, RabbitMQ, высокая производительностьИз жизни с Kubernetes: Как мы выносили СУБД (и не только) из review-окружений в статическое
2020-05-14 в 8:55, admin, рубрики: continuous delivery, devops, helm, helm hooks, kubernetes, mongodb, postgresql, RabbitMQ, Блог компании Флант, системное администрирование
Примечание: эта статья не претендует на статус лучшей практики. В ней описан опыт конкретной реализации инфраструктурной задачи в условиях использования Kubernetes и Helm, который может быть полезен при решении родственных проблем.
Использование review-окружений в CI/CD может быть весьма полезным, причём как для разработчиков, так и для системных инженеров. Давайте для начала синхронизируем общие представления о них:
- Review-окружения могут создаваться из отдельных веток в Git-репозитории, определяемых разработчиками (так называемые feature-ветки).
- Они могут иметь отдельные экземпляры СУБД, обработчиков очередей, кэширующих сервисов и т.п. — в общем, всё для полноценного воспроизведения production-окружения.
- Они позволяют вести параллельную разработку, значительно ускоряя выпуск новых функций в приложении. При этом каждый день могут потребоваться десятки подобных окружений, из-за чего скорость их создания критична.
На пересечении второго и третьего пунктов зачастую и возникают сложности: поскольку инфраструктура бывает очень разной, её компоненты могут деплоиться долгое время. В это затрачиваемое время, например, входит восстановление базы данных из уже подготовленного бэкапа*. Статья — о том, каким увлекательным путем мы однажды отправились для решения такой проблемы.Читать полностью »
RabbitMQ. Часть 1. Introduction. Erlang, AMQP
2020-02-17 в 8:46, admin, рубрики: .net, C#, devops, Erlang/OTP, IIoT, Microservices, RabbitMQ, Анализ и проектирование систем, архитектура по, Системы обмена сообщениямиДобрый день! Хочу поделиться учебником-справочником знаний, которые мне удалось собрать по RabbitMQ и сжать в короткие рекомендации и выводы.
Как мы фрод из избы выносили
2020-02-04 в 7:42, admin, рубрики: elasticsearch, RabbitMQ, Анализ и проектирование систем, Блог компании Ситимобил, проектирование, Системы обмена сообщениямиМеня зовут Никита, я backend-разработчик из команды антифрода в Ситимобил. Сегодня я поделюсь с вами историей о том, как мы выносили наш сервис из монолита в отдельный сервис, как вообще пришли к этому решению и с какими проблемами столкнулись.
Стегоанализ и машинное обучение
2020-02-01 в 4:38, admin, рубрики: catboost, lsb, python, RabbitMQ, информационная безопасность, криптография, машинное обучение, СтеганографияПривет.
Хочу представить вам небольшой проект, который я написал вместо во время сессии.
Суть такова: это классификатор, определяющий наличие стеганографии в изображении. Сразу стоит отметить, что классификатор получился довольно простым: он работает с методом LSB, где заменяется один последний бит 8-битного RGB изображения, и проверялся только на полностью заполненных стегоконтейнерах.
Поиграть с тем, что получилось, можно тут. Примеры картинок (кстати, принимаются только png) есть здесь.
RabbitMQ против Kafka: отказоустойчивость и высокая доступность
2019-11-08 в 7:50, admin, рубрики: big data, devops, isr, ITSumma, RabbitMQ, Rebalanser, zookeeper, алгоритм консенсуса, балансировщик нагрузки, Блог компании ITSumma, брокер сообщений, избыточность, обмен сообщениями, отказоустойчивость, очередь сообщений, перебалансировка, распределенные системы, синхронизированные реплики, Системы обмена сообщениями
В прошлой статье мы рассмотрели кластеризацию RabbitMQ для обеспечения отказоустойчивости и высокой доступности. Теперь глубоко покопаемся в Apache Kafka.
Здесь единицей репликации является раздел (partition). У каждого топика один или несколько разделов. В каждом разделе есть лидер с фолловерами или без них. При создании топика указывается количество разделов и коэффициент репликации. Обычное значение 3, это означает три реплики: один лидер и два фолловера.
Читать полностью »
RabbitMQ против Kafka: отказоустойчивость и высокая доступность в кластерах
2019-10-30 в 5:06, admin, рубрики: big data, ITSumma, RabbitMQ, Блог компании ITSumma, брокер сообщений, высокая производительность, обмен сообщениями, очередь сообщений, распределенные системы, Системы обмена сообщениями
Отказоустойчивость и высокая доступность — большие темы, так что посвятим RabbitMQ и Kafka отдельные статьи. Данная статья о RabbitMQ, а следующая — о Kafka, в сравнении с RabbitMQ. Статья длинная, так что устраивайтесь поудобнее.
Рассмотрим стратегии отказоустойчивости, согласованности и высокой доступности (HA), а также компромиссы, на которые приходится идти в каждой стратегии. RabbitMQ может работать на кластере узлов — и тогда классифицируется как распределенная система. Когда речь заходит о распределенных системах, мы часто говорим о согласованности и доступности.
Эти понятия описывают, как система ведет себя при сбое. Сбой сетевого соединения, сбой сервера, сбой жесткого диска, временная недоступность сервера из-за сборки мусора, потеря пакетов или замедление сетевого соединения. Все это может привести к потере данных или конфликтам. Оказывается, практически невозможно поднять систему, одновременно и полностью непротиворечивую (без потери данных, без расхождения данных), и доступную (будет принимать операции чтения и записи) для всех вариантов сбоя.
Читать полностью »
Обрабатываем заказы из интернет магазина с помощью RabbitMQ и TypeScript
2019-10-03 в 14:13, admin, рубрики: e-commerce, node.js, RabbitMQ, TypeScript, разработка
Всем привет! Популярность интернет коммерции постоянно растет, как и доля информатизации всех смежных с торговлей видов деятельности. Вместе с этим растет и сложность обработки информации. Каждый заказ, сделанный клиентом интернет магазина, порождает за собой большое количество интеграций с различными сервисами. Такими сервисами могут быть сервисы обработки платежей, доставки, системы учета и лояльности. Каждый заказ должен быть оплачен, учтен, собран и доставлен, а также доступен для последующего анализа. Эту, и так не простую ситуацию, усложняет и тот факт, что пользователь интернет магазина не хочет долго и мучительно чего-то ждать при оформлении заказа. Отклик от интернет магазина должен быть быстрым, ведь каждая миллисекунда задержки увеличивает шанс потери клиента, а в последствии и прибыли. В этой статье я хочу рассказать про брокер сообщений RabbitMQ и как с его помощью можно организовать процесс обработки заказов используя Node.js и TypeScript. Добро пожаловать под кат.
Скучный технологический стек интернет-компании из одного человека
2019-09-17 в 17:20, admin, рубрики: Amazon Web Services, Ansible, celery, DataDog, django, elasticsearch, Listen Notes, nginx, postgresql, python3, RabbitMQ, React, redis, slack, uwsgi, звук, поисковые технологии, Разработка веб-сайтов, Серверное администрирование, скука
Поисковая выдача на ListenNotes.com
Listen Notes — это поисковая система и база данных подкастов. Технология на самом деле очень скучная. Никакого ИИ, глубокого обучения или блокчейна. «Если вы должны объявлять о внедрении ИИ, то вы не используете Настоящий ИИ» :)
После прочтения этой статьи вы сможете повторить мой проект или легко сделать нечто подобное. Не придётся нанимать много разработчиков. Помните, когда Instagram привлёк $57,5 млн и отошёл к Facebook за $1 млрд, у них было всего 13 сотрудников — и это не только разработчики. Покупка Instagram произошла в начале 2012-го. Сейчас 2019 год, и сегодня как никогда просто создать что-то значимое с крошечной инженерной командой — даже из одного человека.
Читать полностью »
Java meetup в Райффайзенбанке
2019-08-05 в 11:35, admin, рубрики: java, kotlin, meetup, RabbitMQ, raiffeisenIT, Блог компании Райффайзенбанк, конференции, РайффайзенбанкJava сообщество Райффайзенбанка, приглашает на открытый митап, который пройдет в московском офисе в Нагатино, 8 августа.
Мы знаем, как важно общаться с людьми из других команд и проектов, иметь возможность спросить совета, обсуждать только что появившиеся технологии и поделиться опытом. Именно поэтому мы открываем двери и приглашаем вас к нам в гости.

