Wir haben eine Basisdomäne von http://api.mysite.com
. Dies sollte als Front für alle unsere APIs dienen. Nehmen wir an, wir haben zwei verschiedene APIs, auf die mit der folgenden URL-Struktur zugegriffen wird:
http://api.mysite.com/launchrockets
http://api.mysite.com/planttrees
Diese sind total verschieden. Was das Heroku betrifft, so haben wir zwei Möglichkeiten.
1) Legen Sie alles in eine Anwendung auf Heroku. Das fühlt sich falsch an (sehr falsch) und könnte zu einer höheren Wahrscheinlichkeit führen, dass Änderungen in einer API versehentlich die andere zerstören.
2) Habe 3 verschiedene Heroku-Apps. Der erste als Proxy ( http://mysite-api-proxy.herokuapp.com
), der sich die eingehende Anfrage ansieht und mit einem Modul wie bouncy zu http://planttrees.herokuapp.com
oder http://launchrockets.herokuapp.com
umleitet oder Ссылка .
Ich lehne mich Richtung Option 2, aber ich bin besorgt über die Belastung der Proxy-App. Für Web-Frameworks mit einer synchronen Architektur wäre dieser Ansatz katastrophal. Da node.js jedoch das Cluster-Modul verwendet und asynchron ist, denke ich, dass sich das skalieren lässt.
Ich habe ähnliche Fragen schon früher gesehen, aber die meisten bezogen sich auf synchrone Frameworks, bei denen Option 2 definitiv eine schlechte Wahl wäre. Diese Frage ist spezifisch für den Knoten und wie er ausgeführt wird.
Gedanken zum besten Weg, dies zu gestalten?