2016-10-12 3 views
0

Ich verstehe, dass der von Kong verwendete Datenspeicher zum dauerhaften Speichern der Konfigurationen verwendet wird, um horizontale Skalierung zu ermöglichen.Kong: Ist es eine gute Idee, Geschäftslogik und/oder Geschäftsdaten im kong Datenspeicher zu speichern?

Ich frage mich, wäre es auch möglich, tatsächliche Geschäftsdaten in der Datenquelle des API-Gateways selbst zu speichern und die API basierend auf den Daten zu leiten, die von dieser Datenquelle gelesen werden.

z. Wenn ein Benutzer in der Vergangenheit Käufe von 3 verschiedenen Autoren hat, möchte ich ihm nur die Liste aller Bücher dieser Autoren zeigen. Hier ist die Bestellhistorie die Geschäftsdaten und nur die Bücher der Autoren sind die Geschäftslogik.

Nachdem die Anfrage über das API-Gateway übergeben wurde, konnte ich normalerweise die Bestellhistorie des Benutzers abrufen und dann die erforderlichen Daten anzeigen.

Aber ist es möglich, die Reihenfolge der Geschichte der Nutzer in der Datenquelle kong speichern und ein eigenes Plugin in lua schreiben, die die Autorenliste eines Benutzers aus dem Gateway selbst und Ids auf die Autoren passieren holen würde zum gewünschten Modul, das dann nur die Bücher dieser Autoren anzeigen könnte?

Und wenn möglich, wäre es ratsam, dies zu tun?

Antwort

1

Während es durch die zugrunde liegende Kong DAO-Schnittstelle möglich wäre, würde ich Ihre Geschäftslogik im Allgemeinen nicht mit den von Kong verwendeten Schemas verknüpfen, einfach weil sich die DAO-Schnittstelle in Zukunft als Reaktion auf neue Kong-Anforderungen ändern wird In diesem Fall hätten Sie keine Kontrolle über Ihre Geschäftslogik (es sei denn, Sie verwalten auch die DAO-Implementierung).

Im Allgemeinen würde ich all diese Logik in einem separaten Dienst hosten und dann den Dienst von einem Kong-Plugin abfragen, zum Beispiel mit dem internen HTTP-Client.

Verwandte Themen