Я занимаюсь разработкой веб-приложения с Zend Framework. Это приложение для продажи билетов в кино. Приложение позволяет пользователям выбрать место, а затем купить билет. (Проблема похожа на классическое бронирование авиабилетов.)
У меня две проблемы.
Проблема 1: Страница, на которой показаны все места, должна обновляться с помощью ajax (место зеленого цвета, если доступно, и красного цвета, если недоступно): каждое место - это div на странице. Например, если ПОЛЬЗОВАТЕЛЬ А просматривает страницу с местами, а другой ПОЛЬЗОВАТЕЛЬ Б покупает билет, соответствующее место должно стать красным для ПОЛЬЗОВАТЕЛЯ А без обновления страницы. Как я могу обновить каждый div? Я хотел бы использовать jquery, я пытался делать json-запрос для каждого div каждую секунду, но это слишком медленно. Есть идеи?
Проблема 2: Как я могу управлять параллелизмом? Если ПОЛЬЗОВАТЕЛЬ А и ПОЛЬЗОВАТЕЛЬ Б одновременно нажимают, чтобы купить один и тот же билет (билет на одно и то же место), что мне делать? Я использую движок InnoDB, но мне нужно управлять транзакцией в соответствующем контроллере?
Большое спасибо!