O perfil de usuário é um paradigma comum na arquitetura de software. Ele se destina a centralizar o código responsável pelo gerenciamento dos dados do usuário. Com a crescente popularidade dos microsserviços, os arquitetos de software começaram a criar um único serviço para consolidar essa tarefa.
Recentemente, criamos dois tutoriais para ajudá-lo a começar a criar seu próprio sistema:
Esse conteúdo faz parte do novo site pesquisável "Seção "tutoriais. É de código aberto, e o conteúdo está começando a crescer!
Perfil do usuário
Um perfil de usuário consiste em dados relacionados ao usuário. Os dados comuns armazenados incluem o nome do usuário, o login, a senha, os endereços, as preferências, as funções de segurança, os grupos de segurança etc.
Por que o Couchbase é uma boa opção para esse caso de uso? O usuário costuma ser o dado acessado com mais frequência, e isso pode afetar o desempenho de todo o sistema. Alguns dos principais requisitos não funcionais de um sistema bem-sucedido que o Couchbase pode fornecer:
-
Forte consistência
-
Alta taxa de transferência de leitura e gravação
-
Armazenamento em cache
-
Um modelo de dados flexível
-
Consulta fácil e rápida
-
Correspondência de linguagem natural
-
Alta escalabilidade
-
Alta disponibilidade
Perfil do usuário passo a passo
Nestes tutoriais, você criará um serviço básico de perfil de usuário passo a passo. Essas etapas incluem:
-
Configuração de um novo projeto (Spring ou ASP.NET)
-
Representação de um perfil como uma classe
-
Criação de um repositório para acessar perfis
-
Consultar os dados com índices apropriados
-
Pesquise usuários com a Pesquisa de texto completo
-
Armazenamento de eventos de usuário de forma assíncrona (RxJava ou async/await)
-
Configuração da replicação entre data centers
Se você estiver iniciando um serviço de perfil de usuário, pode começar na etapa 1. Se estiver procurando aprimorar um sistema existente, poderá começar em uma etapa posterior.
Tutoriais de Java e .NET
Isso parece ser muito complicado, mas esses tutoriais começam com um perfil simples e se expandem a partir daí. Esses tutoriais abordam .NET e Java de pontos de vista idiomáticos, mostrando os pontos fortes da linguagem/ferramenta com a qual você já está familiarizado.
Com Java, você usará a estrutura Spring, portanto, o início de um repositório é tão simples quanto criar duas classes:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
@Dados @Documento público classe UserEntity { @Id privado Cordas id; @Não nulo @Tamanho(máximo = 2, min=2) privado Cordas countryCode; @Não nulo privado Cordas nome de usuário; @Não nulo privado Cordas senha; } @N1qlPrimaryIndexed @N1qlSecondaryIndexed(indexName = "userEntity") público interface UserEntityRepository (Repositório de entidades de usuário) se estende CouchbasePagingAndSortingRepository<UserEntity, Cordas> { } |
No C# e no .NET, async/await são palavras-chave de primeira classe que facilitam o trabalho de programação assíncrona necessário para armazenar um lote de eventos em um perfil:
1 2 3 4 5 6 7 8 9 10 11 |
público assíncrono Tarefa AddEventsAsync(Lista<UserEvent> eventos) { var tarefas = eventos.Selecione(e => _bucket.InsertAsync(e.Id, novo { e.CreatedDate, e.Tipo de evento, e.UserId, e.Tipo })); aguardar Tarefa.WhenAll(tarefas); } |
Próximas etapas
Para obter mais detalhes, acesse o tutorial completo de sua escolha.
Se você for um desenvolvedor .NET, poderá acompanhar o Tutorial de perfil de usuário do .NET.
Se você for um desenvolvedor Java, poderá acompanhar o Tutorial de perfil de usuário Java
Se tiver alguma dúvida ou feedback sobre este tutorial, você pode me encontrar em Twitter @mgroves para perguntas sobre .NET ou Denis Rosa em Twitter @deniswsrosa para perguntas sobre Java. Como tudo na documentação do Couchbase, este tutorial é de código aberto e pull requests para melhorias são bem-vindos!