หากฉันมีเซิร์ฟเวอร์สองบล็อกใน Nginx และทั้งคู่ใช้คำจำกัดความอัพสตรีมเดียวกัน ขีด จำกัด max_conns จะทำงานอย่างไรในกรณีนี้
ฉันสันนิษฐานว่าบล็อกเซิร์ฟเวอร์ทั้งสองจะมีขีดจำกัดการเชื่อมต่อสูงสุด 100 ครั้งและ Keepalive 90 ครั้ง โดยรวมแล้วบล็อกเซิร์ฟเวอร์ต่อไปนี้สามารถมีได้ทั้งหมด 200 max_conns?
ตัวอย่างต้นน้ำ {
เซิร์ฟเวอร์ example.com:443 max_conns=100;
Keepalive 90;
}
เซิร์ฟเวอร์ {
ฟัง 1.1.1.1:80;
server_name proxy.site.net;
proxy_pass https://ตัวอย่าง
proxy_bind 1.1.1.1 โปร่งใส;
}
เซิร์ฟเวอร์ {
ฟัง 1.1.1.2:80;
server_name proxy.site.net;
proxy_pass https://ตัวอย่าง
proxy_bind 1.1.1.2 โปร่งใส;
}
ต้นทางของฉันมีข้อจำกัดที่ 100 การเชื่อมต่อพร้อมกันต่อ IP ดังนั้นฉันจึงแบ่งทราฟฟิกโดยใช้ IP ที่แตกต่างกันสำหรับแต่ละบล็อกเซิร์ฟเวอร์ดังนั้นฉันต้องการบรรลุการเชื่อมต่อพร้อมกัน 100 ครั้งต่อบล็อกเซิร์ฟเวอร์ (หรือต่อ IP สาธารณะ) ฉันควรทำอย่างไร?
จุดประสงค์ของการมีสองบล็อกเซิร์ฟเวอร์คือเพื่อให้สามารถจัดการคำขอได้สองเท่า
อัปเดต:
Origin เป็นผู้ให้บริการระบบคลาวด์ซึ่งได้กำหนดข้อจำกัดที่เข้มงวดเกี่ยวกับ "การเชื่อมต่อต่อ IP" เพื่อหลีกเลี่ยงการโอเวอร์โหลด ต้นทางบอกว่าทุกที่อยู่ IP สามารถมีการเชื่อมต่อ HTTP พร้อมกันได้สูงสุด 100 รายการ หาก IP เดียวกันพยายามสร้างการเชื่อมต่อหมายเลข 101 ต้นทางจะเกิดข้อผิดพลาด ดังนั้น ฉันต้องการใช้สอง IP เพื่อสร้างการเชื่อมต่อพร้อมกัน 200 รายการไปยังต้นทางในแต่ละครั้ง โปรดช่วยถ้าคุณรู้ว่าควรเปลี่ยนแปลงอะไรในรหัสของฉันเพื่อให้บรรลุผล â
อัปเดต 2:
ด้านล่างนี้คือรหัสล่าสุดที่ฉันใช้เพื่อให้ได้ 200 คำขอต่อวินาทีโดยใช้ DNS round robin บน IP สาธารณะของเซิร์ฟเวอร์ของฉัน
ฉันมี IP ที่แตกต่างกันสองรายการที่รับฟังในบล็อกเซิร์ฟเวอร์สองบล็อกและชื่ออัพสตรีมสองชื่อที่แตกต่างกันสำหรับบล็อกเซิร์ฟเวอร์เหล่านั้น
ตอนนี้ฉันสันนิษฐานว่าหาก 100 คนใช้ IP แรกใน DNS round-robin และ 100 คนถัดไปใช้ IP ที่สอง ฉันจะสามารถให้บริการ 200 คนพร้อมกันได้ แม้ว่าต้นกำเนิดของฉันจะมีข้อจำกัดที่ 100 การเชื่อมต่อต่อ IP
โปรดแจ้งให้เราทราบว่ารหัสนี้ถูกต้องหรือไม่
ตัวอย่างต้นน้ำ {
เซิร์ฟเวอร์ example.com:443 max_conns=100;
Keepalive 90;
}
ตัวอย่างต้นน้ำ 2 {
เซิร์ฟเวอร์ example.com:443 max_conns=100;
Keepalive 90;
}
เซิร์ฟเวอร์ {
ฟัง 1.1.1.1:80;
server_name proxy.site.net;
proxy_pass https://ตัวอย่าง
proxy_bind 1.1.1.1 โปร่งใส;
}
เซิร์ฟเวอร์ {
ฟัง 1.1.1.2:80;
server_name proxy.site.net;
proxy_pass https://example2
proxy_bind 1.1.1.2 โปร่งใส;
}