Antipattern: ปล่อยให้พร็อกซี NodeJS API ที่ไม่ได้ใช้งานใช้งานได้

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

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

ลายป้องกัน

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

ในกรณีของพร็อกซี NodeJS API จะมีนัยสำคัญเพิ่มเติม

แพลตฟอร์มจะเปิดตัว "แอปโหนด" สำหรับพร็อกซี NodeJS API ทั้งหมดที่ทำให้ใช้งานได้ แอปโหนดคล้ายกับอินสแตนซ์เซิร์ฟเวอร์โหนดแบบสแตนด์อโลนบนกระบวนการ JVM ของ Message Processor

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

พร็อกซีที่ใช้ พร็อกซีที่ไม่ได้ใช้
# พร็อกซี สภาพแวดล้อมที่ทำให้ใช้งานได้ # รายการ เปิดตัว Nodeapps # รายการ # พร็อกซี สภาพแวดล้อมที่ทำให้ใช้งานได้ # รายการ เปิดตัวแอปโหนด # รายการ
10 การพัฒนา, การทดสอบ, prod (3) 10x3=30 12 การพัฒนา, การทดสอบ, prod (3) 12x3=36

ในภาพด้านบน มีการเปิดตัว Nodeapps ที่ไม่ได้ใช้ 36 รายการซึ่งใช้หน่วยความจำของระบบและมีผลเสียต่อเวลาเริ่มต้นของกระบวนการ

มีอิทธิพล

  • การใช้งานหน่วยความจำสูงและผลกระทบแบบ Cascading ต่อความสามารถของแอปพลิเคชันในการดำเนินการตามคำขอเพิ่มเติม
  • ผลกระทบด้านประสิทธิภาพที่อาจเกิดขึ้นกับพร็อกซี API ที่แสดงการจราจรของข้อมูลจริง

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

  • ยกเลิกการทำให้พร็อกซี API ที่ไม่ได้ใช้ใช้งานได้
  • ใช้หน้าแดชบอร์ดประสิทธิภาพพร็อกซีของ Analytics เพื่อดูว่าพร็อกซีใดที่ไม่แสดงการเข้าชม ทำให้พร็อกซีที่ไม่จำเป็นต้องใช้ใช้งานได้

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