SlideShare a Scribd company logo
1 of 15
Download to read offline
ОЧЕРЕДИ СООБЩЕНИЙ
В РАСПРЕДЕЛЁННЫХ СИСТЕМАХ
МАКСИМ МЕЛЬНИКОВ (MAX_POSEDON)
КТО Я
Wargaming.net
Order of War
Order of War: Challenge
World of Tanks developer
Linux Mobile hobbyist
Openmoko
systemd
telepathy
Gentoo
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
ОЧЕРЕДИ СООБЩЕНИЙ
Что это такое?
Это архитектура и ПО промежуточного уровня, которое занимается сбором,
хранением и маршрутизацией (распределением) сообщений между компонентами.
Зачем?
Организация очереди сообщений помогает раз-балансировать нагрузку между
различными узлами сети, избавиться от единой точки отказа (SPOF), выполнять
бизнес-логику приложения асинхронно, повысить скорость ответа системы и
многое другое.
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
Apache ActiveMQ
Реализован на Java
Полностью реализует Java Message Service 1.1 (JMS)
"Enterprise Features": кластеризация, журнал операций, ...
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
ZeroMQ
Реализован на C++
Работает без сервера
Низкоуровневое API
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
PgQ
Реализован на C/SQL как расширение к PostgreSQL
Тесная интеграция с базой данных (транзакции)
Skype
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
AMQP
AMQP
Advanced Message Queueing Protocol
Apache Qpid
Реализация на C++
RedHat
RabbitMQ server
Реализация на Erlang
VMWare
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
ТЕРМИНОЛОГИЯ
Сообщение (message)
Точка обмена (exchange)
Очередь (queue)
Ключ маршрутизации (routing key)
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
Hello World
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
Work queues
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
Publish/Subscribe
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
Routing
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
Topics
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
RPC
Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ
Максим Мельников
mailto:m_melnikau@wargaming.net
https://plus.google.com/114669104565190507739/
https://twitter.com/max_posedon
http://wargaming.com
http://www.rabbitmq.com/getstarted.html
http://www.slideshare.net/max_posedon/ss-20478651
https://github.com/max-posedon/talk-mq-distributed

More Related Content

Viewers also liked

DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...
DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...
DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...it-people
 
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)ZFConf Conference
 
Асинхронная обработка данных: RabbitMQ, Comet
Асинхронная обработка данных: RabbitMQ, CometАсинхронная обработка данных: RabbitMQ, Comet
Асинхронная обработка данных: RabbitMQ, CometАндрей Федоровский
 
презентация по очередям
презентация по очередямпрезентация по очередям
презентация по очередямCyrill Abramov
 
Hadoop -> Cascading -> Cascalog
Hadoop -> Cascading -> CascalogHadoop -> Cascading -> Cascalog
Hadoop -> Cascading -> CascalogAndrew Panfilov
 
BigIntegrate - разрушение мифов по поводу ETL на Hadoop
BigIntegrate - разрушение мифов по поводу ETL на HadoopBigIntegrate - разрушение мифов по поводу ETL на Hadoop
BigIntegrate - разрушение мифов по поводу ETL на HadoopAndrey Orlov
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Ontico
 
Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...
Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...
Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...Ontico
 
Multi tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafkaMulti tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafkaTodd Palino
 
Scaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief HistoryScaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief HistoryJosh Clemm
 

Viewers also liked (11)

DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...
DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...
DUMP-2013 Наука и жизнь - Использование Hadoop в машинном обучении - Созыкин ...
 
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
ZFConf 2010: Using Message Queues in Day-to-Day Projects (Zend_Queue)
 
Асинхронная обработка данных: RabbitMQ, Comet
Асинхронная обработка данных: RabbitMQ, CometАсинхронная обработка данных: RabbitMQ, Comet
Асинхронная обработка данных: RabbitMQ, Comet
 
презентация по очередям
презентация по очередямпрезентация по очередям
презентация по очередям
 
Hadoop -> Cascading -> Cascalog
Hadoop -> Cascading -> CascalogHadoop -> Cascading -> Cascalog
Hadoop -> Cascading -> Cascalog
 
Kafka for Scale
Kafka for ScaleKafka for Scale
Kafka for Scale
 
BigIntegrate - разрушение мифов по поводу ETL на Hadoop
BigIntegrate - разрушение мифов по поводу ETL на HadoopBigIntegrate - разрушение мифов по поводу ETL на Hadoop
BigIntegrate - разрушение мифов по поводу ETL на Hadoop
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
 
Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...
Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...
Использование асинхронной очереди сообщений в высоконагруженном проекте / Анд...
 
Multi tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafkaMulti tier, multi-tenant, multi-problem kafka
Multi tier, multi-tenant, multi-problem kafka
 
Scaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief HistoryScaling LinkedIn - A Brief History
Scaling LinkedIn - A Brief History
 

Similar to Очереди Сообщений в Распределённых Системах

Security of Information and Communication Systems
Security of Information and Communication SystemsSecurity of Information and Communication Systems
Security of Information and Communication SystemsSSA KPI
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6Dima Dzuba
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
ВиртуалтредингCEE-SEC(R)
 
Cisco Content Security FAQ.
Cisco Content Security FAQ.Cisco Content Security FAQ.
Cisco Content Security FAQ.Cisco Russia
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологииUnguryan Vitaliy
 
компьютерные сети
компьютерные сетикомпьютерные сети
компьютерные сетиAlexis Jobes
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Mikhail Kurnosov
 
DevCon School: Построение корпоративных высоконагруженных инфраструктур в Azure
DevCon School: Построение корпоративных высоконагруженных инфраструктур в AzureDevCon School: Построение корпоративных высоконагруженных инфраструктур в Azure
DevCon School: Построение корпоративных высоконагруженных инфраструктур в AzureDzmitry Durasau
 
Spread Zaytsev3
Spread Zaytsev3Spread Zaytsev3
Spread Zaytsev3Ontico
 
Функциональные сети на основе библиотеки SynapseGrid
Функциональные сети на основе библиотеки SynapseGridФункциональные сети на основе библиотеки SynapseGrid
Функциональные сети на основе библиотеки SynapseGridАрсений Жижелев
 
Понятие ОС
Понятие ОСПонятие ОС
Понятие ОСIvaNTour
 
стэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризмстэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризмSergei Seleznev
 
26
2626
26JIuc
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Mikhail Kurnosov
 

Similar to Очереди Сообщений в Распределённых Системах (20)

Security of Information and Communication Systems
Security of Information and Communication SystemsSecurity of Information and Communication Systems
Security of Information and Communication Systems
 
МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6МАИ, Сети ЭВМ, Лекция №6
МАИ, Сети ЭВМ, Лекция №6
 
Виртуалтрединг
ВиртуалтредингВиртуалтрединг
Виртуалтрединг
 
GreenHat и TIBCO EMS
GreenHat и TIBCO EMSGreenHat и TIBCO EMS
GreenHat и TIBCO EMS
 
Cisco Content Security FAQ.
Cisco Content Security FAQ.Cisco Content Security FAQ.
Cisco Content Security FAQ.
 
Маршрутизатор SMS2SERVE (SMS на службе)
Маршрутизатор SMS2SERVE (SMS на службе)Маршрутизатор SMS2SERVE (SMS на службе)
Маршрутизатор SMS2SERVE (SMS на службе)
 
Введение в сетевые технологии
Введение в сетевые технологииВведение в сетевые технологии
Введение в сетевые технологии
 
компьютерные сети
компьютерные сетикомпьютерные сети
компьютерные сети
 
IBM Proventia IPS
IBM Proventia IPSIBM Proventia IPS
IBM Proventia IPS
 
DATA CLUSTER
DATA CLUSTERDATA CLUSTER
DATA CLUSTER
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
DevCon School: Построение корпоративных высоконагруженных инфраструктур в Azure
DevCon School: Построение корпоративных высоконагруженных инфраструктур в AzureDevCon School: Построение корпоративных высоконагруженных инфраструктур в Azure
DevCon School: Построение корпоративных высоконагруженных инфраструктур в Azure
 
Декомпозиция
ДекомпозицияДекомпозиция
Декомпозиция
 
Spread Zaytsev3
Spread Zaytsev3Spread Zaytsev3
Spread Zaytsev3
 
лекция 1
лекция 1лекция 1
лекция 1
 
Функциональные сети на основе библиотеки SynapseGrid
Функциональные сети на основе библиотеки SynapseGridФункциональные сети на основе библиотеки SynapseGrid
Функциональные сети на основе библиотеки SynapseGrid
 
Понятие ОС
Понятие ОСПонятие ОС
Понятие ОС
 
стэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризмстэн шнайдер Датацентризм и месседжсентризм
стэн шнайдер Датацентризм и месседжсентризм
 
26
2626
26
 
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
Лекция 3. Векторизация кода (Code vectorization: SSE, AVX)
 

More from Maksim Melnikau

World of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайнWorld of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайнMaksim Melnikau
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNMaksim Melnikau
 
Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленкахMaksim Melnikau
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, NovemberMaksim Melnikau
 
World of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиWorld of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиMaksim Melnikau
 
World of tanks: высокие нагрузки
World of tanks: высокие нагрузкиWorld of tanks: высокие нагрузки
World of tanks: высокие нагрузкиMaksim Melnikau
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, SeptemberMaksim Melnikau
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, AugustMaksim Melnikau
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideMaksim Melnikau
 
Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в BeamerMaksim Melnikau
 
Wargaming.net and Open Source Software
Wargaming.net and Open Source SoftwareWargaming.net and Open Source Software
Wargaming.net and Open Source SoftwareMaksim Melnikau
 
World of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCUWorld of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCUMaksim Melnikau
 

More from Maksim Melnikau (20)

World of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайнWorld of Tanks: один миллион игроков онлайн
World of Tanks: один миллион игроков онлайн
 
IPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPNIPv6 at Home: NAT64, DNS64, OpenVPN
IPv6 at Home: NAT64, DNS64, OpenVPN
 
FOSDEM 2014 Overview
FOSDEM 2014 OverviewFOSDEM 2014 Overview
FOSDEM 2014 Overview
 
FOSDEM 2014
FOSDEM 2014FOSDEM 2014
FOSDEM 2014
 
Zero downtime upgrade на коленках
Zero downtime upgrade на коленкахZero downtime upgrade на коленках
Zero downtime upgrade на коленках
 
Telepathy Skykit
Telepathy SkykitTelepathy Skykit
Telepathy Skykit
 
Ubuntu touch-install
Ubuntu touch-installUbuntu touch-install
Ubuntu touch-install
 
Python meetup, Minsk, November
Python meetup, Minsk, NovemberPython meetup, Minsk, November
Python meetup, Minsk, November
 
World of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработкиWorld of Tanks: несколько идей из опыта разработки
World of Tanks: несколько идей из опыта разработки
 
World of tanks: высокие нагрузки
World of tanks: высокие нагрузкиWorld of tanks: высокие нагрузки
World of tanks: высокие нагрузки
 
LinuxCon Europe 2013
LinuxCon Europe 2013LinuxCon Europe 2013
LinuxCon Europe 2013
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 
Python meetup, Minsk, September
Python meetup, Minsk, SeptemberPython meetup, Minsk, September
Python meetup, Minsk, September
 
Wargaming web
Wargaming webWargaming web
Wargaming web
 
Wayland state in Gentoo
Wayland state in GentooWayland state in Gentoo
Wayland state in Gentoo
 
Python meetup, Minsk, August
Python meetup, Minsk, AugustPython meetup, Minsk, August
Python meetup, Minsk, August
 
World of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source InsideWorld of Tanks: Linux and Open Source Inside
World of Tanks: Linux and Open Source Inside
 
Корпоративная презентация в Beamer
Корпоративная презентация в BeamerКорпоративная презентация в Beamer
Корпоративная презентация в Beamer
 
Wargaming.net and Open Source Software
Wargaming.net and Open Source SoftwareWargaming.net and Open Source Software
Wargaming.net and Open Source Software
 
World of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCUWorld of Tanks: на пути к 1M CCU
World of Tanks: на пути к 1M CCU
 

Очереди Сообщений в Распределённых Системах

  • 1. ОЧЕРЕДИ СООБЩЕНИЙ В РАСПРЕДЕЛЁННЫХ СИСТЕМАХ МАКСИМ МЕЛЬНИКОВ (MAX_POSEDON)
  • 2. КТО Я Wargaming.net Order of War Order of War: Challenge World of Tanks developer Linux Mobile hobbyist Openmoko systemd telepathy Gentoo Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 3. ОЧЕРЕДИ СООБЩЕНИЙ Что это такое? Это архитектура и ПО промежуточного уровня, которое занимается сбором, хранением и маршрутизацией (распределением) сообщений между компонентами. Зачем? Организация очереди сообщений помогает раз-балансировать нагрузку между различными узлами сети, избавиться от единой точки отказа (SPOF), выполнять бизнес-логику приложения асинхронно, повысить скорость ответа системы и многое другое. Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 4. Apache ActiveMQ Реализован на Java Полностью реализует Java Message Service 1.1 (JMS) "Enterprise Features": кластеризация, журнал операций, ... Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 5. ZeroMQ Реализован на C++ Работает без сервера Низкоуровневое API Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 6. PgQ Реализован на C/SQL как расширение к PostgreSQL Тесная интеграция с базой данных (транзакции) Skype Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 7. AMQP AMQP Advanced Message Queueing Protocol Apache Qpid Реализация на C++ RedHat RabbitMQ server Реализация на Erlang VMWare Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 8. ТЕРМИНОЛОГИЯ Сообщение (message) Точка обмена (exchange) Очередь (queue) Ключ маршрутизации (routing key) Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 9. Hello World Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 10. Work queues Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 11. Publish/Subscribe Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 12. Routing Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 13. Topics Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 14. RPC Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)
  • 15. СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ Максим Мельников mailto:m_melnikau@wargaming.net https://plus.google.com/114669104565190507739/ https://twitter.com/max_posedon http://wargaming.com http://www.rabbitmq.com/getstarted.html http://www.slideshare.net/max_posedon/ss-20478651 https://github.com/max-posedon/talk-mq-distributed