Разработка высоконагруженных проектов,Что нового?

Содержание

Слайд 2

Тенденции 2010 года

Облачная инфраструктура;
NoSQL базы данных;
Новые языки, Erlang;
nginx в железе.

Тенденции 2010 года Облачная инфраструктура; NoSQL базы данных; Новые языки, Erlang; nginx в железе.

Слайд 3

Практический пример NoSQL в высоконагруженном проекте

Практический пример NoSQL в высоконагруженном проекте

Слайд 4

Модели данных

Реляционная модель: данные в базе данных представляют собой набор отношений;
Иерархическая модель:

Модели данных Реляционная модель: данные в базе данных представляют собой набор отношений;
база данных состоит из объектов с указанием отношений родитель ⬄ ребенок;
Сетевая модель: база данных со структурой в виде графа;
Объектно-ориентированная модель: база данных, в которой данные представлены в виде моделей объектов.

Слайд 5

Разработка чата

Разработка чата

Слайд 6

Постановка задачи

Около десяти тысяч одновременных подключений;
Доставка сообщения в реальном времени (чат);
Сохранение истории

Постановка задачи Около десяти тысяч одновременных подключений; Доставка сообщения в реальном времени
сообщений (переписка);
Одновременная переписка с несколькими участниками.

Слайд 7

Обычная схема

Обычная схема

Слайд 8

Вопросы к обычной схеме

Вопросы к обычной схеме

Слайд 9

Мгновенность доставки
Как нам сообщать клиенту о том, что пришло сообщение?
Нам нужен

Мгновенность доставки Как нам сообщать клиенту о том, что пришло сообщение? Нам нужен event-driven!
event-driven!

Слайд 10

Event-driven

Нам нужно сообщать в реальном времени клиенту о новых сообщениях!
Мгновенную доставку можно

Event-driven Нам нужно сообщать в реальном времени клиенту о новых сообщениях! Мгновенную
решить некоей имитацией длинных незакрытых соединений (WebSockets, FlashSocket, AJAX Long polling, Iframe).

Слайд 11

Event-driven чат

Каждый новый клиент, входящий в переписку устанавливает соединение с одним из

Event-driven чат Каждый новый клиент, входящий в переписку устанавливает соединение с одним
«быстрых» серверов (phpDaemon или Node.js) и от него же будет получать сообщения.
При отправке на основной сервер нового сообщения, оно записывается в постоянную базу данных (MySQL), а так же в некую «быструю» базу данных (в данном случае MongoDB), где будет храниться только актуальная переписка, например за последние сутки.
Master MongoDB записывает изменения в коллекцию local.oplog.$main для репликации.
«Быстрые сервера» в это время ведут опрос «быстрой» базы на предмет наличия в ней новых сообщений, и, если такие есть, отправляют их тому клиенту, которому они адресованы.

Слайд 12

Event-driven чат

Event-driven чат

Слайд 13

Тестирование скоростей

Тестирование скоростей
Имя файла: Разработка-высоконагруженных-проектов,Что-нового?.pptx
Количество просмотров: 129
Количество скачиваний: 0