Le contenu de cet article est : Qu'est-ce qu'un cluster Tomcat ? Introduction au cluster Tomcat. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.
Qu'est-ce qu'un cluster Tomcat ?
Utilisez nginx pour décharger les requêtes et allouer les requêtes à différents Tomcats pour traitement, réduisant ainsi la charge de chaque Tomcat et améliorant la vitesse de réponse du serveur.
Objectif
Pour obtenir un cluster Tomcat d'équilibrage de charge hautes performances.
Outils
nginx-1.13.10
apache-tomcat-7.0.81
Étapes de mise en œuvre
1. Téléchargez nginx.
2. Décompressez deux tomcats et nommez-les respectivement apache-tomcat-7.0.81-1 et apache-tomcat-7.0.81-2.
3. Modifiez les deux ports de démarrage Tomcat en 8080 et 8181 respectivement.
4. Modifiez les deux pages index.jsp par défaut de Tomcat pour distinguer les différents Tomcats.
5. Démarrez deux matous en même temps et accédez au test.
6. Configurez nginx et ouvrez nginx-1.13.10/conf/nginx.conf.
Configurez comme suit :
worker_processes 1; #工作进程的个数,一般与计算机的cpu核数一致 events { worker_connections 1024; #单个进程最大连接数(最大连接数=连接数*进程数) } http { include mime.types; #文件扩展名与文件类型映射表 default_type application/octet-stream; #默认文件类型 sendfile on; #开启高效文件传输模式,普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off。 keepalive_timeout 65; #长连接超时时间,单位是秒 gzip on; #启用Gizp压缩 #tomcat集群 upstream myapp { #tomcat集群名称 server localhost:8080; #tomcat1配置 server localhost:8181; #tomcat2配置 } #nginx的配置 server { listen 9090; #监听端口,默认80 server_name localhost; #当前nginx域名 location / { proxy_pass http://myapp; proxy_redirect default; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
Configuration du noyau :
Commande 7.dos pour démarrer nginx.
8. Pour tester, visitez http://localhost:9090.
Jusqu'à présent, nous avons implémenté un cluster Tomcat à charge équilibrée en utilisant nginx.
Stratégie d'équilibrage de charge nginx :
1. Polling (par défaut)
Chaque requête est affectée à un serveur backend différent, une par une, dans l'ordre chronologique. , si le serveur backend tombe en panne, il peut être automatiquement éliminé.
upstream backserver { server 192.168.0.14; server 192.168.0.15; }
2. Spécifiez le poids
Spécifiez la probabilité d'interrogation. Le poids est proportionnel au taux d'accès et est utilisé lorsque les performances du serveur back-end sont inégales.
upstream backserver { server 192.168.0.14 weight=10; server 192.168.0.15 weight=10; }
3. Liaison IP ip_hash
Chaque requête est allouée en fonction du résultat de hachage de l'IP accédée, afin que chaque visiteur ait un accès fixe à un serveur back-end, qui peut résoudre le problème de la session.
upstream backserver { ip_hash; server 192.168.0.14:88; server 192.168.0.15:80; }
4. équitable (tiers)
Attribuez les demandes en fonction du temps de réponse du serveur backend, et celles avec des temps de réponse courts seront attribuées en premier.
upstream backserver { server server1; server server2; fair; }
5. url_hash (tiers)
Distribuez les requêtes en fonction du résultat de hachage de l'URL consultée, afin que chaque URL soit dirigée vers le même serveur back-end. le serveur back-end est mis en cache Plus efficace.
upstream backserver { server squid1:3128; server squid2:3128; hash $request_uri; hash_method crc32; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!