Home | Back
POUND Reverse-Proxy and Load-Balancer อันแข็งแกร่งและความเร็วเหนือนรก
Monday, 11 March 2013
ในการพัฒนา Web Application ด้วยเทคโนโลยี WSGIServer นั้น โดยปกติมักจะมี Front-end Webserver เพื่อเป็นตัวกระจายโหลด โดยในบทความอื่น ๆ ของผม จะมีการนำ Apache Web Server มาทำเป็นตัวกระจายโหลด ซึ่งตัว Apache นั้นจะเป็น Web Server แบบหนักและมีความสามารถอื่น ๆ มากมาย แต่เราเอามาใช้เพียงเป็นตัวกระจายโหลด จึงเหมือนกับขี่ช้างจับตั๊กแตน ทำให้การรองรับโหลดของระบบเราไม่สูงเท่าที่ควร ผมจึงแนะนำ POUND ซึ่งเป็น Reverse Proxy และ Load Balancer มาทำเป็น Front-end ให้กับ WSGIServer ซึ่งจะทำให้ระบบของเรารองรับโหลดได้ดียิ่งขึ้น โดยการใช้งานใน Ubuntu นั้น มีขั้นตอนดังนี้ครับ
1. ติดตั้ง POUND
2. ปรับแต่งให้เป็น Load Balancer และรองรับ Virtual Host
ขั้นตอนต่อไปเป็นการปรับแต่งให้ POUND นั้นทำงานโดยอัตโนมัติ และปรับแต่งให้ทำงานเป็นตัวกระจายโหลด และรองรับการทำ Virtual Host ไปด้วย โดยเราจะทำการแก้ไขไฟล์ /etc/default/pound โดยแก้ไขข้อความ startup=0 ให้เป็น startup=1 เพื่อให้เมื่อมีการรีบูตเครื่องแล้ว POUND จะทำงานโดยอัตโนมัติ
File : /etc/default/pound
จากนั้นก็แก้ไขไฟล์ /etc/pound/pound.cfg เพื่อทำการปรับแต่งให้เป็นตัวกระจายโหลด โดยสมมุติว่ามี WSGIServer จำนวน 3 ตัว ทำงานเป็น Back End อยู่ที่เครื่อง 127.0.0.1 และรอรับงานที่พอร์ต 8990 8991 และ 8992 โดยให้รองรับ Virtual Host ชื่อ www.data.com เราสามารถดำเนินการได้ดังนี้ครับ
File : /etc/pound/pound.cfg
จากนั้นจึงทำการ start pound ขึ้นมาด้วยคำสั่ง
เท่านี้ระบบของเราก็พร้อมทำงานแล้วครับ :)