Содержание
- + Методалогии разработки ПО
-
–
Проектирование систем
- – API
- + UML
- + Интеграции
- + Моделирование данных
- + Представление данных
- BPMN
- C4 model
- Domain Driven Design
- EPC
- IDEF0
- Архитектор
- Архитектура
- Интерфейс
- Карта экосистемы
- Когда стоит выбирать микросервисы
- Контекстная диаграмма
- Ролевая модель
- Проектирование систем
- + Развёртывание
-
+
Разработка
- + Git
- + Linux OS
- + Mac OS
- + Подходы организации кода
- + Языки программирования
- Виды программирования
- Интерпритатор
- Компилятор
- Разработка
-
+
Сеть
- + OSI
- + Защита
- CDN
- ngrok
- Сеть
- + Системный анализ
- + Требования
- + Хранение данных
- + Языки разметки
Описание
RabbitMQ — отличное решение, если вы обрабатываете относительно немного сообщений, они небольшие и вам не важен порядок их доставки.
Программный брокер сообщений на основе стандарта AMQP, написанный на языке Erlang
Компоненты
Mnesia - распределённая СУБД реального времени
Сервер с HTTP и прочими библиотеками
Горизонтальное масштабировние
Оправитель - Puplisher
отправляет сообщение на
Обменники - exchange
отправляют в др обменники и очереди
При получении сообщения - отправляет сообщение отправителям
Получатель - consumers
Поддерживает постоянное TCP соединение и объевляет какую очередь читает
Rebbit пушит сообщения получателям
Получатели отправляют подтверждение успех/ошибка
После получения - сообщение удаляется из очереди
Гарантии доставки
-
Как минимум одна доставка
-
Как максимум однократная доставка
Модель доставки
Проталкивание - кролик сам отправляет сообщения
push
Очередь FIFO
QoS - Можно настроить ограничение на кол-во неподтверждённых сообщений
Чуть быстрее отправляет сообщения кафки
Умный сервер - Тупой клиент
Возможна репликация
Гарантия отправки сообщений последовательна
Сравнение
Только для событий которые происходят сейчас