ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / PHP

คู่มือ 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:

  1. เข้าสู่ระบบบัญชี PaaS

  2. คลิกที่สร้าง Environmentปุ่ม.

  3. ในTopology Environmentหน้าต่างเลือก Server ตั้งแต่สองเครื่องขึ้นไปที่คุณต้องการใช้ (เช่นสอง Instance ของอาปาเช่) และเมค CacheNode พิมพ์ชื่อของ Environment แล้วคลิกสร้าง.

Image 32: Memcached environmentNode Memcached ถูกใช้เป็นกลไก Cache แบบกระจายใน Environment ที่มีหลาย Node ในกรณีของเราจะให้ Session เว็บที่มี Session ที่ติดหนึบซึ่งทำงานบน Application Server หลายตัวหาก Server ตัวใดตัวหนึ่งทำงานล้มเหลว Session จะถูกจัดเก็บไว้สำหรับการสำรองข้อมูลบน Node Memcached Server อื่นสามารถดึง Session จาก Memcached และเริ่มให้บริการ Session ได้

Image 33: memcached PHP cluster

มันทำงานอย่างไร

เมื่อคำขอแต่ละ 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 โดยใช้เครื่องมือปรับสมดุลโหลดที่แตกต่างกัน

วิธีการกำหนดค่า

  1. นำทางไปยัง Environment ของคุณใน Dashboard แล้วคลิกการกำหนดค่าปุ่มสำหรับอาปาเช่

  2. ในแท็บที่เปิดอยู่ให้ไปที่ฯลฯ > php.ini.

  3. เพิ่มบรรทัดถัดไปไปที่ส่วนขยายแบบไดนามิก::

สำเนา

extension=memcached.so

Image 36: memcached enabling4. ทำการเปลี่ยนแปลงใน[การประชุม]ปิดกั้น:

สำเนา

session.save_handler = memcached
session.save_path = "< server >:11211"

Image 37: session save path

บันทึก:ระบุ IP หรือ URL แบบ memcached ซึ่งคุณสามารถค้นหาได้ด้วยการคลิกข้อมูลปุ่มสำหรับ Node memcached ใน Environment ของคุณ

  1. บันทึกการเปลี่ยนแปลงและ Restartอาปาเช่Node

นั่นคือทั้งหมด! ตอนนี้หาก Instance ตัวใดตัวหนึ่งล้มเหลวผู้ใช้จะถูกสลับไปยัง Instance อื่นใน Cluster นี้โดยอัตโนมัติและจะไม่สังเกตเห็นการเปลี่ยนแปลงใดๆเลย