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 ขึ้นมาด้วยคำสั่ง

เท่านี้ระบบของเราก็พร้อมทำงานแล้วครับ :)



Home | Back