คุณกําลังดูเอกสารประกอบของ Apigee Edge
ไปที่เอกสารประกอบของ Apigee X info
หัวข้อนี้อธิบายวิธีการทํางานของแคชที่อยู่ภายใต้นโยบายต่างๆ เช่น นโยบายการสร้างแคช นโยบาย LookupCache นโยบาย InvalidateCache และนโยบายแคชคำตอบ
แคชที่ใช้ร่วมกันและแคชของสภาพแวดล้อม
นโยบายการแคชแต่ละรายการที่คุณกําหนดค่าจะใช้แคชได้ 1 ใน 2 ประเภท ได้แก่ แคชที่แชร์ซึ่งรวมอยู่ด้วยซึ่งแอปพลิเคชันของคุณมีสิทธิ์เข้าถึง และแคชระดับสภาพแวดล้อมอย่างน้อย 1 รายการที่คุณสร้างขึ้น
-
แคชที่แชร์: โดยค่าเริ่มต้น พารามิเตอร์จะมีสิทธิ์เข้าถึงแคชที่แชร์ 1 รายการในแต่ละสภาพแวดล้อม แคชที่แชร์ทํางานได้ดีกับ Use Case พื้นฐาน
คุณจะใช้แคชที่แชร์ได้โดยใช้นโยบายการแคชเท่านั้น ไม่ใช่ Management API หากต้องการให้นโยบายการแคชใช้แคชที่แชร์ ให้ละองค์ประกอบ
<CacheResource>
ของนโยบาย -
แคชสภาพแวดล้อม: เมื่อต้องการกําหนดค่าพร็อพเพอร์ตี้แคชด้วยค่าที่คุณเลือก ให้สร้างแคชระดับสภาพแวดล้อม ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างแคชได้ที่หัวข้อการสร้างและการแก้ไขแคชสภาพแวดล้อม
เมื่อสร้างแคชสภาพแวดล้อม คุณจะกําหนดค่าพร็อพเพอร์ตี้เริ่มต้นของแคช คุณสามารถกำหนดให้นโยบายการแคชใช้แคชสภาพแวดล้อมได้โดยระบุชื่อแคชในองค์ประกอบ
<CacheResource>
ของนโยบาย
เกี่ยวกับการเข้ารหัสแคช
Edge สำหรับระบบคลาวด์สาธารณะ: ระบบจะเข้ารหัสแคชเฉพาะในองค์กรที่เปิดใช้ PCI และ HIPAA การเข้ารหัสสําหรับองค์กรเหล่านั้นจะได้รับการกําหนดค่าระหว่างการจัดสรรองค์กร
ระดับแคชในหน่วยความจําและแคชถาวร
ทั้งแคชที่แชร์และแคชของสภาพแวดล้อมสร้างขึ้นจากระบบ 2 ระดับที่ประกอบด้วยระดับในหน่วยความจำและระดับถาวร นโยบายจะโต้ตอบกับทั้ง 2 ระดับเป็นเฟรมเวิร์กแบบรวม Edge จะจัดการความสัมพันธ์ระหว่างระดับต่างๆ
-
ระดับ 1 คือแคชในหน่วยความจํา (L1) เพื่อการเข้าถึงที่รวดเร็ว โหนดการประมวลผลข้อความ (MP) แต่ละโหนดจะมีแคชในหน่วยความจำของตัวเอง (ติดตั้งใช้งานจาก Ehcache) เพื่อการตอบกลับคำขอที่เร็วที่สุด
- แต่ละโหนดจะมีการจองหน่วยความจําไว้เป็นเปอร์เซ็นต์หนึ่งเพื่อให้แคชใช้
- เมื่อถึงขีดจํากัดของหน่วยความจํา Apigee Edge จะนํารายการแคชออกจากหน่วยความจํา (แม้ว่าจะยังเก็บอยู่ในแคชถาวร L2 ก็ตาม) เพื่อให้หน่วยความจําพร้อมใช้งานสําหรับกระบวนการอื่นๆ
- ระบบจะนำรายการออกตามลำดับเวลานับตั้งแต่การเข้าถึงครั้งล่าสุด โดยจะนำรายการที่เก่าที่สุดออกก่อน
- นอกจากนี้ แคชเหล่านี้ยังจํากัดด้วยจํานวนรายการในแคชด้วย
-
ระดับที่ 2 คือแคชถาวร (L2) ที่อยู่ใต้แคชในหน่วยความจำ โหนดการประมวลผลข้อความทั้งหมดใช้ที่เก็บข้อมูลแคช (Cassandra) ร่วมกันเพื่อเก็บรายการแคชไว้
- รายการแคชจะยังคงอยู่ที่นี่แม้ว่าจะนำออกจากแคช L1 แล้ว เช่น เมื่อถึงขีดจํากัดของหน่วยความจํา
- เนื่องจากแคชถาวรจะแชร์ระหว่างโปรแกรมประมวลผลข้อความ (แม้ในภูมิภาคต่างๆ) รายการแคชจึงพร้อมใช้งานไม่ว่าโหนดใดจะได้รับคำขอสำหรับข้อมูลที่แคชไว้
- ระบบจะแคชเฉพาะรายการที่มีขนาดที่กําหนดไว้ และจะมีขีดจํากัดอื่นๆ ของแคช โปรดดูหัวข้อการจัดการขีดจำกัดแคช
คุณอาจสนใจการแคช Apigee Edge โดยละเอียดในชุมชน 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 จนกว่าอายุของรายการ (TTL) จะหมดอายุหรือถูกนำออกเมื่อถึงขีดจำกัดหน่วยความจำของผู้ประมวลผลข้อความ
- การออกอากาศจะอัปเดตหรือลบรายการในแคช L2 ด้วย
- ผู้ประมวลผลข้อความที่ได้รับคําขอจะส่งการออกอากาศเพื่ออัปเดตหรือลบรายการในแคช L1 ของตนเองและผู้ประมวลผลข้อความอื่นๆ ทั้งหมดในทุกภูมิภาค
การจัดการขีดจํากัดของแคช
คุณสามารถจัดการแคชบางแง่มุมได้ผ่านการกําหนดค่า พื้นที่โดยรวมที่ใช้ได้สำหรับแคชในหน่วยความจำถูกจำกัดโดยทรัพยากรของระบบและไม่สามารถกำหนดค่าได้ ข้อจำกัดต่อไปนี้มีผลกับแคช
- ขีดจํากัดของแคช: ขีดจํากัดของแคชต่างๆ จะมีผล เช่น ขนาดชื่อและค่า จํานวนแคชทั้งหมด จํานวนรายการในแคช และการหมดอายุ
-
แคชในหน่วยความจํา (L1) ไม่สามารถกำหนดขีดจำกัดหน่วยความจำสำหรับแคชได้ Apigee จะเป็นผู้กำหนดขีดจำกัดสำหรับโปรแกรมประมวลผลข้อความแต่ละรายการที่โฮสต์แคชสำหรับลูกค้าหลายราย
ในสภาพแวดล้อมระบบคลาวด์ที่โฮสต์ ซึ่งแคชในหน่วยความจำสําหรับการใช้งานของลูกค้าทั้งหมดจะโฮสต์ในหน่วยประมวลผลข้อความที่ใช้ร่วมกันหลายรายการ หน่วยประมวลผลแต่ละรายการจะมีเกณฑ์เปอร์เซ็นต์หน่วยความจําที่ Apigee กำหนดค่าได้ เพื่อให้แน่ใจว่าการแคชจะไม่ใช้หน่วยความจําทั้งหมดของแอปพลิเคชัน เมื่อจำนวนรายการประมวลผลข้อความถึงเกณฑ์ ระบบจะลบรายการแคชออกจากหน่วยความจำตามลำดับการใช้งานล่าสุด รายการที่ย้ายออกจากหน่วยความจําจะยังคงอยู่ในแคช L2 จนกว่าจะหมดอายุหรือใช้งานไม่ได้
- แคชถาวร (L2) รายการที่ย้ายออกจากแคชในหน่วยความจําจะยังคงอยู่ในแคชถาวรตามการตั้งค่าอายุการใช้งานที่กำหนดค่าได้
การเพิ่มประสิทธิภาพที่กำหนดค่าได้
ตารางต่อไปนี้แสดงการตั้งค่าที่คุณใช้เพิ่มประสิทธิภาพแคชได้ คุณสามารถระบุค่าสําหรับการตั้งค่าเหล่านี้เมื่อสร้างแคชสภาพแวดล้อมใหม่ ตามที่อธิบายไว้ในการสร้างและการแก้ไขแคชสภาพแวดล้อม
การตั้งค่า | คำอธิบาย | หมายเหตุ |
---|---|---|
วันหมดอายุ | ระบุ Time To Live ของรายการแคช | ไม่มี |