1

Je suis en train de concevoir une nouvelle application qui consiste en une base de données SQL-Azure centrale et de nombreux clients distants (potentiellement +2000) [kiosques]. Je dois synchroniser une base de données SQL CE locale simple (10 tables) avec la base de données Azure DB et prévoir que la synchronisation devra avoir lieu au moins une fois par jour. Il se peut qu'il n'y ait pas un grand nombre de transactions à appliquer. des kiosques dans chaque synchronisation, c'est-à-dire quelques insertions, quelques mises à jour (très souvent, aucun changement ne sera nécessaire); à l'heure actuelle, je ne prévois également que ce sera maître> mises à jour client non bidirectionnel. J'ai considéré la synchronisation client - client pour faciliter l 'évolutivité sur le serveur. Malheureusement, mon client a indiqué que cela pourrait ne pas être possible car les kiosques ne disposent que de connexions 3G et ne participent pas à un réseau local. Pour ce faire, je cherche à utiliser le MS Sync Framework qui fonctionne très bien, mais je suis préoccupé par les conflits potentiels et les performances lorsque de nombreux clients peuvent se connecter simultanément à la base de données centrale Azure en même temps. Je peux voir deux solutions possibles à ceci:Sync Framework architecture pour application hors ligne

1) Avoir une file d'attente de travail de côté de serveur qui appelle un service de WCF sur le client qui lancerait la synchronisation du client. Cela me semble un peu dépassé et ajoute un degré de complexité supplémentaire à la solution.

2) Configurez chaque client ou groupe de clients pour synchroniser à une heure différente de la journée - ceci est réalisable mais pourrait devenir un admin. charge.

... ou, est-ce que je pense au problème/le problème n'existe-t-il pas et l'échelle des transactions est-elle gérable?

Merci

Répondre

3

j'ai posté une réponse à votre question dans les forums Sync Fx, mais après les mauvais ici de toute façon:

plutôt que chaque client se connecter à Azure DB directement, je suggère la construction d'un Azure service de synchronisation basé sur L'équipe Sync Fx a un exemple pour cela: http://blogs.msdn.com/b/sync/archive/2010/10/07/windows-azure-sync-service-demo-available-for-download.aspx

Maintenant, en ce qui concerne vos clients de plate-forme Atom/OData/Non-MS, Sync Fx v4 CTP a construit des fonctionnalités autour de OData (mais ne fait pas partie de l'OData lui-même) et a des échantillons pour Silverlight, Windows Phone et autres clients. Malheureusement, la version a été reportée mais les bits CTP seront plutôt libérés en tant qu'échantillons de code (au lieu d'une version de produit).

Une autre option CTP est le OData Référence Caching, vérifier à: http://blogs.msdn.com/b/astoriateam/archive/2011/04/13/reference-data-caching-walkthrough.aspx

Utilisation de l'échantillon Azure Sync Service, vous pouvez adapter facilement l'adapter à un SQL CE - Azure Sync Service - SQL Azure synch. Vous avez juste besoin de dimensionner la taille moyenne de votre synchro et de la durée pour répartir la synchronisation des 2000 clients.

Une autre option que vous pouvez explorer est la synchronisation peer-to-peer.

Si vous avez des kiosques situés et connectés les uns aux autres, vous pouvez synchroniser un kiosque avec Azure et synchroniser les autres kiosques avec ce kiosque.

+0

Un grand merci pour vos réponses. En marquant cela comme la réponse et en référant toutes les parties intéressées à: http://social.msdn.microsoft.com/Forums/en-US/syncdevdiscussions/thread/6526bbd7-2479-4a7d-b7f5-fd6326d92933?prof=required – Sidebp