Создание отказоустойчивого -мягкого веб-приложения реального времени -с помощью Erlang/OTP

Я хотел бы создать отказоустойчивое -устойчивое веб-приложение в реальном -времени для магазина доставки пиццы. Это должно помочь пиццерии принимать телефонные звонки от клиентов,размещайте их как заказы в системе (через веб-клиент CRM )и помогайте диспетчерам назначать курьеров для заказов.

В этих целях нет ничего необычного, но хотелось бы сделать сервис доступным 24/7, т.е. сделать его отказоустойчивым -. Кроме того, я хотел бы, чтобы он работал очень быстро и был очень отзывчивым.

Ниже приведен очень простой вид архитектуры для такого приложения.

pizza delivery shop orders system

Проблема в том, что я не знаю, как использовать все преимущества Erlang/OTP, чтобы сделать приложение очень отзывчивым и отказоустойчивым.

Вот мои вопросы:

  1. Какие системные элементы следует реплицировать, чтобы обеспечить отказоустойчивость -и как это сделать? Я знаю, что могу хранить статус каждой машины (, координаты, назначенные заказы и т. д. )в реплицированной базе данных Mnesia. Это правильный путь?
  2. Какие службы хранения данных -должны быть обычными SQL -на основе (, например. на основе босса _дб)и что нужно сделать на Mnesia, чтобы обеспечить очень быстрый ответ? Можно ли использовать обычную базу данных SQL для хранения записей и истории клиентов в таком отказоустойчивом -и быстро -быстродействующем приложении?
  3. Должен ли я пытаться хранить все данные для всех клиентов (услуг, состояния транспортных средств и т. д. )в ОЗУ, чтобы сделать приложение очень -отзывчивым?
  4. Должен ли я хранить постоянные данные о транспортном средстве (идентификатор, вместимость и т. д. )в обычной базе данных SQL и хранить данные о реальном -времени (координаты, назначенные заказы, заказы в багажнике и т. д. )в базе данных Mnesia, чтобы сделать приложение более реальным -реагирующим на время?

7
задан skanatek 3 August 2012 в 06:40
поделиться