Skip to main content

การผสานรวมแบบ Multi-Tenancy

Ultimate Multisite: Multi-Tenancy 1.2.0 เปลี่ยนจุดเชื่อมต่อการผสานรวมหลายส่วนสำหรับ tenant แบบอธิปไตย การตรวจสอบการย้ายข้อมูล และการทำงานอัตโนมัติของวงจรชีวิต tenant

โฟลว์การเริ่มต้น tenant

การผสานรวมที่สร้างหรือแก้ไข tenant ควรทำตามลำดับนี้:

  1. ระเบียนรีจิสทรี tenant และโมเดลการแยกสภาพแวดล้อม
  2. สร้างหรือตรวจสอบตัวเขียนฐานข้อมูลของ tenant
  3. เริ่มต้นสคีมาของ tenant
  4. จัดเตรียมผู้ใช้ของ tenant
  5. ลงทะเบียนการกำหนดเส้นทางและพาธระบบไฟล์ของ tenant
  6. เรียกใช้การตรวจสอบการย้ายข้อมูลก่อนเปิดให้เข้าถึง tenant

อย่าสันนิษฐานว่า tenant แบบอธิปไตยสามารถใช้การเชื่อมต่อฐานข้อมูลเครือข่ายซ้ำได้ ใช้รีจิสทรี tenant และ abstraction ของตัวเขียนที่ addon จัดเตรียมไว้

SSO และ REST hooks

การเข้าสู่ระบบอัตโนมัติของ tenant แบบไร้สถานะใช้ token อายุสั้นพร้อม purpose claim, การป้องกันการเล่นซ้ำ JTI, ขีดจำกัดวันหมดอายุ และการตรึง origin การผสานรวมที่เพิ่มปุ่มเข้าสู่ระบบหรือลิงก์การจัดการระยะไกลควรสร้างการเยี่ยมชม tenant ผ่านโฟลว์ SSO ที่รองรับ แทนที่จะสร้าง URL เข้าสู่ระบบของ tenant โดยตรง

เหตุการณ์ audit ของ API ฝั่งเครือข่ายและสรุปรายวันพร้อมใช้งานสำหรับ gateway ของ tenant แบบอธิปไตย ใช้บันทึกเหล่านั้นเมื่อดีบักระบบภายนอกที่เรียก endpoint วงจรชีวิต tenant

URL การดำเนินการของลูกค้าแบบอธิปไตย

Ultimate Multisite v2.13.0 กำหนดเส้นทางการดำเนินการของลูกค้า tenant แบบอธิปไตยกลับไปยัง site หลักสำหรับโฟลว์ account, checkout, billing, invoice, site, การสลับ template และ domain-mapping การผสานรวมที่แสดงลิงก์การจัดการฝั่ง tenant ควรชี้การดำเนินการเหล่านั้นไปที่ panel ลูกค้าใน site หลัก และรวมเป้าหมายการกลับที่ผ่านการตรวจสอบแล้วเมื่อผู้ใช้ควรสามารถนำทางกลับไปยัง tenant หลังจากทำการดำเนินการเสร็จ

ใช้ wrapper SSO หลักสำหรับลิงก์การจัดการข้ามโดเมน:

$url = wu_with_sso($main_site_customer_url);

URL ที่สร้างยังคงสามารถกรองได้ผ่าน wu_sso_url ซึ่งรับ URL SSO, ผู้ใช้ปัจจุบัน, ID site เป้าหมาย และบริบท redirect Add-ons สามารถใช้ filter นั้นเพื่อผนวกบริบทเฉพาะ provider หรือแทนที่ broker URL โดยยังคงรักษาการตรวจสอบ token ของ Ultimate Multisite ไว้

อย่าทำซ้ำสถานะ membership, invoice, billing-address, template หรือ domain-management ภายใน tenant แบบอธิปไตย ให้ถือว่า Dashboard ของ tenant เป็นตัวเรียกใช้งาน และ panel ลูกค้าใน site หลักเป็นแหล่งข้อมูลหลักของระบบสำหรับการดำเนินการที่มีการจัดการ

การตรวจสอบการย้ายข้อมูล

หลังจากการย้ายข้อมูลหรือการผสานรวมวงจรชีวิตเปลี่ยนข้อมูล tenant ให้เรียกใช้ด่านตรวจสอบ:

  • wp tenant verify-no-legacy --site=<site-id> ยืนยันว่า tenant ไม่พึ่งพาพาธฝั่งเครือข่ายแบบเดิมอีกต่อไป
  • wp tenant verify-sovereign-push --site=<site-id> ยืนยันว่า job push แบบอธิปไตยสามารถประมวลผลและระบายคิวได้

การผสานรวมควรถือว่าการตรวจสอบที่ล้มเหลวเป็นตัวบล็อกการ deploy และหลีกเลี่ยงการทำเครื่องหมายว่า tenant live จนกว่าความล้มเหลวจะได้รับการแก้ไข

การลบ tenant

โฟลว์การลบควรเรียกพาธ teardown ของ addon เพื่อให้ข้อมูลรับรองฐานข้อมูลของ tenant ถูกล้างออก การผสานรวมภายนอกอาจลบทรัพยากรของ provider หลังจาก teardown สำเร็จ แต่ไม่ควรลบฐานข้อมูลหรือโฟลเดอร์บน host ขณะที่การตรวจสอบหรือ job push แบบ async ยังทำงานอยู่

ตัวกำหนดเส้นทางฐานข้อมูลที่เลิกใช้แล้ว

Database_Router แบบเดิมถูกแทนที่ด้วย stub การเลิกใช้แล้ว การผสานรวมใหม่ควร resolve tenant ผ่าน API ของ site router และรีจิสทรี tenant ปัจจุบัน แทนที่จะพึ่งพาคลาส router เก่า