Ich lese the article on Microservices auf Martin Fowlers Seite und finde es ziemlich interessant. Jetzt plane ich die Strukturierung einer E-Commerce Web Application als Proof-of-Concept und frage mich, ob mein Konzept als Microservice Architektur betrachtet wird.Folgt mein Konzept einer Microservice-Architektur?
Die Architektur besteht aus drei Komponenten:
- eine JavaScript-basierte einzelne Seite Anwendung, die mit einer REST-API
- ein Server AJAX-Anfragen sendet, die durch den Aufruf von anderen Diensten empfangen JSON-Daten-Feeds (ich glaube, rufen Sie dieses Verhalten API-Gateway)
- 3 Dienstleistungen: CatalogProvider, CustomersProvider, CheckoutProvider
Vorerst die Dienste alle API Endpun sind ts eines Magento (PHP) Shopsystems. In Zukunft plane ich dann, die Anbieter gegen andere Systeme auszutauschen.
Also meine Fragen sind:
MS werden als 'unabhängig einsetzbare' sein. Ich verstehe, dass wir in der Welt von JAVA über eine JAR- oder WAR-Datei sprechen, aber wie ist ein PHP-Dienst "unabhängig einsetzbar"?
Folgt mein Konzept NICHT den Prinzipien einer MS-Architektur, weil die Anbieter alle Teil eines großen (Magento) Systems sind?
Vielen Dank für das Lesen. Ich bin glücklich für irgendwelche Vorschläge.
'Wenn Ihre Dienste nur Transformation/Schnittstelle sind sehr eng mit Magento verbunden und Sie können nicht einfach umschreiben sie in Java/C#/Ruby leicht, dann denke ich, Sie haben keine MS-Architektur.' -> Ich habe eine implementiert Magento-Modul, das die REST-API erweitert und den Client mit genau der erwarteten Datenstruktur versorgt. Der Dienst ist also sicher eng mit Magento verbunden, da er zum Beispiel seine Modelle verwendet. Aber ich denke, Sie können es immer noch als MSA betrachten, nicht wahr? – Rouzbeh
@Rouzbeh, eine sehr späte Antwort auf diesen Thread, aber wie auch immer, hier ist es, da alle Dienste, die bei diesem Ansatz aktiviert werden, aus dem gleichen Magento-Repository/Datenbank arbeiten und daher nicht "unabhängig einsetzbar" sind, tut dies nicht scheinen in die MS-Architektur zu passen. Zum Beispiel muss ein Bestellservice Kundenreferenzen halten, um zu sagen, wer die Bestellung aufgegeben hat. Ich würde denken, dass die minimalen Kundeninformationen unabhängig von diesem Bestellservice in einem Format sein werden, wie es ihm gefällt. Dies würde ein gutes Stück der Denomination bedeuten, was wir bei einer MS-Architektur erleben werden. – user132797