SlideShare une entreprise Scribd logo
1  sur  27
Архитектура высоконагруженных проектов. http://2056.ru Андрей Светлов [email_address] asvetlov.blogspot.com
2056.ru ,[object Object]
Походовая MMORPG
Клиент (JavaScript + Flash)
Сервер (Python)
Особенности ,[object Object]
Много одновременных подключенных пользователей
Минимальное время ответа
Масштабируемость
Разумный компромисс между производительностью и надежностью
Продукты ,[object Object]
ZeroMQ
Redis
MySQL
MsgPack
ZeroGW
ProcessBoss
Пользователь Chat GlobalMap Service Components ZeroGW User User Battle Battle Battle
Node2 Node1 ZeroMQ Device FrontNode Battle2 Chat User2 Battle1 User1 User2 Chat Battle2 User1 Battle1 Octopus1 Octopus2 MySQL2 MySQL1 ZeroGW Redis 1 Redis 2
ZeroGW ,[object Object]
Выглядывает наружу
Переправляет все запросы в ZeroMQ соединения
Сообщения в формате json???
Если клиент не поддерживает WebSocket — переключается на Long Polling
Оптимизированный С код
Соединения ZeroGW: output ,[object Object]
Компонент выбирается по префиксу запроса

Contenu connexe

Tendances

«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
it-people
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
 
Михаил Юматов: SaltStack
Михаил Юматов: SaltStackМихаил Юматов: SaltStack
Михаил Юматов: SaltStack
it-people
 
RootConf 2015
RootConf 2015RootConf 2015
RootConf 2015
Evgeny Uskov
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Ontico
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Ontico
 

Tendances (20)

Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
Moscow Exchange Test Automation of a Backup System at TMPA-2014 (Trading Syst...
 
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
«Детские болезни live-чата» Ольга Сентемова, Тинькофф Банк
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
2015.02.06 PostgreSQL в Яндексе: история успеха №2
2015.02.06 PostgreSQL в Яндексе: история успеха №22015.02.06 PostgreSQL в Яндексе: история успеха №2
2015.02.06 PostgreSQL в Яндексе: история успеха №2
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 
Alexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальшеAlexei Vladishev - Zabbix 3.0 что дальше
Alexei Vladishev - Zabbix 3.0 что дальше
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
 
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
 
JavaScript Unit Testing Using Jasmine And Tools
JavaScript Unit Testing Using Jasmine And ToolsJavaScript Unit Testing Using Jasmine And Tools
JavaScript Unit Testing Using Jasmine And Tools
 
Выступление Юрия Насретдинова, Badoo, на High Performance Conference
Выступление Юрия Насретдинова, Badoo, на High Performance ConferenceВыступление Юрия Насретдинова, Badoo, на High Performance Conference
Выступление Юрия Насретдинова, Badoo, на High Performance Conference
 
Михаил Юматов: SaltStack
Михаил Юматов: SaltStackМихаил Юматов: SaltStack
Михаил Юматов: SaltStack
 
обзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторингаобзор архитектуры и подсистем деплоя и мониторинга
обзор архитектуры и подсистем деплоя и мониторинга
 
RootConf 2015
RootConf 2015RootConf 2015
RootConf 2015
 
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
Кластеры баз данных делаем сложные вещи просто / Андрей Тихонов (Avito)
 
Zabbix v2
Zabbix v2Zabbix v2
Zabbix v2
 
Операционные системы 2015, лекция № 8
Операционные системы 2015, лекция № 8Операционные системы 2015, лекция № 8
Операционные системы 2015, лекция № 8
 
Зоопарк python веб-фреймворков
Зоопарк python веб-фреймворковЗоопарк python веб-фреймворков
Зоопарк python веб-фреймворков
 
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
 
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...Автоматизация тестирования клиентской производительности / Николай Лавлинский...
Автоматизация тестирования клиентской производительности / Николай Лавлинский...
 
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
 

Similaire à 2056

Многопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаМногопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типа
Anton Volkov
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Ontico
 
hl++ Rubtsov
hl++ Rubtsovhl++ Rubtsov
hl++ Rubtsov
Ontico
 
Tanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserTanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browser
Anton Volkov
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
qasib
 
Борис Каплуновский, Aviasales.ru
Борис Каплуновский, Aviasales.ruБорис Каплуновский, Aviasales.ru
Борис Каплуновский, Aviasales.ru
Ontico
 
Дмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПОДмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПО
Daria Oreshkina
 

Similaire à 2056 (20)

2056
20562056
2056
 
Многопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типаМногопользовательские браузерные игры нового типа
Многопользовательские браузерные игры нового типа
 
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
hl++ Rubtsov
hl++ Rubtsovhl++ Rubtsov
hl++ Rubtsov
 
игровая логика, проблемы и решения
игровая логика, проблемы и решенияигровая логика, проблемы и решения
игровая логика, проблемы и решения
 
Tanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browserTanki Online — multiplayer 3D-action in browser
Tanki Online — multiplayer 3D-action in browser
 
6 кареев киров
6 кареев киров6 кареев киров
6 кареев киров
 
Robot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатораRobot Framework: универсальный инструмент автоматизатора
Robot Framework: универсальный инструмент автоматизатора
 
Борис Каплуновский, Aviasales.ru
Борис Каплуновский, Aviasales.ruБорис Каплуновский, Aviasales.ru
Борис Каплуновский, Aviasales.ru
 
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейДенис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
 
Дмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПОДмитрий Еманов — Под капотом серверного ПО
Дмитрий Еманов — Под капотом серверного ПО
 
Проблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектовПроблемы и пути их решения при командной разработке проектов
Проблемы и пути их решения при командной разработке проектов
 
презентация.1
презентация.1презентация.1
презентация.1
 
История успеха Яндекс.Почты
История успеха Яндекс.ПочтыИстория успеха Яндекс.Почты
История успеха Яндекс.Почты
 
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
Мониторинг веб-проектов real-time мониторинг и аналитика, поиск ошибок и боев...
 
Yacovlev
YacovlevYacovlev
Yacovlev
 
Desktop app based on node js and html5
Desktop app based on node js and html5Desktop app based on node js and html5
Desktop app based on node js and html5
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 

2056