我目前正在使用Flex (Flash Builder 4),并使web服务连接到Apache PHP Zend AMF服务器来检索数据。
这工作得很好,但我想知道有什么选项可用于容错。
我知道我可能可以设置第二个服务器,当应用程序无法到达第一个服务器时,它将切换到第二个服务器。对此有任何想法都很好,但我也在考虑试着给每台机器一些容忍度。
例如,如果他们至少有能力向应用程序输入数据,那将是一个开始。因此,如果他们点击"保存",它不能到达服务器,它缓存或存储到一个本地文件,直到服务器备份。虽然无法进行数据查找可能是一个大问题。
也许已经有一些库或其他东西可以让我做这个?
到目前为止,听起来我要么选择:
故障转移解决方案(不确定具体是哪种)-正如SuperSaiyen建议的那样,我认为我需要一个特定的路由器或dns解决方案来处理这个问题。这个想法是,设备要么将通常用于server1的流量路由到server2,或者在dns解决方案的情况下,当server1关闭时,它将返回server2的地址进行查找。
我相信另一个解决方案是尝试在flex代码中连接几次服务器1。如果服务器已关闭,则尝试server2。正如Flextras所指出的,只要应用程序已经加载到用户屏幕上,这就解决了问题。对我来说,通常都是这样。事实上,我甚至可能考虑将其作为一个AIR应用程序,这样如果server1上的web服务器不可用,我就不必处理初始应用程序负载。否则,我仍然需要某种dns故障转移,或者给他们两个服务器的快捷方式,并训练他们在第一个服务器关闭时尝试第二个服务器(我认为这不是一个好的选择)。
还有其他想法吗?