Я использую Nginx в качестве балансировщика нагрузки со следующим конфигом:
http {
upstream backend {
server 127.0.0.1:8010;
server 127.0.0.1:8011;
}
server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}
Итак, у меня есть 2 локальных сервера, которые являются приложениями Flask:
#app1.py
from flask import Flask, jsonify, abort, request, make_response
import time
@app.route("/", methods=['GET'])
def root():
time.sleep(5)
return jsonify({"response": "Hello, world!"})
app.run(debug=False, port=8010) # for app2.py the only diff is port=8011
Когда я делаю 4 вызова одновременно (на разных вкладках) localhost:80
, тогда мне нужно подождать 20 секунд, чтобы увидеть «Привет, мир!» во всех 4 вкладках (вместо 10, как я ожидал, потому что он должен быть распределен на 2 сервера, для каждого это должно занять 10 секунд, но вместо этого он просто последовательно обрабатывает их по очереди). Вы можете объяснить, почему? И как это можно исправить?