如何实现容错Web客户端?

问题描述:

我想开发一个“容错”的网络应用程序,请让我解释一下:如何实现容错Web客户端?

假设一个餐厅的应用程序作为服务提供(没有安装,服务器,备份等) 。

问题是,如果互联网发生故障,餐厅就会停止。 为了解决这个问题,我希望餐厅(服务员,厨房,收银员等)中的所有客户都有最近发生的所有事件,所以请继续操作,直到互联网再次启动。

请注意,问题不是事件的存储,而是分布。例如,服务员发出的订单事件必须提供给收银员。

我一直在尝试使用分布式缓存,这些分布式缓存被嵌入为applet,但有一些限制。

您是否看到一种方法来仅使用javascript或任何应该考虑的设计选项来实现此类需求?

您显然需要在客户端存储一定数量的数据。看看像AppCache,IndexedDB等技术。我还没有读过这篇特别的文章,但它看起来像一个很好的介绍:http://blogs.msdn.com/b/ie/archive/2011/09/27/building-offline-experiences-with-html5-appcache-and-indexeddb.aspx

+0

问题不是事件的存储,而是分布。例如,服务员发出的订单事件必须提供给收银员。 – 2012-03-22 12:23:30

+0

我的想法是,您将保留每个客户端上的本地IndexedDB数据库与所有最近的事件等,不断与在线服务器同步。如果互联网连接断开,每个人仍然可以访问所有最近发生的事件,但在互联网连接重新启动之前,您将无法分配新的连接。但是你希望能够不断创建新的事件并将它们分发给不同的客户端,而不需要连接互联网和本地服务器? – 2012-03-22 12:33:21

+1

我想要餐厅继续运行,不管是什么:)甚至可以有一个本地服务器,但它必须自动启动,而客户甚至不必知道它。 – 2012-03-22 15:41:31