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