Я хотел бы разработать приложение с высокой доступностью (никогда не отключать сервер, развертывать функции без перезапуска и т. Д.) С использованием как клиентских (возможно, C # gui), так и серверных компонентов (Java, C ++, Perl).
Я получил несколько советов от ( minimal-code-maximize-data.html и Yegge ), и я хотел бы сделать большую логику динамически читаемой из базы данных, чтобы вся конфигурация (включая все конфигурации графического интерфейса, перевод текста и т. д., бизнес-правила, а также данные) будут находиться на сервере в базе данных, а не в коде, который требует перезапуска для чтения в исполняемую память.
Я бы хотел иметь возможность настраивать любой аспект приложения без перезапуска клиента или сервера, чтобы приложение отражало изменения с максимально короткой задержкой (динамическая загрузка классов и т. Д.).
Каковы производительность и другие ограничения при разработке такой системы, которая никогда не убивает? Кому-нибудь удалось создать такое приложение? Каковы были основные уроки? Когда это не является экономически эффективным, и требуются более традиционные подходы к простоям сборки, выпуска, тестирования, паре часов?