2011-08-15 46 views
0

我目前正在使用Flex(Flash Builder 4)并将Web服务连接到Apache PHP Zend AMF服务器以检索数据。Flex AMF离线模式?

这很好,但我想知道哪些选项可用于容错。

我知道我可以设置第二个服务器,当应用程序无法连接到第一个服务器时,它将切换到该服务器。对此的任何想法都会很好,但我也在考虑试着给每台机器一些宽容。

例如,如果他们至少有能力向应用程序输入数据,那将是一个开始。因此,如果他们点击“保存”并且无法访问服务器,则会将其缓存或存储到本地文件,直到服务器备份。尽管缺乏数据查找可能是一个大问题。

也许已经有一些图书馆或我可以看看做这个?

+3

老实说,我的第一个想法是“你真的需要这个吗?”如果有问题的机器,那么用户很可能永远不会到达SWF。负载均衡和数据中心等事情可以帮助解决“服务器故障”风格问题。我不会尝试在代码中处理这种“机器故障”问题。 – JeffryHouser

+0

是的,我倾向于有第二个Apache/PHP /数据库服务器,并设置两者之间的同步和复制。然后,如果'server1'无法访问,我需要做的就是flex连接到'server2'。 –

+0

我不确定你是否理解我的观点。如果你的机器无法访问;你的用户是如何从它加载一个Flex应用程序的? – JeffryHouser

回答

0

到目前为止,它听起来就像我要么一起去:

故障转移解决方案(不知道具体是什么样) - 随着SuperSaiyen建议,我想我需要一个特定的路由器或DNS解决方案来处理。这个想法是设备要么将通常用于server1的流量路由到server2,要么在dns解决方案的情况下,当server1关闭时,它将返回server2的地址进行查找。

我相信另一个解决方案是尝试在Flex代码中连接几次到服务器1。如果服务器关闭,则它会尝试server2。正如Flextras指出的那样,只要应用程序已经加载到用户屏幕上,就可以解决问题。对我而言,情况通常如此。实际上,我甚至可以考虑将它作为AIR应用程序,所以如果server1上的Web服务器不可用,我不必处理初始应用程序负载。否则,如果第一台服务器出现故障(我认为这不是一个好的选择),我仍然必须进行某种类型的DNS故障切换,或者将这些服务器快捷方式分配给两台服务器,并训练它们尝试第二台服务器。

还有其他想法吗?