Narate Ketram
Posted on January 13, 2020
Kong เป็น API Gateway ที่ได้รับความนิยมสูง เพราะใช้งานสามารถรันได้บนแพลตฟอร์มที่หลากหลาย ทั้งบน Cloud, On Premise มีวิธีการ Deploy ที่ครอบคลุมทุกการใช้งาน ทั้ง Binary, Docker หรือ Kuberbetes
ใครยังไม่เคยใช้ Kong ลองใช้ Kong ตามบล็อกนี้ KONG API GATEWAY ฉบับรวบรัด
การใช้ Kong ในเวอร์ชั่นแรกๆ จำเป็นที่จะต้องมีฐานข้อมูลสำหรับเก็บค่าคอนฟิกต่างๆของ Gateway ซึ่ง Kong รองรับการใช้งานฐานข้อมูล 2 ตัวคือ PostgreSQL และ Cassandra ซึ่งการนำไปใช้งานจะต่างกัน ตามความต้องการของระบบ
ใน Kong version 1.1 นอกจาก Kong จะสามารถใช้ฐานข้อมูลในการเก็บคอนฟิกต่างๆแล้ว ยังสามารถใช้งาน Kong แบบไม่ต้องมีฐานข้อมูลได้ โดยการใช้ไฟล์คอนฟิกแทน เรียกโหมดนี้ว่า Kong DB-less ข้อดีคือ ไม่ต้องดูแลฐานข้อมูล แต่ข้อเสียก็มีคือ บาง Plugin จะไม่สามารถใช้งานได้
การใช้ Kong DB-less มีข้อดี และข้อเสีย ใน Community ของ Kong มีการพูดถึงเรื่องการใช้งาน Kong DB-less แบบกระจายคอนฟิกไปยังโหนดต่างๆ เพื่อเหตุผลบางอย่าง เช่น Kong Ingress บน Kubernetes หรือ อยากรัน Kong DB-less ที่เอาไฟล์คอนฟิกมาจากที่เดียวกัน
จากคำเรียกร้องจากแฟนคลับ ทำให้ Kong ต้องเข็นฟีเจอร์ Hybrid Mode ออกมา คือทั้งมีฐานข้อมูล และไม่มีฐานข้อมูลในเวลาเดียวกัน สงสัยฟังเพลง Getsunova มากไป
ในโหมดนี้ จะมี Kong รันอยู่ 2 role คือ control_plane
และ data_plane
Control Plane จะเป็น Kong ที่รันด้วยโหมดที่มีฐานข้อมูล เหมือน Kong ปกติ มี Admin API ให้ใช้งาน ทำหน้าที่กระจายคอนฟิกไปยังโหนดในคลัสเตอร์ เรียกว่า Data Plane
Data Plane คือ Kong Proxy ที่รันเป็น Kong DB-less โดยจะมีการอัปเดตคอนฟิกเมื่อมีการเปลี่ยนแปลงที่ Control Plane
Demo
Posted on January 13, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.