คุณกำลังดูเอกสารประกอบของ 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) มีดังนี้
- Edge เขียนรายการลงในแคช L1 ในหน่วยความจำในตัวประมวลผลข้อความที่จัดการคำขอเท่านั้น หากตัวประมวลผลข้อความถึงขีดจำกัดก่อนที่รายการจะหมดอายุ Edge จะนำรายการออกจากแคช L1
- Edge จะเขียนรายการลงในแคช L2 ด้วย
- เมื่อนโยบายอ่านจากแคช (นโยบาย LookupCache หรือ ResponseCache) สิ่งต่อไปนี้จะเกิดขึ้น
- Edge จะมองหารายการในแคช L1 ในหน่วยความจำของผู้ประมวลผลข้อความที่จัดการคำขอก่อน
- หากไม่มีรายการในหน่วยความจำที่สอดคล้องกัน Edge จะมองหารายการในแคชถาวร L2
- หากรายการไม่ได้อยู่ในแคชถาวร ให้ทําดังนี้
- นโยบาย LookupCache: ไม่มีค่าจากแคช
- นโยบาย ResponseCache: Edge จะแสดงผลการตอบสนองจริงจากเป้าหมายไปยังไคลเอ็นต์และเก็บข้อมูลรายการไว้ในแคชจนกว่า URL จะหมดอายุหรือใช้งานไม่ได้
- เมื่อนโยบายอัปเดตหรือทำให้รายการแคชที่มีอยู่ไม่ถูกต้อง (นโยบาย invalidateCache, CaptioneCache หรือ ResponseCache) สิ่งต่อไปนี้จะเกิดขึ้น
- ผู้ประมวลผลข้อความที่ได้รับคำขอจะส่งประกาศเพื่ออัปเดตหรือลบรายการในแคช L1 ของตัวประมวลผลข้อความและผู้ประมวลผลข้อความอื่นๆ ทั้งหมดในทุกภูมิภาค
- หากการออกอากาศสำเร็จ ผู้ประมวลผลข้อความแต่ละรายจะอัปเดตหรือนำรายการในแคช L1 ออก
- หากการออกอากาศไม่สำเร็จ ค่าแคชที่ใช้งานไม่ได้จะยังคงอยู่ในแคช L1 ในตัวประมวลผลข้อความที่ไม่ได้รับการออกอากาศ ตัวประมวลผลข้อความดังกล่าวจะมีข้อมูลเก่าในแคช L1 จนกว่า Time to Live (TTL) ของรายการจะหมดอายุหรือถูกนำออกเมื่อหน่วยความจำถึงขีดจำกัดของตัวประมวลผลข้อความ
- การออกอากาศจะอัปเดตหรือลบรายการในแคช L2 ด้วย
- ผู้ประมวลผลข้อความที่ได้รับคำขอจะส่งประกาศเพื่ออัปเดตหรือลบรายการในแคช L1 ของตัวประมวลผลข้อความและผู้ประมวลผลข้อความอื่นๆ ทั้งหมดในทุกภูมิภาค
การจัดการขีดจำกัดของแคช
คุณสามารถจัดการแคชได้บางส่วนผ่านการกำหนดค่า ทรัพยากรของระบบจำกัดพื้นที่โดยรวมสำหรับแคชในหน่วยความจำและไม่สามารถกำหนดค่าได้ แคชมีข้อจำกัดต่อไปนี้
- ขีดจำกัดแคช: มีการใช้ขีดจำกัดของแคชที่หลากหลาย เช่น ชื่อและขนาดค่า จำนวนแคชทั้งหมด จำนวนรายการในแคช และการหมดอายุ
-
แคชในหน่วยความจำ (L1) คุณไม่สามารถกำหนดค่าขีดจำกัดหน่วยความจำสำหรับแคชได้ Apigee เป็นสิ่งที่กำหนดขีดจำกัดสำหรับผู้ประมวลผลข้อความแต่ละรายที่โฮสต์แคชสำหรับลูกค้าหลายราย
ในสภาพแวดล้อมระบบคลาวด์ที่โฮสต์ ซึ่งแคชในหน่วยความจำสำหรับการทำให้ใช้งานได้ทั้งหมดของลูกค้าจะโฮสต์อยู่ในตัวประมวลผลข้อความที่แชร์หลายเครื่อง โปรเซสเซอร์แต่ละตัวจะมีเกณฑ์เปอร์เซ็นต์หน่วยความจำที่กำหนดค่าได้โดย Apigee ได้ เพื่อให้มั่นใจว่าการแคชไม่ได้ใช้หน่วยความจำทั้งหมดของแอปพลิเคชัน เมื่อผู้ประมวลผลข้อความผ่านเกณฑ์ดังกล่าว ระบบจะนำรายการแคชออกจากหน่วยความจำตามการใช้งานล่าสุด รายการที่นำออกจากหน่วยความจำจะยังคงอยู่ในแคช L2 จนกว่าจะหมดอายุหรือใช้งานไม่ได้
- แคชถาวร (L2) รายการที่นำออกจากแคชในหน่วยความจำจะยังคงอยู่ในแคชถาวรตามการตั้งค่า Time to Live ที่กำหนดค่าได้
การเพิ่มประสิทธิภาพที่กำหนดค่าได้
ตารางต่อไปนี้แสดงการตั้งค่าที่ใช้เพื่อเพิ่มประสิทธิภาพแคชได้ คุณระบุค่าสำหรับการตั้งค่าเหล่านี้ได้เมื่อสร้างแคชสภาพแวดล้อมใหม่ตามที่อธิบายไว้ในการสร้างและแก้ไขแคชสภาพแวดล้อม
การเกริ่นนำ | คำอธิบาย | Notes |
---|---|---|
วันหมดอายุ | ระบุ Time to Live สำหรับรายการแคช | ไม่มี |