ทำไม 'การรวมตัว' ไม่รองรับโซลูชั่น API เกตเวย์ส่วนใหญ่?


16

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

การรวมตัวกันถือว่าเป็นการปฏิบัติที่ไม่ดีหรือไม่? ผู้คนส่งคืนผลลัพธ์จากหลายจุดสิ้นสุดได้อย่างไร

คำตอบ:


11

มีหลายวิธีที่คำถามนี้สามารถตอบได้:

การรวมกันของจุดสิ้นสุด

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

จุดคือการรวมศูนย์บริการบางอย่างซ่อนเซิร์ฟเวอร์จริงจากเครือข่ายภายนอก ฯลฯ

การรวมผลลัพธ์

ถ้าคุณอยากที่จะมีตรรกะทางธุรกิจบนเกตเวย์ดึงเอกสารที่แตกต่างกันเพื่อเอกสารอื่นหรือเพียงแค่การเปลี่ยนแปลงการร้องขอหรือการตอบสนองที่คุณอาจจะมองหาที่Enterprise Service Bus

การรวมตัวเป็นสิ่งที่ดีหรือไม่

แน่นอนว่าเป็นที่ถกเถียงกันและขึ้นอยู่กับความคิดเห็นของแต่ละบุคคล อาจมีเหตุผลว่ามีเหตุผลที่เราได้รับ (ส่วนใหญ่) ห่างจากโซลูชันประเภท SOA / ESB เหตุผลนี้อาจเป็นเพราะความรับผิดชอบส่วนบุคคลไม่ชัดเจนและมีแนวโน้มที่จะรวบรวมทาง ESB โดยทิ้งจุดสิ้นสุด "โง่" ในที่สุดก็ส่งผลให้ ESB รู้ทุกอย่าง

วิธี "REST" แตกต่างกัน มันสร้างบนจุดปลาย "ฉลาด" รู้ส่วนของพวกเขาและทำให้แน่ใจว่าไม่มีส่วนประกอบอื่น ๆ จำเป็นต้องรู้รายละเอียดใด ๆ ความคิดในตัวเองนี้ดูเหมือนว่าจะมีความขัดแย้งกับการทำประตูรู้เพิ่มเติมเกี่ยวกับการตอบสนอง

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

ทุกครั้งขึ้นอยู่กับข้อกำหนดที่แน่นอน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.