แคชภายใน

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X
ข้อมูล

หัวข้อนี้จะอธิบายถึงการทำงานของแคชที่อยู่ภายใต้นโยบายต่างๆ เช่น นโยบาย แย้มข้อมูลแคช, นโยบาย LookupCache, นโยบายแคช การตอบสนอง และนโยบายแคชการตอบกลับ

แคชที่ใช้ร่วมกันและแคชในสภาพแวดล้อม

นโยบายการแคชแต่ละรายการที่คุณกำหนดค่าจะสามารถใช้แคชได้ 1 จาก 2 ประเภท ได้แก่ แคชที่ใช้ร่วมกันที่มีแอปพลิเคชันของคุณมีสิทธิ์เข้าถึง และแคชที่กำหนดขอบเขตสภาพแวดล้อมที่คุณสร้างขึ้นอย่างน้อย 1 รายการ

  • แคชที่แชร์: โดยค่าเริ่มต้น พร็อกซีของคุณมีสิทธิ์เข้าถึงแคชที่แชร์ร่วมกัน 1 แคชในแต่ละสภาพแวดล้อม แคชที่ใช้ร่วมกันทำงานได้ดีในกรณีการใช้งานพื้นฐาน

    คุณทำงานกับแคชที่แชร์ได้โดยใช้นโยบายการแคชเท่านั้น ไม่ใช่ Management API หากต้องการใช้นโยบายการแคช ให้ใช้แคชที่แชร์ เพียงละเว้นองค์ประกอบ <CacheResource> ของนโยบาย

  • แคชสภาพแวดล้อม: หากต้องการกำหนดค่าคุณสมบัติของแคชด้วยค่าที่เลือก คุณสามารถสร้างแคชที่กำหนดขอบเขตสภาพแวดล้อมได้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแคชได้ที่การสร้างและแก้ไขแคชสภาพแวดล้อม

    เมื่อสร้างแคชสภาพแวดล้อม คุณจะต้องกำหนดค่าคุณสมบัติเริ่มต้นของแคช คุณกำหนดให้นโยบายการแคชใช้แคชสภาพแวดล้อมได้ด้วยการระบุชื่อแคชในองค์ประกอบ <CacheResource> ของนโยบาย

เกี่ยวกับการเข้ารหัสแคช

Edge for Public Cloud: แคชจะได้รับการเข้ารหัสในองค์กรที่เปิดใช้ PCI และ HIPAA เท่านั้น การกำหนดค่าการเข้ารหัสสำหรับองค์กรเหล่านั้นจะได้รับการกำหนดค่าในระหว่างการจัดสรรองค์กร

ระดับแคชในหน่วยความจำและแคชถาวร

ทั้งแคชที่แชร์และแคชสภาพแวดล้อมนั้นสร้างขึ้นจากระบบ 2 ระดับ ซึ่งประกอบด้วยระดับในหน่วยความจำและระดับถาวร นโยบายจะทำงานร่วมกันทั้ง 2 ระดับในฐานะกรอบการทำงานแบบรวม Edge จะจัดการความสัมพันธ์ระหว่างระดับต่างๆ

  • ระดับ 1 คือแคชในหน่วยความจำ (L1) เพื่อการเข้าถึงที่รวดเร็ว โหนดการประมวลผลข้อความ (MP) แต่ละโหนดมีแคชในหน่วยความจำของตัวเอง (ใช้งานจาก Ehcache) เพื่อให้ตอบสนองต่อคำขอได้เร็วที่สุด
    • ในแต่ละโหนด แคชจะสงวนเปอร์เซ็นต์หน่วยความจำบางส่วนไว้ใช้งาน
    • เมื่อหน่วยความจำถึงขีดจำกัดแล้ว Apigee Edge จะนำรายการแคชออกจากหน่วยความจำ (แต่จะยังเก็บไว้ในแคชถาวร L2) เพื่อให้กระบวนการอื่นๆ มีหน่วยความจำเหลืออยู่
    • ระบบจะนำรายการเก่าออกตามลำดับเวลานับตั้งแต่การเข้าถึงครั้งล่าสุด โดยนำรายการที่เก่าที่สุดออกก่อน
    • แคชเหล่านี้ยังถูกจำกัดด้วยจำนวนรายการในแคชด้วย
  • ระดับ 2 คือแคชถาวร (L2) ใต้แคชในหน่วยความจำ โหนดการประมวลผลข้อความทั้งหมดจะแชร์พื้นที่เก็บข้อมูลแคช (Cassandra) เพื่อคงรายการแคชไว้
    • รายการแคชจะยังคงอยู่ที่นี่แม้จะนำออกจากแคช L1 แล้วก็ตาม เช่น เมื่อถึงขีดจำกัดของหน่วยความจำ
    • เนื่องจากแคชถาวรจะแชร์กับผู้ประมวลผลข้อความ (แม้จะอยู่ในภูมิภาคที่ต่างกัน) รายการแคชจึงพร้อมใช้งานไม่ว่าโหนดใดจะได้รับคำขอสำหรับข้อมูลที่แคชไว้ก็ตาม
    • มีเพียงรายการขนาดที่กำหนดเท่านั้นที่แคชได้ และขีดจำกัดแคชอื่นๆ จะมีผล โปรดดูการจัดการขีดจำกัดของแคช

คุณอาจสนใจดูการแคช Apigee Edge ในรายละเอียดในชุมชน Apigee เช่นกัน

นโยบายใช้แคชอย่างไร

ข้อมูลต่อไปนี้จะอธิบายวิธีที่ Apigee Edge จัดการรายการแคชเมื่อนโยบายการแคชทำงาน

  • เมื่อนโยบายเขียนรายการใหม่ลงในแคช (นโยบาย LockeCache หรือ ResponseCache) มีดังนี้
    1. Edge เขียนรายการลงในแคช L1 ในหน่วยความจำในตัวประมวลผลข้อความที่จัดการคำขอเท่านั้น หากตัวประมวลผลข้อความถึงขีดจำกัดก่อนที่รายการจะหมดอายุ Edge จะนำรายการออกจากแคช L1
    2. Edge จะเขียนรายการลงในแคช L2 ด้วย
  • เมื่อนโยบายอ่านจากแคช (นโยบาย LookupCache หรือ ResponseCache) สิ่งต่อไปนี้จะเกิดขึ้น
    1. Edge จะมองหารายการในแคช L1 ในหน่วยความจำของผู้ประมวลผลข้อความที่จัดการคำขอก่อน
    2. หากไม่มีรายการในหน่วยความจำที่สอดคล้องกัน Edge จะมองหารายการในแคชถาวร L2
    3. หากรายการไม่ได้อยู่ในแคชถาวร ให้ทําดังนี้
      • นโยบาย LookupCache: ไม่มีค่าจากแคช
      • นโยบาย ResponseCache: Edge จะแสดงผลการตอบสนองจริงจากเป้าหมายไปยังไคลเอ็นต์และเก็บข้อมูลรายการไว้ในแคชจนกว่า URL จะหมดอายุหรือใช้งานไม่ได้
  • เมื่อนโยบายอัปเดตหรือทำให้รายการแคชที่มีอยู่ไม่ถูกต้อง (นโยบาย invalidateCache, CaptioneCache หรือ ResponseCache) สิ่งต่อไปนี้จะเกิดขึ้น
    1. ผู้ประมวลผลข้อความที่ได้รับคำขอจะส่งประกาศเพื่ออัปเดตหรือลบรายการในแคช L1 ของตัวประมวลผลข้อความและผู้ประมวลผลข้อความอื่นๆ ทั้งหมดในทุกภูมิภาค
      • หากการออกอากาศสำเร็จ ผู้ประมวลผลข้อความแต่ละรายจะอัปเดตหรือนำรายการในแคช L1 ออก
      • หากการออกอากาศไม่สำเร็จ ค่าแคชที่ใช้งานไม่ได้จะยังคงอยู่ในแคช L1 ในตัวประมวลผลข้อความที่ไม่ได้รับการออกอากาศ ตัวประมวลผลข้อความดังกล่าวจะมีข้อมูลเก่าในแคช L1 จนกว่า Time to Live (TTL) ของรายการจะหมดอายุหรือถูกนำออกเมื่อหน่วยความจำถึงขีดจำกัดของตัวประมวลผลข้อความ
    2. การออกอากาศจะอัปเดตหรือลบรายการในแคช L2 ด้วย

การจัดการขีดจำกัดของแคช

คุณสามารถจัดการแคชได้บางส่วนผ่านการกำหนดค่า ทรัพยากรของระบบจำกัดพื้นที่โดยรวมสำหรับแคชในหน่วยความจำและไม่สามารถกำหนดค่าได้ แคชมีข้อจำกัดต่อไปนี้

  • ขีดจำกัดแคช: มีการใช้ขีดจำกัดของแคชที่หลากหลาย เช่น ชื่อและขนาดค่า จำนวนแคชทั้งหมด จำนวนรายการในแคช และการหมดอายุ
  • แคชในหน่วยความจำ (L1) คุณไม่สามารถกำหนดค่าขีดจำกัดหน่วยความจำสำหรับแคชได้ Apigee เป็นสิ่งที่กำหนดขีดจำกัดสำหรับผู้ประมวลผลข้อความแต่ละรายที่โฮสต์แคชสำหรับลูกค้าหลายราย

    ในสภาพแวดล้อมระบบคลาวด์ที่โฮสต์ ซึ่งแคชในหน่วยความจำสำหรับการทำให้ใช้งานได้ทั้งหมดของลูกค้าจะโฮสต์อยู่ในตัวประมวลผลข้อความที่แชร์หลายเครื่อง โปรเซสเซอร์แต่ละตัวจะมีเกณฑ์เปอร์เซ็นต์หน่วยความจำที่กำหนดค่าได้โดย Apigee ได้ เพื่อให้มั่นใจว่าการแคชไม่ได้ใช้หน่วยความจำทั้งหมดของแอปพลิเคชัน เมื่อผู้ประมวลผลข้อความผ่านเกณฑ์ดังกล่าว ระบบจะนำรายการแคชออกจากหน่วยความจำตามการใช้งานล่าสุด รายการที่นำออกจากหน่วยความจำจะยังคงอยู่ในแคช L2 จนกว่าจะหมดอายุหรือใช้งานไม่ได้

  • แคชถาวร (L2) รายการที่นำออกจากแคชในหน่วยความจำจะยังคงอยู่ในแคชถาวรตามการตั้งค่า Time to Live ที่กำหนดค่าได้

การเพิ่มประสิทธิภาพที่กำหนดค่าได้

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

การเกริ่นนำ คำอธิบาย Notes
วันหมดอายุ ระบุ Time to Live สำหรับรายการแคช ไม่มี