คู่มือ PHP Sessions Clustering สำหรับ PHP
คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี
ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง
คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง
ความพร้อมใช้งานสูงของ Application PHP ของคุณสามารถทำได้โดยการใช้ Session PHP ที่จัดกลุ่มในระบบ Cloud เพื่อให้จัดการ Application Server Failover ได้สำเร็จเราจึงสร้าง Environment ด้วย Memcached Server Apache หลายตัวและ Load Balancer NGINX:
-
เข้าสู่ระบบบัญชี PaaS
-
คลิกที่สร้าง Environmentปุ่ม.
-
ในTopology Environmentหน้าต่างเลือก Server ตั้งแต่สองเครื่องขึ้นไปที่คุณต้องการใช้ (เช่นสอง Instance ของอาปาเช่) และเมค CacheNode พิมพ์ชื่อของ Environment แล้วคลิกสร้าง.
Node Memcached ถูกใช้เป็นกลไก Cache แบบกระจายใน Environment ที่มีหลาย Node ในกรณีของเราจะให้ Session เว็บที่มี Session ที่ติดหนึบซึ่งทำงานบน Application Server หลายตัวหาก Server ตัวใดตัวหนึ่งทำงานล้มเหลว Session จะถูกจัดเก็บไว้สำหรับการสำรองข้อมูลบน Node Memcached Server อื่นสามารถดึง Session จาก Memcached และเริ่มให้บริการ Session ได้
มันทำงานอย่างไร
เมื่อคำขอแต่ละ Session เสร็จสมบูรณ์ Session จะถูกส่งไปยัง Node Memcached เพื่อสำรองข้อมูล Session นี้ยังคงพร้อมใช้งานบน Application Server ดั้งเดิมและสามารถใช้เพื่อให้บริการคำขอถัดไปหลังจากคำขอที่สองเสร็จสิ้น Session จะได้รับการอัปเดตใน Memcached
หาก Server เดิมล้มเหลวคำร้องขอถัดไปจะถูกส่งไปยัง Application Server อื่น Server ที่ร้องขอใหม่ถูกถามถึง Session ที่ไม่ทราบดังนั้น Server ใหม่นี้จะค้นหา Session ที่จำเป็นใน Node Memcached มันถูกระบุตาม ID ที่ต่อท้าย sessionID ขณะสร้าง Session เป็นผลให้ Server สามารถดึง Session จาก Node Memcached
เมื่อ Server ตอบรับคำขอ Server จะอัปเดต Session ใน Node Memcached ด้วยดังนั้นจึงไม่มีการหยุดชะงักของแอปที่เกิดจากความล้มเหลวของ Server เดิม - จัดการข้อผิดพลาดได้สำเร็จ
ในเวลาเดียวกัน Load Balancer NGINX กำลังกระจาย Traffic ทั่วทั้ง Cluster ที่มี Resource HTTP คุณสามารถตรวจสอบสมดุลโหลดใน Platform โดยใช้เครื่องมือปรับสมดุลโหลดที่แตกต่างกัน
วิธีการกำหนดค่า
-
นำทางไปยัง Environment ของคุณใน Dashboard แล้วคลิกการกำหนดค่าปุ่มสำหรับอาปาเช่
-
ในแท็บที่เปิดอยู่ให้ไปที่ฯลฯ > php.ini.
-
เพิ่มบรรทัดถัดไปไปที่ส่วนขยายแบบไดนามิก::
สำเนา
extension=memcached.so
4. ทำการเปลี่ยนแปลงใน[การประชุม]ปิดกั้น:
สำเนา
session.save_handler = memcached
session.save_path = "< server >:11211"
บันทึก:
- บันทึกการเปลี่ยนแปลงและ Restartอาปาเช่Node
นั่นคือทั้งหมด! ตอนนี้หาก Instance ตัวใดตัวหนึ่งล้มเหลวผู้ใช้จะถูกสลับไปยัง Instance อื่นใน Cluster นี้โดยอัตโนมัติและจะไม่สังเกตเห็นการเปลี่ยนแปลงใดๆเลย


