In uno dei progetti il CTO ha scelto di utilizzare un broker di messaggi per connettere i microservizi. L'uso di tale software è allineato con la teoria dei microservizi?
Tentativo di rispondere alla domanda
InBuildingMicroservices>diSamNewmancapitolo12:Portaretuttoinsieme,l'autoremenzionasetteprincipi,tracuiDecentralizetuttelecose.L'ultimoparagrafodiquellaparteèilseguente:
Thisprinciplecanapplytoarchitecturetoo.Avoidapproacheslikeenterpriseservicebusororchestrationsystems,whichcanleadtocentralizationofbusinesslogicanddumbservices.Instead,preferchoreographyoverorchestrationanddumbmiddleware,withsmartendpointstoensureyouthatyoukeepassociatedlogicanddatawithinserviceboundaries,helpingkeepthingscohesive.
Busdiservizioaziendale
implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA)
Sistemi di orchestrazione
Coreografia
middleware stupido
Endpoint intelligenti
Q: And regarding smart endpoints.. if I get it right, Microservice=endpoint, sort of something that can send/receive messages. The reason the endpoint is smart, because it has a logic inside, not on the middleware(e.g. ESB). Right? A: Exactly, endpoints have the logic and I actually did a project in an open source team which used JMS as the underlying communication for an ESB, so it should be still rather dumb
Domande
- Qual è la definizione di coreografia nell'IT?
- Quali sono esempi di middleware stupido ?
- I microservizi endpoint intelligenti ?
- È l'uso dei broker di messaggi, ad es. kafka, rabbitmq, zeromq e qpid in Microservices sono una cattiva pratica?