Как стать автором
Обновить

Java meetup в Райффайзенбанке

Время на прочтение1 мин
Количество просмотров3.2K
Java сообщество Райффайзенбанка, приглашает на открытый митап, который пройдет в московском офисе в Нагатино, 8 августа.

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



Всего голосов 25: ↑23 и ↓2+21
Комментарии3

Цифровая трансформация обучения и аттестации полевых сотрудников

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

Наш клиент — это федеральная компания-производитель. Её мерчендайзеры отвечают за наличие товаров в магазинах, представленность на полках, POSM материалы (реклама), знания продавца о продукции и др. Супервайзеры занимаются обучением, оценкой и контролем полевых сотрудников. Для этого есть корпоративные стандарты и четко регламентированный процесс.

Раньше ценная информация о результатах обучения или аттестации фиксировалась только на бумаге. За день супервайзер вместе с мерчендайзером проходил 20 торговых точек и в каждой заполнял сводную бумажную анкету. Затем ее предстояло обработать, чтобы дать человеку обратную связь.



Мы в True Engineering создали технологичный инструмент, который помогает супервайзерам спланировать развитие своей команды, зафиксировать результат и подвести итоги. В этой статье расскажем подробности.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии0

Очереди на очереди: Magento 2 + RabbitMQ

Время на прочтение7 мин
Количество просмотров6.7K

Привет! Меня зовут Павел и я Magento 2 бэкенд-разработчик. Когда-то давно, когда я только начинал знакомство с Magento 2 (для краткости буду называть ее M2), мне понадобилось автоматизировать обработку однотипных событий при разработке одного решения. Тогда я удивился, насколько мало информации на русском языке об интеграции очередей в M2. Время идет, а ситуация не меняется: информации об этом на просторах рунета все так же мало. Раскроем эту тему. Для начала кратко поговорим про очереди: что это такое и зачем они нужны, потом рассмотрим интеграцию M2 с популярным менеджером очередей Rabbit MQ (далее по тексту — RMQ), а также напишем простую реализацию работы с очередями в качестве примера. Погнали!

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Как настроить мультинодовый кластер Airflow с помощью Celery и RabbitMQ

Время на прочтение4 мин
Количество просмотров11K

Что такое Airflow?


Apache Airflow — это продвинутый workflow менеджер и незаменимый инструмент в арсенале современного дата инженера.


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

Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии5

Метеостанция на Banana Pi M64 (Linux, C#, Docker, RabbitMQ, AvaloniaUI)

Время на прочтение37 мин
Количество просмотров12K
Weather station Banana Pi BPI-M64 Linux C# Docker RabbitMQ AvaloniaUI

Статей о создании метеостанции на базе Arduino не счесть. Можно сказать, если статья про метеостанцию, то это про микроконтроллеры Arduino, ESP32 или STM32. Но только не в этот раз. Будем запускать метеостанцию на Banana Pi BPI-M64 под Linux, без использования Arduino-подобных оберток в виде WiringPi, на C# .NET5. Пример метеостанции является демонстрацией встраиваемого решения работы с GPIO, датчиками и вывода пользовательского интерфейса напрямую на LCD. В решении используется: Linux (Armbian) — основная ОС, .NET и C# — платформа для создания прикладного ПО, AvaloniaUI — графической интерфейс с интерактивными графиками и анимацией, Docker — инструмент для развертывания, управления, доставки приложений, RabbitMQ — брокер сообщений для передачи сообщений между контейнерами. Благодаря использованию универсального подхода и технологии Docker, приложение можно запустить не только на Banana Pi BPI-M64, но и на других Banana/Orange/Rock/Nano Pi одноплатных компьютерах, включая Raspberry Pi.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии62

Kafka, RabbitMQ или AWS SNS/SQS: какой брокер выбрать?

Время на прочтение10 мин
Количество просмотров21K

Четкая работа микросервисных приложений в значительной степени зависит от передачи сообщений и асинхронных операций.

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

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

Читать перевод далее
Всего голосов 25: ↑20 и ↓5+15
Комментарии13

Соседняя очередь всегда движется быстрее

Время на прочтение13 мин
Количество просмотров24K

Вы не используете очередь? Вы просто не умеете её готовить. Но прежде чем этому научиться, нужно разобраться, что это вообще такое и где это применяется. Потому что большинству достаточно 10 000 запросов в секунду, а это дает любой брокер. Но если вам нужно больше, придется погрузиться в очереди достаточно глубоко.

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

Читать далее
Всего голосов 53: ↑52 и ↓1+51
Комментарии2

Принимаем на работу брокера для Celery: подбор, аджаст и выкатка

Время на прочтение9 мин
Количество просмотров4.7K

У Яндекса много самописных сервисов для внутренних задач: Яндекс.Формы, Яндекс.Диск, трекер, календарь. Со временем их решили использовать не только внутри компании, но и за ее пределами. Так появилась платформа Яндекс.Коннект.

Большинство сервисов Коннекта построено на Python V3. В качестве web-фреймворка используется Django, реже Flask и Tornado, а новые чаще пишутся на FastAPI. Сервисы, как и базы PostgreSQL, MySQL и MongoDB, живут в облаке. В качестве очереди сообщений почти везде используется Celery с MongoDB в качестве брокера. Он и стал проблемой.

На Russian Python Week 2020 Владимир Колясинский, разработчик бэкенда сервисов платформы Яндекс.Коннект, рассказал, почему они пользовались связкой Celery MongoDB и почему пришлось отказаться от этого брокера. Он сравнил претендентов: Redis, RabbitMQ и YMQ, с их плюсами и минусами. Подробно разобрал процесс переезда на нового брокера, анализ его состояния и возможные проблемы. И у него получилась пошаговая инструкция, которая пригодится при подборе и настройке брокера. А для любителей разбираться самостоятельно под катом есть расшифровка доклада с конференции.

Читать далее
Всего голосов 15: ↑11 и ↓4+7
Комментарии1

RabbitMQ: Введение в AMQP

Время на прочтение2 мин
Количество просмотров57K
Построение больших и сложных систем всегда связано с решением проблем обмена данными между различными их узлами. Дополнительные трудности вносят такие факторы, как требования к отказоустойчивости, географическое разнесение подсистем, наличие узлов, взаимодействующих сразу с несколькими другими. Не всегда удобно использовать пресловутую систему клиент-сервер, да и архитектура точка-точка может оказаться не самым подходящим представлением связей.

Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии15

PHP & AMQP (Продолжение) Инсталляция php-rabbit

Время на прочтение2 мин
Количество просмотров1.7K
В продолжении статьи «AMQP теперь и в РНР»
кому интересно, какие камни ожидают при инсталляции php-rabbit
Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии2

Новые идеи по АПИ RabbitMQ AMQP для PHP

Время на прочтение2 мин
Количество просмотров2.8K
Недавно опубликовал разработанное ранее PHP API для RabbitMQ «AMQP теперь и для РНР»

При обсуждении было предложено сделать PHP API более объектной моделью,
более близкой к модели, предложенной в Протоколе AMQP.

Код немного усложнится, но объектная модель будет более красивой,

Прежде чем перейти к кодированию, представляю на обсуждение новое API
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии3

AMQP-PHP чат

Время на прочтение4 мин
Количество просмотров9.4K
Вот, дошел до первого практического воплощения моих первых двух статей. Далее будут изложены только идеи… Идеи уже воплощенные и идеи, которые воплощаются…

В отличие от других протоколов передачи сообщений (XMPP STOMP или Memcache (MemcacheQ)) AMQP обладает большей гибкостью.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии19

AMQP теперь и в PHP

Время на прочтение3 мин
Количество просмотров12K
типа Введение
Протокол AMQP хорошо был описан в статьях AMQP по русски, RabbitMQ: Введение в AMQP AMQP — практика использования и мне не хотелось бы повторяться.

AMQP используется в серверах очередей: ZeroMQ, ActiveMQ, RabbitMQ.

Преимущество RabbitMQ перед прочим свободным ПО:
— более полно представлен протокол,
— поддерживает кластер,
— реализован как многопоточный сервер, высокая производительность

Широкое распространение AMQP в WEB разработках разработках сдерживается двумя причинами: отсутствием необходимых навыков (практики) его использования и малой клиентской поддержкой. В основном есть клиенты на языках с, java, python, с#. Большая популярность РНР в WEB разработках жалала бы видеть и свой AMQP-клиент.
Читать дальше →
Всего голосов 19: ↑12 и ↓7+5
Комментарии15

Alice — REST Мониторинг RabbitMQ

Время на прочтение2 мин
Количество просмотров4.4K
Собственно столкнулся с проблемой, что при использовании RabbitMQ необходимо мониторить сервер. Системную утилиту rabbitmqctl можно запускать из командной строки, но запустить ее из приложения не получилось. Что-то связанное с окружением эрланга.

После небольшого гугления и общения в целевых форумал получил заветную ссылку

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

далее кр описание…
Читать дальше →
Всего голосов 5: ↑4 и ↓1+3
Комментарии0

PHP-AMQP Что нового у Друзей?

Время на прочтение4 мин
Количество просмотров6.9K
При построении социальной сети по типу шардинга встает проблема обмена данными между шардами. Традиционная репликация в данном случае не подходит по разным причинам. Тема шардинга — это отельная большая тема и не является предметом данной статьи.
В данной архитектуре для реализации «ленты Друзей» или «Новостной ленты» лучше использовать сервер очередей используя систему: Подписка-Уведомление. В качестве брокера обмена предлагается использовать сервер очередей RabbitMQ, реализующий протокол AMQP, который был выбран по причине хорошей масштабируемости. Серверная часть реализована на PHP, используя расширение php-rabbit (описание АПИ).
Читать дальше →
Всего голосов 29: ↑22 и ↓7+15
Комментарии62

PHP-AMQP версия 2

Время на прочтение4 мин
Количество просмотров9.9K
В статье Новые идеи по АПИ RabbitMQ AMQP для PHP был опубликован набросок по PHP-AMQP API

В продолжении ранее опубликованных идей представляю их реализацию, которая более ООПешнее первой версии.
Читать дальше →
Всего голосов 8: ↑5 и ↓3+2
Комментарии6

AMQP — отладка приложений

Время на прочтение2 мин
Количество просмотров5.3K
Рзработка сложных систем обмена сообщениями по протоколу AMQP приходится не только отлаживать код, но и разбираться в структуре и роутинге сообщений.
Иногда трудно понять причину того или иного зависания или отсутствия сообщения. Однако, разработчиками RabbitMQ включен в составе пакета rabbitmq-java-client есть класс Tracer,
который позволяет в консольном режиме просматривать информацию об обмене.

Читать дальше →
Всего голосов 3: ↑2 и ↓1+1
Комментарии4

AMQP-REST

Время на прочтение2 мин
Количество просмотров6.7K
про AMQP говорили много. Очередная разработка, ориентированная на AJAX.
Возможности:
  • читать из очереди одно сообщение
  • читать из очереди все сообщения
  • узнать длинну очереди
  • публиковать сообщение в обмен

Данные возвращаются в JSON.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+4
Комментарии26

DEVCONF::HighLoad('on') — приглашаем докладчиков — 17мая Москва

Время на прочтение1 мин
Количество просмотров1.4K
image

Приглашаем докладчиков на DEVCONF 2010 — рассказать о высоких нагрузках
http://devconf.ru/offers

Поданные заявки на доклады и мастер-классы:

— Основы построения масштабируемых высоконагруженных веб-проектов

— Разработка высоконагруженных приложений с использованием БД PostgreSQL

— Классификация и методологии использования систем обработки и хранения данных совместно с PHP в масштабируемых веб-проектах.

— MariaDB release 5.1; What is it and what to expect from it. — от автора MySQL

Опыт использования noSQL (redis, MongoDb,Sedna, memcacheq ,RabbitMq)

DevConf — профессиональная конференция, посвященная ведущим технологиям программирования и вебразработки.
Участникам DevConf предоставляется уникальная возможность — получить доступ сразу ко всем лидирующим технологиям вебразработки, послушав доклады от основателей этих технологий — приехавших в Москву со всего мира.
Всего голосов 29: ↑22 и ↓7+15
Комментарии5