A l'avant se trouvent deux serveurs nginx N1 et N2 utilisant keepalive pour une haute disponibilité
Le backend est un cluster de 4 tomcat T1, T2, T3 et T4 (memcached est utilisé pour résoudre le problème de partage de session)
Il y aura des js/css et d'autres fichiers statiques dans le code, qui sont plus faciles à gérer. Le code source peut être synchronisé entre ces 6 serveurs.
Le système téléchargera un grand nombre de fichiers tels que pdf/doc et devront être convertis au format swf pour un aperçu ultérieur, donc T3 et T4 sont utilisés pour un traitement spécial. Laissez les autres affaires générales aux T1 et T2
Ensuite, voici le problème. Le client veut accéder à un fichier pdf ou swf, et la requête est envoyée à nginx. Elle ne doit pas être interceptée ici, car il n'y a que des fichiers statiques tels que js/css localement, et il n'y en a pas. doc/pdf, utilisez donc l'emplacement proxy_pass pour T3, T4, mais il n'y a que Tomcat sur T3 et T4, ce qui n'est certainement pas efficace pour traiter les fichiers statiques. ce qu'il faut faire?
J'ai deux idées :
Je ne sais pas comment tout le monde l'a résolu ?
Ce problème est-il sur le point de s'installer ? Il devrait y avoir de nombreux scénarios pour cela, et il existe des solutions toutes faites auxquelles vous pouvez vous référer
Le moyen le plus simple devrait être de spécifier un nouveau nom de domaine ou un nouveau nom de sous-domaine pour la ressource doc/pdf, de configurer nginx et de transmettre toutes les demandes pour le nouveau nom de domaine à t3 et t4.
Mais vous avez une question ici : que se passe-t-il si l'utilisateur télécharge un fichier sur t3, puis que nginx transmet la demande à t4 lors du prochain accès au fichier ?
Alors, existe-t-il un mécanisme de synchronisation entre t3 et t4 ?
Il existe plusieurs façons de résoudre ce problème :
1. Utilisez le système de fichiers partagé comme vous l'avez dit, comme samba, et téléchargez les fichiers de t3 et t4 ici
2. Synchronisez manuellement les fichiers entre deux machines. L'avantage est que les données sont équivalentes à une sauvegarde, et les inconvénients ne sont pas mentionnés
. 3. Essayez d'utiliser cdn comme Youpai, afin que même vos problèmes initiaux puissent être résolus
4. . . .