Cómo construir un microservicio básico con C# y ASP.NET Core

Cómo construir un microservicio básico con C# y ASP.NET Core

La arquitectura de microservicios se ha convertido en una de las opciones más populares para desarrollar aplicaciones modernas, escalables y fáciles de mantener. A diferencia de una aplicación monolítica, donde toda la lógica se encuentra en un único proyecto, los microservicios dividen las funcionalidades en servicios independientes que pueden desarrollarse, desplegarse y escalarse por separado.

En este artículo aprenderás cómo construir un microservicio básico utilizando C# y ASP.NET Core.

¿Qué es un microservicio?

Un microservicio es una aplicación pequeña e independiente que se encarga de una única responsabilidad dentro de un sistema. Por ejemplo, en una tienda en línea podríamos tener un microservicio para productos, otro para pedidos y otro para usuarios.

Cada servicio cuenta con su propia lógica de negocio y expone funcionalidades mediante APIs REST, permitiendo la comunicación con otros servicios o aplicaciones cliente.

Crear el proyecto

El primer paso es crear una API ASP.NET Core:

dotnet new webapi -n ProductService
cd ProductService

Este comando genera una estructura base con todo lo necesario para comenzar a desarrollar una API moderna.

Definir el modelo

Crearemos una entidad sencilla para representar productos:

public class Product
{
    public int Id { get; set; }
    public string Name { get; set; } = string.Empty;
    public decimal Price { get; set; }
}

Este modelo será la información que nuestro microservicio administrará.

Crear un repositorio simple

Para este ejemplo utilizaremos una lista en memoria:

public static class ProductRepository
{
    public static List<Product> Products = new()
    {
        new Product { Id = 1, Name = "Laptop", Price = 3500 }
    };
}

En entornos reales normalmente se utilizaría una base de datos como SQL Server o PostgreSQL.

Implementar los endpoints

ASP.NET Core permite crear APIs de forma sencilla mediante controladores o Minimal APIs.

app.MapGet("/products", () =>
{
    return ProductRepository.Products;
});

app.MapGet("/products/{id}", (int id) =>
{
    return ProductRepository.Products
        .FirstOrDefault(p => p.Id == id);
});

app.MapPost("/products", (Product product) =>
{
    ProductRepository.Products.Add(product);
    return Results.Created($"/products/{product.Id}", product);
});

Con estos endpoints ya es posible consultar todos los productos, buscar uno específico y registrar nuevos elementos.

Probar el microservicio

Ejecuta la aplicación:

dotnet run

Luego abre Swagger en el navegador:

https://localhost:5001/swagger

Desde allí podrás probar cada endpoint sin necesidad de herramientas externas.

Buenas prácticas recomendadas

Aunque este ejemplo es básico, un microservicio profesional debería incluir:

  • Arquitectura en capas.
  • Inyección de dependencias.
  • Entity Framework Core.
  • Validaciones de datos.
  • Manejo centralizado de excepciones.
  • Autenticación y autorización.
  • Registro de logs con herramientas como Serilog.
  • Contenedores Docker para despliegue.

Además, cada microservicio debe tener una responsabilidad clara para evitar dependencias innecesarias y facilitar su mantenimiento.

Construir un microservicio con C# y ASP.NET Core es un proceso sencillo gracias a las herramientas modernas que ofrece la plataforma .NET. Con unas pocas líneas de código es posible crear una API funcional capaz de exponer datos y ejecutar operaciones de negocio. A medida que el proyecto crece, se pueden incorporar patrones arquitectónicos, bases de datos, mensajería y contenedores para crear soluciones empresariales robustas, escalables y preparadas para la nube.

Te puede interesar...

Deja un comentario