Я пытаюсь создать приложение электронной коммерции ruby on rails, где потенциальные клиенты смогут разместить заказ, а владелец магазина сможет получить заказ в режиме реального времени . Завершенный заказ будет записан в базу данных (на данный момент SQLite), и у владельца магазина будет открыто окно браузера, в котором новые заказы появятся сразу после завершения заказа. (Информация о приложении: я использую платформу рельсов HOBO и планирую разместить приложение в Heroku)
Сейчас я рассматриваю лучшую технологию для реализации этого, так как ожидается, что приложение будет отправлять много пользователей. много заказов:
1) Каждое окно браузера обновляет страницу каждые X минут, непрерывно опрашивая сервер на предмет новых записей (новых заказов). Конечно, это создает большую нагрузку на сервер.
2) Как и выше, но опрашивайте сервер с помощью какой-то инфраструктуры AJAX.
3) Используйте какую-то технологию push-запросов сервера, например асинхронный обмен сообщениями 'comet' , Нашел Juggernaut, единственная проблема в том, что он использует Flash и пользовательские порты, и это может быть проблемой, так как мое приложение должно быть доступно за корпоративными брандмауэрами и NAT.
4) Я также проверяю инфраструктуру node.js, похоже, что он эффективен для такого рода асинхронных сообщений, хотя он не поддерживается в Heroku.
Какой самый эффективный способ реализовать такую функциональность? Может быть, есть другой способ, о котором я не подумал?
Спасибо за ваше время и помощь!