Завершив сеанс съемки, фотограф садится за любую свободную рабочую станцию. В зависимости от того, насколько в данный момент занята студия, он вместе с клиентом обычно завершает оформление заказа. Однако посетители часто возвращаются позднее, иногда даже в другой день. Было бы смешно навечно связывать посетителя с одной рабочей станцией – это не только неприемлемо в контексте планирования, но и рискованно. Рабочие станции ломаются!
Итак, все рабочие станции в студии должны быть взаимозаменяемыми, однако взаимозаменяемость создает некоторые проблемы. Объем графики одного сеанса может достигать гигабайта.
Сначала мы рассматривали возможность объединения рабочих станций в одноранговую сеть с распределенной репликацией. В конечном итоге была выбрана более традиционная модель «клиент/сервер».
Сервер оснащается дисками большего объема, чем рабочие станции; диски объединяются в массивы RAID для защиты данных. На сервере работает база данных MySQL, используемая для хранения структурированных данных о посетителях, сеансах и заказах. Впрочем, большая часть дискового пространства выделяется для хранения фотографий.
Так как студии находятся на больших расстояниях, а техническая квалификация работников не гарантирована, мы понимали, что все подробности реализации должны оставаться невидимыми. Работники студий не должны работать с файловыми системами, исследовать причины сбоев или перезапускать задания. И, разумеется, нельзя требовать, чтобы они входили на сервер баз данных! В худшем случае, если сетевой кабель вышел из разъема, после его повторного подключения все должно снова заработать, а система должна автоматически восстановиться после сбоя.
Помня обо всем сказанном, мы взялись за планирование архитектуры системы и приложений.
Related posts: