Comparez les prix des domaines et des services informatiques des vendeurs du monde entier

Contrôler l'accès aux fichiers entre Service et Web Server

J'ai une application Web et un service Windows, Qui font référence au même ensemble de fichiers. J'utilise un sémaphore nommé pour empêcher l'accès simultané à l'information (Service ou serveur Web demande l'accès au catalogue, l'utilise rapidement, libère Semaphore).

Je veux exécuter cette application dans Windows Azure. Je pense que ce serait bien d'utiliser une machine virtuelle, car je peux alors utiliser un sémaphore nommé pour contrôler l'accès, puis exécuter un serveur Web et un service. Windows sur une machine virtuelle. Le problème est que la machine virtuelle ressemble à
http://msdn.microsoft.com/library/dn197896.aspx
. J'ai besoin d'utiliser beaucoup plus d'espace de stockage que pour les machines virtuelles. Je manquerais également le stockage géographiquement redondant.

Est-il possible Windows Azure Avoir un sémaphore nommé, partagé par Cloud Service et un site Web? J'ai peut-être besoin d'un service séparé qui a un accès exclusif à ces fichiers et interagit avec le service et le site? Il serait séduit de programmer un autre service et de dépenser de l'argent supplémentaire tous les mois. Y a-t-il un moyen meilleur?

Changement (Plus de détails):

La mise à l'échelle doit être nécessaire. Beaucoup de données seront stockées et je crains que, à l'avenir, ils dépasseront la mise à l'échelle de la machine virtuelle.

Ce ne sont pas des fichiers de base de données. Ce sont des fichiers distincts avec un répertoire séparé qui possède de nombreux indices différents. Je crains que le service Windows et le serveur Web tente d'accéder simultanément au même index (Bien que rarement).

Je crois que dans ce cas, le référentiel convient bien.

Un objet blob de location n'est pas approprié. 15 Secondes - Il est trop long d'attendre.

Ce que je pense faire:

Je serai probablement une machine virtuelle sur laquelle il fonctionne comme service Windows, Ce qui précède et un service supplémentaire qui ne fait rien, sauf "gère les verrous" de certains index et fichiers situés dans un grand objet binaire. alors ... Serveur Web ou service Windows Demande de ce service "verrou". Ainsi, les deux applications peuvent travailler directement avec des fichiers et le développement prendra moins de temps.

Changement 2:

Ou peut-être que je pourrais tout simplement placer sur une machine virtuelle, utilisez un sémaphore nommé, puis accédez aux grandes installations de stockage binaires. (Probablement la meilleure option pour le moment)
Invité:

Hannah

Confirmation de:

Cette question est un peu ouverte, car il existe de nombreuses façons de résoudre ce problème. Si vous pensez spécifiquement à propos de Azure:

La présence de services supplémentaires ne signifie pas nécessairement des dépenses supplémentaires d'argent. Vous pouvez exécuter votre service sur une machine virtuelle existante. (Oh). Vous pouvez configurer votre niveau de service à des travaux en série, garantissant qu'aucune demande de deux demandes ne tentera d'accéder aux fichiers en même temps.

Espace relativement limité:



Stockez-vous vos fichiers? Si vous les mettez sur le disque du système d'exploitation, ils ne seront pas évolués en dehors du disque OS (près 127 Gb). Si vous connectez le disque, vous aurez avant 1 Tb, et vous pouvez avoir 2 disque connecté sur le noyau, juste avant 16 Driveurs connectés (16 Gb de stockage connecté).

Si vous stockez des fichiers système de fichiers (soit sur le disque OS ou sur le disque ci-joint), Vous aurez des problèmes de mise à l'échelle au-delà d'une machine virtuelle, sauf si vous n'avez pas de machine virtuelle distincte sur laquelle votre service fonctionne et contrôle le référentiel. Cependant, vous ne pourrez pas accumuler sur une machine virtuelle «Service». Pour Windows Azure Vous devriez vraiment penser à stocker des fichiers dans les objets de bloc du référentiel Azure. Dès que vous le faites, vous aurez la possibilité d'accéder à votre référentiel de n'importe quel nombre de machines virtuelles. (Que voulez-vous dire que vous pouvez accabler votre niveau de service).

Continuation du paragraphe précédent: Je n'ai aucune idée du type de fichiers que vous appelez. Si ce

base de données

Les fichiers, mon idée d'utiliser des objets BLOB ne seront pas pratiques.

Pour un accès monopolisé, vous aurez besoin de votre propre système mutex; dans Azure Pas de conception de sémaphore, machine de couverture / Prestations de service. Tandis que les gouttes ont

Louer

, Je ne pense pas que cela soit efficace pour un script avec un grand nombre de transactions. Cependant: imaginez que vous configuriez certaines demandes, puis les lecteurs de la file d'attente gèrent certaines demandes. Sera-t-il éliminer votre concurrence pour l'objet?

Dernière pensée: Si vous n'utilisez pas Linux, Vous n'avez pas besoin d'utiliser des machines virtuelles. Vous pouvez aussi regarder les services cloud (Rolls Web / Frais généraux), Comme c'est des machines virtuelles Windows Server, qui n'ont pas d'état et ont beaucoup plus de flexibilité lors de la mise à l'échelle.

Pour répondre aux questions, connectez-vous ou registre