我想设计具有客户端(可能是 C# gui)和服务器组件(Java、C++、Perl)的非常高可用性(永远不要关闭服务器、推出功能而不重启等)应用程序。
我从(minimize-code-maximize-data.html和Yegge)那里得到了一些建议,我想让大多数逻辑从数据库中动态读取,以便所有配置(包括所有 GUI 配置、文本翻译等、业务规则以及data) 将驻留在服务器上的数据库中,而不是驻留在需要重新启动才能读入可执行内存的代码中。
我希望能够在不重新启动客户端或服务器的情况下自定义应用程序的任何方面,并让应用程序以尽可能短的延迟反映更改(动态类加载等)。
设计这样一个“永不杀死”系统的性能和其他限制是什么?有没有人设法创建这样的应用程序?主要的教训是什么?什么时候这不符合成本效益并且需要更传统的构建、发布、质量保证、几个小时的停机时间方法?