Я имею это в виду:базы данных для резервирования с помощью бесплатной базы данных и Java с веб-приложения Spring & Hibernate
На каждый сервер (они все настроены одинаково)
- Бесплатная база данных, например MySQL или PostgreSQL.
- Tomcat 6.x для хостинга сервлет на основе Java-приложения
- Hibernate 3.x как ОРМ инструмент
- Spring 2.5 для бизнес-слоя
- Wicket 1.3.2 для представления слоя
Я устанавливаю балансировщик нагрузки перед серверами и смену балансировки нагрузки в случае, если мой основной балансировщик нагрузки опускается.
Я использую Terracotta, чтобы информация о сеансе была реплицирована между серверами. Если сервер идет вниз, пользователь должен иметь возможность продолжить работу на другом сервере, в идеале, как будто ничего не произошло. Что нужно «решить» (поскольку я на самом деле не тестировал это и, например, не знаю, что я должен использовать в качестве балансировки нагрузки), необходима репликация базы данных.
Если пользователь взаимодействует с приложением и изменениями базы данных, это изменение должно быть реплицировано на серверы баз данных на других серверных машинах. Как мне это сделать? Должен ли я использовать MySQL PostgreSQL или что-то еще (что идеально бесплатное, поскольку у нас ограниченный бюджет)? Остальные вещи звучат разумно?
Уточнение: я собираюсь получить высокую доступность в первую очередь, и я хочу иметь возможность добавлять серверы и использовать их одновременно, чтобы получить высокую масштабируемость.
Хехе, заинтересованных в этом. Я рассматриваю почти ту же арку (без Hibernate/Wicket и Terracotta). PostgreSQL + pgpool, кажется, мой лучший выбор, мне нужно запустить некоторые тесты ... – alex