ต่อจาก Juju #05 – วิธีกระจายงานไปยัง MySQL แบบ Master-Master เมื่อสร้าง MySQL แบบ Master-Master Replication ได้แล้ว ก็มาเชื่อมกับ HAProxy เพื่อให้ Application ที่เขียน มองเห็นทั้งระบบเป็นชิ้นเดียว IP Address ของระบบต่างๆเป็นดังนี้ haproxy : 10.107.107.71 mysql-master1: 10.107.107.35 mysql-master1: 10.107.107.83 ขั้นตอนการติดตั้ง ที่ mysql-master1 ต้องสร้าง 2 Users ขึ้นมา ชื่อ haproxy_check และ haproxy_root ด้วยคำสั่งต่อไปนี้…
Tag: Load Balance
Juju #05 – วิธีกระจายงานไปยัง MySQL แบบ Master-Master
ต่อจาก Juju #04 – วิธีทำให้ WordPress กระจายงานไปยัง MySQL Slave ด้วย HyperDB ซึ่งเป็นวิธีการกระจายงานให้ MySQL แบบ Master-Slave จะต้องอาศัยความสามารถของ HyperDB Plugin ของ WordPress ในการทำงาน ซึ่งถ้าเป็นการพัฒนา Application ทั่วไปที่ไม่ใช่ WordPress ก็จะทำด้วยวิธีดังกล่าวไม่ได้ ในบทความนี้จะกล่าวถึง การสร้าง Load-Balanced MySQL แบบ Master-Master ซึ่งทำให้สามารถกระจายการ Write ไปยัง MySQL หลายตัวได้ (ในเบื้องต้น 2 ตัว)…
Juju #04 – วิธีทำให้ WordPress กระจายงานไปยัง MySQL Slave ด้วย HyperDB
ต่อจาก Juju #03 – วิธีสร้าง Load Balance MySQL เมื่อมี MySQL Server มากกว่า 1 ตัว ซึ่งทำการ Replication กัน (ในตอนนี้ 2 ตัว คือ Master กับ Slave) ซึ่งให้ความสามารถในเรื่อง [1] Data-Security : เมื่อข้อมูลถูก Replicate ไปที่ Slave แล้ว เราสามารถหยุดการทำงานของ Slave เพื่อทำการสำรองข้อมูลได้ โดยไม่กระทบประสิทธิภาพการทำงานของ Master Analytics: ทำการวิเคราะห์ข้อมูลต่างๆได้ที่ Slave โดยไม่กระทบประสิทธิภาพการทำงานของ…
Juju #03 – วิธีสร้าง Load Balance MySQL
จาก Juju #02 – วิธีติดตั้ง WordPress ทำให้ได้ WordPress ซึ่งเป็น Web Application 2 เครื่องทำหน้าที่ Load Balance กัน ด้วย haproxy แล้ว จากนั้น ทำการเพิ่ม MySQL เข้าไปใหม่ แล้วตั้ง Application Name เป็น mysql-slave แล้ว Commit Chages จากนั้น สร้าง Relation เป็น mysql:master –> mysql-slave:slave เมื่อเสร็จแล้ว จะได้ผลอย่างนี้ ทดสอบเพิ่ม…
การสร้างระบบ Load Balance Web Server ด้วยวิธีการ URL Redirect
เราสามารถสร้างระบบ Load Balance Web Server ด้วยวิธีการ URL Redirect โดยสามารถสร้างด้วยภาษาใดก็ได้ แต่จะขอยกตัวอย่างด้วยภาษา PHP ได้ง่าย ๆ ดังนี้ ตัวอย่างไฟล์ server-status ที่ได้ทำการ monitor web server มาเรียบร้อยแล้ว webserver1.testlab UP webserver2.testlab DOWN – เราสามารถใช้คำสั่งดึงไฟล์เพื่อคัดเฉพาะ Web Server ที่สามารถใช้งานได้จริง ๆ ดังนี้ exec(“cat /tmp/server-status | grep UP”,$redirect); – จากนั้นจะทำการ นำรายการ…
Server High Availability คืออะไร
“เคยได้ยินคำว่า Server เรามี Uptimeถึง 99% ไหม” High Availability มีชื่อย่อในวงการสั้น ๆ ว่า HA องค์กรหรือหน่วยงานมากมายในปัจจุบันมีการวัดประสิทธิภาพการให้บริการด้วย HA โดยจะมีหน่วยการวัดที่เรียกว่า Uptime ซึ่งคิดจากเวลาเป็น % ของการให้บริการ โดยมีชื่อเรียกระดับการให้บริการตามตารางดังนี้ Availability % Downtime per year Downtime per month* Downtime per week 90% (“one nine”) 36.5 days 72 hours 16.8 hours 95% 18.25…