Dúvidas sobre o uso do Feign Client:
Dúvida 1: O Feign Client é adicionado sempre no microsserviço que precisa receber algum tipo de informação que está em outro microsserviço?
No caso do projeto do curso, adicionamos o Feign Client no microsserviço de Pedido, que está recebendo informações de pagamento. Pagamento não adiciona nada?
Dúvida 2: Estou desenvolvendo mais o projeto e criei um microsseviço onde posso cadastrar Podutos, ou seja, meus produtos não são mais adicionados como no curso e agora estão em um banco de dados próprio. Porém, preciso de informações de Produto, como nome do produto, no meu microsserviço de pedido, para que, suponhamos, se eu precisar fazer uma busca por certo pedido, essa busca irá trazer também o nome dos produtos que compõem esse pedido. Na minha estrutura atual só temos o id do produto nesse resposta da busca.
Acho que esse exemplo serve também para o microsserviço Usuário, citado no curso, caso você precise gerar uma busca sobre um pedido e queira que essa busca também traga o nome do cliente que fez esse pedido.
Sendo assim, adiciono o Feign Client no microsserviço de Pedido, e depois anoto ele na Interface criada @FeignClient("ms-produtos").
É isso, certo?
Dúvida 3: Em um projeto mais robusto, com muitos microsseviços, como um serviço que não é ligado diretamente, por exemplo, aos serviços citados acima (Produto, Pedido, Pagamento), sabe da existência desses 3 microsserviços?
É pela relação de algum dentre esses outros muitos microsseviços não citados? Como se fosse uma teia de aranha?
Algum microsserviço não citado teria comunicação com Produto ou Pedido ou Pagamento, e esse não citado teria a comunicação com Usuário. Seria isso?