Structure complexe avec "dossier d'image partagée" dans plusieurs régions et / ou centres de traitement de données

Permettez-moi de vous fournir des détails et de la préhistoire pour comprendre les raisons et tout le problème ici. Bien sûr toute suggestion / Avis sur la structure suivante

Très apprécié

.

En outre, je ne suis pas membre de l'une des sociétés pouvant voir ci-dessous ou de soumettre aux services fournis.

Je suis engagé dans le projet sur le "développement" d'un bon plan pour la société.

Ils ont plus 500 Sites Web utilisant la même base de données (pour elle MySQL), Et ils visent à l'échelle mondiale. Sur tous les sites, il y a des images qui doivent être communes l'une pour l'autre. En d'autres termes, tous les sites Web utilisent les mêmes images. (ou au moins envie)

Par exemple.

website1.com/image.jpg,

website2.com/image.jpg

website1.com/image-de.jpg

website2.com/image-de.jpg

Comme vous le comprenez, les images visent à GEOtarget, Mais les noms sur tous ces sites Web restent les mêmes pour une gestion plus rapide.

Cependant, ils ont mal "conçu" et le délai entre serveurs et contrôle d'image après un certain temps est devenu une catastrophe complète.

Donc, en un mot,

3 Continent avec un serveur et un serveur dédié MySQL pour chaque continent. Un serveur de développeur avec MySQL dans le bureau. De plus, équilibrage de la charge Cloudflare Pour la distribution correcte du trafic sur les régions et les "performances du serveur".

                          Global load balancer 
|
| | |
V V V
Region1 Region2 Region3 "Office"
| | | Sends ONLY
V V V
WebServer1 <-rsync-> WebServer2 <-rsync-> WebServer3 <- DevServer
| | |
V V V
DBMS-MySQL <-rsync-> DBMS-MySQL<-rsync-> DBMS-MySQL <- DBMS

N'oubliez pas que, en fonction du volume de trafic, il est possible d'accueillir le deuxième serveur dans une région. Donc, la structure "locale" va

Global load balancer 
|
V
Region1 -> Local load balancer
|
Server:local-1 <- -> Server:local-2
| |
-> MySQL server <-

Sauvegardes sur chaque continent sur le serveur et dans une instance séparée S3, Et dans le pire des cas, le Virror est la dernière sauvegarde.

Maintenant, imaginez le dossier avec des images - C'est un gros "panier avec des images". Alors comment peut généralement attacher "Panier d'images" À chaque site web?

Tous les serveurs utiliseront (Je pense que ça va aider facilement)

rsync

Tout le monde 15–30 minutes en cas de re-sync pour des fichiers de base tels que "fichiers HTML / CSS etc."

J'ai de grandes frais générales ici?

Existe-t-il une solution différente qui vous permet de "mettre à jour constamment des serveurs"?

Bien sûr, l'un d'entre eux sera le principal et, comme je le crois, le serveur de développeurs principaux du serveur-First-Premier-Major-Major-Major-Major Server sera placé, tels que des panneaux administratifs, etc., après "push" Dev Server sera "presse" ou "rsync" Tous pour les trois serveurs de régions.

Comme vous comprenez, ce sera un problème énorme si je "rsync" dossier / image /. Nous devons parler de 500+ / image / Dossiers aprx. (à l'heure actuelle) par 20 Gb Donc nous avons besoin 500 * 20 Gb = 10.000 GB en outre pour les images .. Ce n'est pas le cas que vous comprenez.

1) L'une des solutions "sales" peut être placée sur un serveur de toutes les images et chaque site Web à l'aide d'une requête HTTP pour obtenir des images correctes. doux

Mauvaise solution

Parce que vous pouvez effectuer DDos Votre propre application en heures avec un trafic élevé.

2) À mon avis, de mon point de vue, le dossier / image / Il doit être dans une instance distincte ou «n'importe quoi» afin qu'il puisse être rapidement utilisé sur chaque serveur, en d'autres termes, sur chaque site Web. Y a-t-il un service qui peut lier 3 Au moins des serveurs Web dans différentes régions? Je n'ai rien trouvé comme ça.

Au moins comme vous le pensez, existe-t-il une solution pour le problème "Partage d'images"?

Il y avait une question avec quelque chose de similaire:
https://serverfault.com/questi ... aring
Mais comme je le vois et comprends, son cas en est un autre.

Mise à jour-clarification

1) Demande (par exemple) /image/foo.png Doit retourner le même fichier, quel que soit le site disponible, et quelle que soit la région.

2) Quelles sont les liaisons géographiques des régions: 3 différents continents. Donc, trois "réseaux privés" différents, si nous parlons de Digital Ocean, ou trois différents VPC, Si on parle de AWS etc.

3) Combien de trafic y a-t-il: la circulation n'est pas liée à la solution. Pensez à une forte augmentation du trafic et des requêtes. Cela n'a aucun sens d'avoir une solution pour un trafic bas et lorsque la circulation double + "Concevez-le" ou essayez de mettre à jour CPU / RAM / STORARE-GB. C'est pourquoi j'offre un équilibrage de la charge "local" pour une région avec une machine "réplique" pour la distribution et le contournement d'une grande quantité de trafic.
Invité:

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