Ho letto the article on Microservices sulla pagina di Martin Fowler e lo trovo piuttosto interessante. Ora pianifico di strutturare un'applicazione Web E-Commerce come proof-of-concept e mi chiedo se il mio concetto sia considerato un'architettura di Microservice.Il mio concetto segue un'architettura Microservice?
L'architettura è composta da 3 componenti:
- una base javascript applicazione singola pagina, che invia le richieste di AJAX per
- un server con un'API REST che alimenta i dati JSON ricevuti chiamando altri servizi (credo si chiama questo comportamento gateway API)
- 3 servizi: CatalogProvider, CustomersProvider, CheckoutProvider
per ora i servizi sono tutti API Punto finale ts di un negozio Magento (PHP). In futuro ho intenzione di scambiare i provider con altri sistemi.
Quindi le mie domande sono:
MS sono considerati 'in modo indipendente schierabili'. Capisco che nel mondo di JAVA stiamo parlando di un file JAR o WAR, ma in che modo un servizio PHP è "implementabile in modo indipendente"?
Il mio concetto NON segue i principi di un'architettura MS, perché i provider fanno tutti parte di un unico grande sistema (Magento)?
Grazie per la lettura. Sono felice per qualsiasi suggerimento.
'Se i tuoi servizi sono solo trasformazione/interfaccia strettamente collegati a Magento e non puoi semplicemente riscriverli in java/C#/ruby facilmente, quindi suppongo tu non abbia un'architettura MS. -> Ho implementato un Modulo Magento, che estende l'API REST e alimenta il client esattamente con la struttura dati che si aspetta. Quindi il servizio è sicuramente strettamente collegato a Magento poiché ad esempio utilizza i suoi modelli .. ma penso che tu possa ancora considerarlo un MSA, no? – Rouzbeh
@Rouzbeh, Una risposta molto tarda su questo thread, ma comunque, eccola qui, dato che tutti i servizi che saranno abilitati su questo approccio risolveranno lo stesso repository/database Magento, e quindi non sono "implementabili indipendentemente", questo non sembra adattarsi all'architettura MS. Inoltre, per esempio, un servizio di ordine dovrà contenere i riferimenti dei clienti per dire chi ha effettuato l'ordine. Penserei che le informazioni minime dei clienti saranno gestite autonomamente da questo servizio di ordine in un formato a suo piacimento. Ciò implicherebbe un bel po 'di denomalizzazione, che è qualcosa che incontreremo quando andremo a cercare un'architettura MS. – user132797