Antipattern: เพิ่มข้อมูลที่กำหนดเองไปยังสคีมาที่ Apigee เป็นเจ้าของในฐานข้อมูล Postgres

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

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

การวิเคราะห์ข้อมูลและข้อมูลเชิงลึกนี้เป็นประจำอาจนำไปใช้ในการดำเนินการที่เหมาะสมได้ เช่น การวางแผนด้านความจุในอนาคตของ API โดยอิงตามการใช้งานในปัจจุบัน การตัดสินใจทางธุรกิจและการลงทุนในอนาคต และอื่นๆ อีกมากมาย

ข้อมูล Analytics และพื้นที่เก็บข้อมูล

API Analytics จะบันทึกข้อมูลหลายประเภท เช่น

  • ข้อมูลเกี่ยวกับ API - URI คำขอ, ที่อยู่ IP ของไคลเอ็นต์, รหัสสถานะการตอบกลับ และอื่นๆ
  • ประสิทธิภาพพร็อกซี API - อัตราความสำเร็จ/ล้มเหลว เวลาในการประมวลผลคำขอและการตอบกลับ และอื่นๆ
  • ประสิทธิภาพของเซิร์ฟเวอร์เป้าหมาย - อัตราความสำเร็จ/ล้มเหลว เวลาในการประมวลผล
  • ข้อมูลข้อผิดพลาด - จำนวนข้อผิดพลาด, รหัสข้อผิดพลาด, นโยบายที่ไม่สำเร็จ, จำนวน Apigee และเซิร์ฟเวอร์เป้าหมายที่ทำให้เกิดข้อผิดพลาด
  • ข้อมูลอื่นๆ - จำนวนคำขอที่ส่งมาโดยนักพัฒนาซอฟต์แวร์ แอปของนักพัฒนาซอฟต์แวร์ และอื่นๆ

ข้อมูลทั้งหมดเหล่านี้จะจัดเก็บไว้ในสคีมาของ analytics ที่สร้างและจัดการภายในฐานข้อมูล Postgres โดย Apigee Edge

โดยปกติแล้ว ในการติดตั้ง Vanilla Edge บริษัท Postgres จะมีสคีมาต่อไปนี้

Edge จะใช้สคีมาชื่อ analytics เพื่อจัดเก็บข้อมูลการวิเคราะห์ทั้งหมดสำหรับแต่ละองค์กรและสภาพแวดล้อม หากมีการติดตั้งการสร้างรายได้ จะมีสคีมา rkms ส่วนสคีมาอื่นๆ มีไว้สำหรับภายในของ Postgres

สคีมา analytics จะเปลี่ยนแปลงอยู่เรื่อยๆ เนื่องจาก Apigee Edge จะเพิ่มตารางข้อเท็จจริงใหม่ลงในรันไทม์แบบไดนามิก คอมโพเนนต์เซิร์ฟเวอร์ Postgres จะรวมข้อมูลข้อเท็จจริงลงในตารางรวมซึ่งจะโหลดและแสดงใน Edge UI

ลายป้องกัน

เราไม่แนะนำให้เพิ่มคอลัมน์ ตาราง และ/หรือมุมมองที่กำหนดเองไปยังสคีมาที่ Apigee เป็นเจ้าของในฐานข้อมูล Postgres บนสภาพแวดล้อม Private Cloud โดยตรงโดยใช้การค้นหา SQL เนื่องจากอาจทำให้เกิดผลเสียได้

ลองมาดูตัวอย่างเพื่ออธิบายเรื่องนี้อย่างละเอียด

สมมติว่ามีการสร้างตารางที่กำหนดเองชื่อ account ภายใต้สคีมาข้อมูลวิเคราะห์ดังที่แสดงด้านล่าง

ตอนนี้สมมติว่าคุณต้องอัปเกรด Apigee Edge จากเวอร์ชันต่ำกว่าเป็นเวอร์ชันที่สูงขึ้น การอัปเกรด Private Cloud Apigee Edge คือการอัปเกรด Postgres จากคอมโพเนนต์อื่นๆ หากมีการเพิ่มคอลัมน์ ตาราง หรือมุมมองที่กำหนดเองลงในฐานข้อมูล Postgres แล้ว การอัปเกรด Postgres จะไม่สำเร็จและเกิดข้อผิดพลาดในการอ้างอิงออบเจ็กต์ที่กําหนดเองเนื่องจาก Apigee Edge ไม่ได้สร้างขึ้น ดังนั้น การอัปเกรด Apigee Edge จะไม่สําเร็จและไม่สมบูรณ์เช่นกัน

ข้อผิดพลาดในลักษณะเดียวกันนี้อาจเกิดขึ้นได้ในระหว่างกิจกรรมการบำรุงรักษา Apigee Edge ซึ่งมีการสำรองและกู้คืนคอมโพเนนต์ Edge ซึ่งรวมถึงฐานข้อมูล Postgres ด้วย

มีอิทธิพล

  • อัปเกรด Apigee Edge ไม่สำเร็จเนื่องจากการอัปเกรดคอมโพเนนต์ Postgres ล้มเหลวโดยมีข้อผิดพลาดที่อ้างอิงไปยังออบเจ็กต์ที่กำหนดเองซึ่งไม่ได้สร้างโดย Apigee Edge
  • ความไม่สอดคล้อง (และความล้มเหลว) ขณะดำเนินการบำรุงรักษาบริการ Apigee Analytics (สำรอง/กู้คืน)

แนวทางปฏิบัติแนะนำ

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

อ่านเพิ่มเติม