English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Non ho lavorato molto tempo fa ho sentito il grande nome di 'bilanciamento del carico', fino ad ora, a causa di meno contatti di lavoro, non ho molte conoscenze. Ma sono molto curioso di questo, quindi ho costruito un caso molto semplice due giorni fa consultando le informazioni, sul mio laptop (non ho tempo durante il lavoro, la sera a casa le condizioni non sono sufficienti, devo accontentarmi del mio laptop, l'importante è comprendere l'idea...).
In termini semplici, il bilanciamento del carico è dovuto al traffico di accesso troppo elevato, che causa un accesso al progetto non fluido, persino un crash, quindi attraverso un metodo di distribuzione per mitigare questa situazione.
Prima di tutto, installare due tomcat, può essere la stessa copiata due volte, o scaricare due versioni diverse di tomcat, io ho scaricato due versioni diverse. L'indirizzo di download: https://tomcat.apache.org/download-80.cgi
(Questa è la versione 8.0, basta trovare due versioni non particolarmente vecchie).
Poi avviare due tomcat, prima di avviarli, cambiare il numero di porta di uno di essi in modo che i due tomcat non si scontrino durante l'avvio, uno è il porto 8080 di default, l'altro è stato cambiato in 9080. Dopo aver configurato, aprire la finestra dei comandi cmd, il mio tomcat è situato nella directory D:\software\apache-tomcat-8.5.24, è possibile avviarlo seguendo i comandi seguenti, l'avvio con successo aprirà un'altra finestra, visualizzando il seguente messaggio:
打开浏览器,输入http://localhost:9080/,出现如下界面即tomcat启动成功。另一个采用同样的步骤即可。
图1:tomcat8 图2:tomcat7
Dopo di che, installare un nginx, ho installato la versione stabile di nginx, indirizzo di download: http://nginx.org/download/nginx-1.12.2.zip, scompattare per utilizzare
Prima di avviare, è necessario configurare il nginx per abilitare la funzione di bilanciamento del carico, aprire la cartella conf, ci è un file nginx.conf, la configurazione è la seguente:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; gzip on;
#以下四行是新添加的,两个IP是两个tomcat的访问地址,weight表示分给该服务器的请求比重,两个都是1,则按照1:1来分配,
upstream netitcast.com{ server 127.0.0.1:8080 weight=1; server 127.0.0.1:9080 weight=2; } server { ascoltare 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main;
# le due righe seguenti sono state modificate, http://netitcast.com e quello aggiunto sopra devono rimanere coerenti
location / { proxy_pass http://netitcast.com; proxy_redirect default; } #error_page 404 /404.html; # reindirizzare le pagine di errore del server al pagina statica /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy gli script PHP a Apache in ascolto su 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # passare gli script PHP al server FastCGI in ascolto su 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # includi fastcgi_params; #} # negare l'accesso ai file .htaccess, se la radice dei documenti di Apache # concorda con uno di nginx # #location ~ /\.ht { # negare tutto; #} } # altro virtual host utilizzando una combinazione di configurazione basata su IP-, nome- e porta- # #server { # ascoltare 8000; # ascoltare somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # server HTTPS # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
Ancora, aprire la finestra cmd, entrare nella directory sopra menzionata, eseguire il comando: start nginx per avviare con successo, quindi inserire l'indirizzo web: http://localhost/index.jsp, accedere continuamente, scoprirai che le immagini 1 e 2 sopra mostrate si mostrano in modo interattivo. Poiché la configurazione weight è distribuita in proporzione 1:2, la proporzione del porto 9080 è maggiore, quindi la probabilità di accedere all'immagine 1 (porta 9080) è maggiore rispetto all'immagine 2 (porta 8080), questa probabilità è rispettivamente due terzi e un terzo.
Certo, questo è solo un esempio semplice, durante lo sviluppo in ambiente di produzione, sicuramente ci saranno molti problemi da risolvere, come 'mantenimento della sessione' ecc., questo lo completerò in seguito. Lo scopo di questo è per farmi un'idea più chiara della bilanciamento del carico, spero che tutti possano fare un sforzo insieme, forza !!
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi proprietari. Il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene il diritto di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente il contenuto sospetto di violazione del copyright.