O professor explica no curso que quando uma determinada lógica é comum a vários serviços, e não queremos (ou precisamos) tornar essa lógica um serviço, podemos simplesmente criar uma biblioteca, um artefato, enfim... que será compartilhada entre os serviços. Por exemplo, se for Node, uso um módulo do NPM, se for Java, um artefato do Maven/Gradle, etc.
Pergunta: isso não quebra justamente uma das vantagens da arquitetura de Microserviços que diz que os serviços devem ser independentes e, por tanto, podem usar tecnologias diferentes? Digo porque para compartilhar essa lib entre os serviços, todos eles teriam que ser codificados na liguagem da lib.
Ou seja, se eu fiz a lib em Java, então os serviços que vão importar essa lib devem também ser feitos em Java. Logo, perdi a autonomia do uso de diferentes linguagens/framework. É isso mesmo?