Sollten Microservices für die Abwicklung ihrer eigenen Autorisierung verantwortlich sein, oder ist es Ihrer Meinung nach besser, einen separaten Autorisierungsdienst zu haben, der für alle oder eine Teilmenge (innerhalb derselben Geschäftsdomäne) von Microservices gemeinsam genutzt wird?
Letzteres ist für mich sinnvoller, da es einfacher ist, Änderungen anzuwenden und Richtlinien durchzusetzen. Es ist trocken usw. Es kann jedoch leicht außer Kontrolle geraten, wenn alle Arten von Diensten ihre Regeln an einem Ort ablegen und sich auch Sorgen über den Netzwerk-Overhead machen.
Irgendwelche Gedanken?
quelle
Quelle
Und das macht durchaus Sinn. Ich gehe davon aus, dass es keinen Zweifel an der zentralen Authentifizierung gibt. Die Autorisierung ist jedoch ziemlich verwirrend.
Angesichts der Tatsache, dass die Anzahl der Mikrodienste auf Hunderte, Tausende ansteigen kann, sollte ein zentraler Autorisierungsdienst nur für die Auflistung von Berechtigungen verantwortlich sein, diese Berechtigungen jedoch nicht validieren. Einzelne Mikrodienste müssen möglicherweise anders vorgehen, um die Berechtigung zu validieren.
Dieser zentrale Autorisierungsdienst muss möglicherweise Modelle von verschiedenen Diensten abrufen und sich unterschiedlich verhalten, um Entscheidungen zu treffen. Am Anfang sieht er möglicherweise einfach und hübsch aus. Könnte aber später Chaos sein.
quelle