El perfil de usuario es un paradigma común en la arquitectura de software. Su objetivo es centralizar el código responsable de gestionar los datos de los usuarios. Con la creciente popularidad de los microservicios, los arquitectos de software han empezado a crear un único servicio para consolidar esta tarea.
Recientemente hemos creado dos tutoriales para ayudarte a empezar a crear tu propio sistema:
Este contenido forma parte de la nueva "sección "tutoriales. Es de código abierto, ¡y el contenido está empezando a crecer!
Perfil del usuario
Un perfil de usuario consiste en datos relacionados con el usuario. Los datos comunes almacenados incluyen el nombre del usuario, login, contraseña, direcciones, preferencias, roles de seguridad, grupos de seguridad, etc.
¿Por qué Couchbase es adecuado para este caso de uso? El usuario es a menudo el dato al que se accede con más frecuencia, y potencialmente impactará en el rendimiento de todo el sistema. Algunos de los requisitos no funcionales clave de un sistema exitoso que Couchbase puede proporcionar:
-
Gran coherencia
-
Alto rendimiento de lectura y escritura
-
Almacenamiento en caché
-
Un modelo de datos flexible
-
Consultas fáciles y rápidas
-
Correspondencia en lenguaje natural
-
Gran escalabilidad
-
Alta disponibilidad
Perfil de usuario paso a paso
En estos tutoriales, crearás paso a paso un servicio básico de Perfil de Usuario. Estos pasos incluyen:
-
Creación de un nuevo proyecto (Spring o ASP.NET)
-
Representar un perfil como una clase
-
Crear un repositorio para acceder a los perfiles
-
Consulta de los datos con índices adecuados
-
Búsqueda de usuarios con búsqueda de texto completo
-
Almacenamiento asíncrono de eventos de usuario (RxJava o async/await)
-
Configuración de la replicación entre centros de datos
Si acaba de poner en marcha un servicio de perfiles de usuario, puede empezar por el paso 1. Si desea mejorar un sistema existente, puede empezar en un paso posterior.
Tutoriales Java y .NET
Eso suena como mucho terreno que cubrir, pero estos tutoriales comienzan con un perfil simple y se expanden a partir de ahí. Estos tutoriales cubren .NET y Java desde puntos de vista idiomáticos, mostrando los puntos fuertes del lenguaje/herramienta con la que ya estás familiarizado.
Con Java, utilizarás el framework Spring, por lo que el comienzo de un repositorio es tan sencillo como crear dos clases:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
@Datos @Documento público clase EntidadUsuario { @Id privado Cadena id; @NotNull @Talla(max = 2, min=2) privado Cadena código de país; @NotNull privado Cadena nombre de usuario; @NotNull privado Cadena contraseña; } @N1qlPrimaryIndexed @N1qlSecondaryIndexed(indexName = "usuarioEntidad") público interfaz UserEntityRepository extiende CouchbasePagingAndSortingRepository<EntidadUsuario, Cadena> { } |
En C# y .NET, async/await son palabras clave de primera clase que facilitan el trabajo de programación asíncrona necesario para almacenar un lote de eventos en un perfil:
1 2 3 4 5 6 7 8 9 10 11 |
público async Tarea AddEventsAsync(Lista<Evento de usuario> eventos) { var tareas = eventos.Seleccione(e => _bucket.InsertAsync(e.Id, nuevo { e.FechaCreación, e.Tipo de evento, e.UserId, e.Tipo })); await Tarea.CuandoTodo(tareas); } |
Próximos pasos
Para más detalles, dirígete al tutorial completo de tu elección.
Si es usted un desarrollador .NET, puede seguir con el Tutorial de perfiles de usuario .NET.
Si es usted un desarrollador Java, puede seguir con el Tutorial sobre el perfil de usuario de Java
Si tienes alguna pregunta o comentario sobre este tutorial, puedes encontrarme en Twitter @mgroves para preguntas sobre .NET o Denis Rosa en Twitter @deniswsrosa para preguntas sobre Java. Como todo en la documentación de Couchbase, este tutorial es de código abierto y pull requests para mejoras ¡son bienvenidos!