2012-03-21 2 views
0

Je voudrais développer une application web "Fault Tolerant", s'il vous plaît laissez-moi vous expliquer:Comment implémenter un client Web tolérant aux pannes?

Supposons une application pour un restaurant, à offrir en tant que service (pas d'installation, serveurs, sauvegarde, etc ...) . Le problème est que si Internet tombe en panne, le restaurant s'arrête. Pour résoudre ce problème, j'aimerais que tous les clients du restaurant (serveur, cuisinier, caissier, etc.) aient eu tous les événements récents et continuent de fonctionner jusqu'à ce que l'Internet soit à nouveau disponible. Notez que ce problème n'est pas tant le stockage des événements, mais la distribution. Par exemple, l'événement de commande effectué par le serveur doit être disponible pour le caissier.

J'ai expérimenté avec des caches distribués, incorporés comme applets, mais avec plusieurs limitations.

Voyez-vous un moyen de mettre en œuvre une telle exigence en utilisant uniquement javascript ou des options de conception qui devraient être considérés?

Répondre

2

Vous devez évidemment stocker une certaine quantité de données sur les clients. Jetez un oeil à des techniques comme AppCache, IndexedDB et autres. Je n'ai pas lu cet article particulier, mais cela ressemble à une bonne introduction: http://blogs.msdn.com/b/ie/archive/2011/09/27/building-offline-experiences-with-html5-appcache-and-indexeddb.aspx

+0

Le problème n'est pas tellement le stockage des événements, mais la distribution. Par exemple, l'événement de commande effectué par le serveur doit être disponible pour le caissier. –

+0

Mon idée était que vous gardiez une base de données IndexedDB locale sur chaque client avec tous les événements récents etc, continuellement synchronisés avec le serveur en ligne. Si la connexion Internet est interrompue, tout le monde aura toujours accès à tous les événements récents, mais vous ne pourrez pas en distribuer de nouveaux tant que la connexion Internet ne sera pas rétablie. Mais vous voulez être en mesure de continuer à créer de nouveaux événements et de les distribuer aux différents clients, sans connexion Internet et sans serveur local? –

+1

Je veux que le restaurant continue à fonctionner, quoi qu'il arrive :) Il peut même y avoir un serveur local, mais il doit être démarré automatiquement, sans que le client ait à le savoir. –

Questions connexes