Arquitetura de microsserviço - usando o Auth Server como um servidor de recursos do usuário

6

Estou criando um aplicativo baseado na arquitetura de microsserviços,

Neste aplicativo, precisarei do Auth microservice,

Também precisarei armazenar algumas informações extras do usuário, como, talvez, vários endereços, imagens de avatar, etc.

Isso leva à ideia de ter dois microservices - um para Auth e outro, User, que pode armazenar informações extras do usuário,

Até agora, tenho as seguintes ideias:

  1. Permitir que o serviço de autenticação também seja um servidor de recursos que contenha informações do Usuário, incluindo endereços adicionais, talvez, um avatar etc. Essa é uma solução conveniente porque permite ter tudo relacionado ao Usuário em um único local e reduz a complexidade operações como registro de novo usuário, exclusão de usuário. No entanto, esta solução parece contradizer o conceito de microservices, mas para mim esta solução é a mais atraente

  2. Ter dois microservices diferentes - Auth e User. O Auth seria responsável apenas por manipular os tokens e não armazenará nenhum dado relacionado ao usuário. Portanto, quando a solicitação de um token é recebida, o serviço Auth chama o usuário para receber dados do usuário e tomar uma decisão

  3. Ter dois microservices diferentes - Auth e User. O Auth seria responsável por manipular os tokens e também armazenar uma parte das informações do usuário, relacionadas à autenticação (talvez senha, funções). O serviço do usuário conterá todas as outras informações, como endereços adicionais, avatares etc. Essa abordagem para mim parece muito complexa, pois exige operações complexas de exclusão de usuário / criar novo usuário

Agora, vou precisar escolher uma dessas soluções, mas estou perdido e não sei qual delas é a certa,

Gostará de qualquer conselho em relação a isso,

Obrigado

    
por Andrey Yaskulsky 01.03.2018 / 12:28
fonte

1 resposta

5

3 é a resposta correta.

O seu servidor de autenticação autentica os utilizadores, o seu servidor de utilizador teria talvez melhor nome de "UserProfiles"

Você verá que muitos dos seus usuários serão pessoas com perfis, mas você também terá usuários de serviço para outras APIs ou talvez chaves de API simples, que também usam o servidor de autenticação para autenticar, mas não têm perfil correspondente.

Além disso, você provavelmente descobrirá que há muitos servidores e estruturas de autenticação prontos para uso que você pode usar, mas o UserProfile será personalizado de acordo com suas necessidades. Geralmente, é mais fácil adicionar um userid a um perfil personalizado do que integrar um perfil personalizado a um banco de dados de autenticação predefinido

    
por 01.03.2018 / 17:20
fonte