Familiarícese con los bloques de creación para crear microservicios con .NET.
Ninguna.
macOS 10.15 o versiones posteriores.
15 minutos
Cree un servicio simple que devuelva una lista de valores y, a continuación, ejecute el servicio en un contenedor de Docker.
Para empezar a compilar aplicaciones .NET, descargue e instale el SDK de .NET (Kit de desarrollo de software).
Descarga del SDK de .NET 7 (64 bits)
Descarga de 32 bits
|
Descarga de Arm64
Debe instalar dependencias adicionales en versiones anteriores de Windows. Consulte Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2 para obtener más información.
Descarga del SDK de .NET 7 (64 bits)
Descarga de Arm64
Si está en un equipo Mac con un chip M1 de Apple, debe instalar la versión Arm64 del SDK.
Una vez instalado, abra un nuevo símbolo del sistema y ejecute el siguiente comando:
Una vez instalado, abra un terminal new y ejecute el siguiente comando:
dotnet
Si la instalación se realizó correctamente, debería ver una salida similar a la siguiente:
Usage: dotnet [options]
Usage: dotnet [path-to-application]
Options:
-h|--help Display help.
--info Display .NET information.
--list-sdks Display the installed SDKs.
--list-runtimes Display the installed runtimes.
path-to-application:
The path to an application .dll file to execute.
Si todo parece correcto, seleccione el botón Continuar de abajo para ir al siguiente paso.
Si recibe un error ”dotnet” no se reconoce como un comando interno o externo, asegúrese de que ha abierto un nuevo comando del sistema. Si no puede resolver el problema, use el botón He tenido un problema para obtener ayuda para solucionar el problema.
Si recibe un error comando zsh: no encontrado: dotnet, asegúrese de que ha abierto una nueva ventana del terminal. Si no puede resolver el problema, use el botón He tenido un problema para obtener ayuda para solucionar el problema.
Si recibe un error dotnet: comando no encontrado, asegúrese de haber abierto una nueva ventana de terminal. Si no puede resolver el problema, utilice el botón Me encontré con un problema para obtener ayuda para solucionarlo.
En el símbolo del sistema, ejecute el siguiente comando para crear la aplicación:
En el terminal, ejecute el siguiente comando para crear la aplicación:
dotnet new webapi -o MyMicroservice --no-https -f net7.0
Después, vaya al nuevo directorio creado por el comando anterior:
cd MyMicroservice
El comando dotnet
crea una aplicación nueva de tipo webapi
(es decir, un punto de conexión de API de REST).
-o
crea un directorio denominado MyMicroservice
donde se almacena la aplicación.--no-https
crea una aplicación que se ejecutará sin un certificado HTTPS para simplificar la implementación.-f
indica que está creando una aplicación .NET 7.El comandocd MyMicroservice
le coloca en el directorio de aplicaciones recién creado.
Se crearon varios archivos en el directorio MyMicroservice
, para brindarle un servicio simple que está listo para ejecutarse.
MyMicroservice.csproj
define a qué bibliotecas hace referencia el proyecto, etc.Program.cs
contiene todos los ajustes y la configuración cargadas cuando se inicia la aplicación.Controllers/WeatherForecastController.cs
tiene código para una API simple que devuelve la previsión meteorológica para los próximos cinco días.launchSettings.json
dentro del directorio Properties
define diferentes configuraciones de perfil para el entorno de desarrollo local. Un número de puerto que oscila entre 5 000 y 5 300 se asigna automáticamente al crear el proyecto y se guarda en este archivo.El siguiente código muestra el contenido del archivo WeatherForecastController.cs
ubicado en el directorio de Controllers
:
using Microsoft.AspNetCore.Mvc;
namespace MyMicroservice.Controllers;
[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
private static readonly string[] Summaries = new[]
{
"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
};
private readonly ILogger<WeatherForecastController> _logger;
public WeatherForecastController(ILogger<WeatherForecastController> logger)
{
_logger = logger;
}
[HttpGet(Name = "GetWeatherForecast")]
public IEnumerable<WeatherForecast> Get()
{
return Enumerable.Range(1, 5).Select(index => new WeatherForecast
{
Date = DateTime.Now.AddDays(index),
TemperatureC = Random.Shared.Next(-20, 55),
Summary = Summaries[Random.Shared.Next(Summaries.Length)]
})
.ToArray();
}
}
Seleccione el botón Continuar para ir al siguiente paso.
Si recibe un mensaje similar a No se pudo crear la plantilla "ASP.NET Core Web API". Error al crear la plantilla. Detalles: Se denegó el acceso a la ruta “C:\Windows\System32\MyMicroservice”, cambie su directorio actual a uno donde tenga permisos para crear una nueva carpeta e intente ejecutar el comando de nuevo.
Si Windows no encuentra el SDK cuando intenta crear el proyecto y está seguro de haber instalado el SDK, su máquina podría tener un problema con la variable de entorno PATH. ConsulteStack Overflow post para obtener instrucciones sobre cómo diagnosticar y solucionar este problema.
Si no puede resolver el problema que tiene, seleccione el botón a continuación Me encontré con un problema para obtener ayuda para solucionar el problema.
En el símbolo del sistema, ejecute el siguiente comando:
En el terminal, ejecute el siguiente comando:
dotnet run
Debería ver una salida similar a la siguiente:
Building...
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://localhost:5020
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: C:\Users\Ana\MyMicroservice\
Espere a que la aplicación muestre que está escuchando en http://localhost:<port number>, y luego abra un explorador y navegue a http://localhost:<port number>/WeatherForecast.
En este ejemplo, se muestra que estaba escuchando en el puerto 5020, por lo que la siguiente imagen muestra la URL http://localhost:5020/WeatherForecast
.
Enhorabuena, tiene un servicio simple en ejecución.
Presione CTRL+C en el símbolo del sistema para finalizar el comando dotnet run
que ejecuta el servicio localmente.
Presione CTRL+C en el terminal para finalizar el comando dotnet run
que ejecuta el servicio localmente.
Docker es una plataforma que permite combinar una aplicación más su configuración y dependencias en una sola unidad que se puede implementar de forma independiente, y que se denomina contenedor.
Si ya tiene Docker instalado, asegúrese de que sea la versión 20.10 o posterior.
Se le pedirá que se registre en la Tienda de Docker para poder descargar el instalador.
De forma predeterminada, Docker usará contenedores de Linux en Windows. Deje esta configuración tal cual cuando se le solicite en el instalador.
Después de instalar Docker, es posible que se le pida que cierre sesión para finalizar la instalación.
Una vez instalado, abra un nuevo símbolo del sistema y ejecute el siguiente comando:
Una vez instalado, abra un terminal new y ejecute el siguiente comando:
docker --version
Si el comando se ejecuta y muestra información de versión, Docker se instala correctamente.
Para ejecutar con una imagen de Docker, necesita un Dockerfile
— un archivo de texto que contiene instrucciones sobre cómo compilar la aplicación como una imagen de Docker. Una imagen de Docker contiene todo lo necesario para ejecutar la aplicación como un contenedor Docker.
Dado que ha abierto un nuevo terminal en el paso anterior, tendrá que volver al directorio en el que ha creado el servicio.
Dado que ha abierto un nuevo terminal en el paso anterior, tendrá que volver al directorio en el que ha creado el servicio.
cd MyMicroservice
Cree un archivo llamado Dockerfile
con este comando:
touch Dockerfile
fsutil file createnew Dockerfile 0
A continuación, puede abrirlo en su editor de texto favorito.
A continuación, puede abrirlo en su editor de texto favorito manualmente o con este comando:
open Dockerfile
start Dockerfile
Reemplace el contenido de Dockerfile
con lo siguiente en el editor de texto:
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY MyMicroservice.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c release -o /app
FROM mcr.microsoft.com/dotnet/aspnet:7.0
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["dotnet", "MyMicroservice.dll"]
Nota: Asegúrese de asignar al archivo el nombre Dockerfile
y no Dockerfile.txt
ni ningún otro nombre.
Un archivo .dockerignore reduce el conjunto de archivos que se utilizan como parte de `docker build`. Menos archivos darán como resultado compilaciones más rápidas.
Cree un archivo llamado .dockerignore
(es similar a un archivo .gitignore
si está familiarizado con ellos) con este comando:
touch .dockerignore
fsutil file createnew .dockerignore 0
A continuación, puede abrirlo en su editor de texto favorito.
A continuación, puede abrirlo en su editor de texto favorito manualmente o con este comando:
open .dockerignore
start .dockerignore
Reemplace el contenido de .dockerignore
a lo siguiente en el editor de texto:
Dockerfile
[b|B]in
[O|o]bj
Ejecute el comando siguiente:
docker build -t mymicroservice .
El comando docker build
usa el Dockerfile
para compilar una imagen de Docker.
-t mymicroservice
le indica que etiquete (o asigne un nombre) a la imagen como mymicroservice
.Dockerfile
(.
especifica el directorio actual).Puede ejecutar el siguiente comando para ver una lista de todas las imágenes disponibles en el equipo, incluida la que acaba de crear.
docker images
Puede ejecutar la aplicación en un contenedor con el siguiente comando:
docker run -it --rm -p 3000:80 --name mymicroservicecontainer mymicroservice
Puede ir a la siguiente dirección URL para acceder a la aplicación que se ejecuta en un contenedor: http://localhost:3000/WeatherForecast
De forma opcional, puede ver el contenedor que se ejecuta en un símbolo del sistema separado utilizando el siguiente comando:
Opcionalmente, puede ver su contenedor ejecutándose en una ventana de terminal separada usando el siguiente comando:
docker ps
Presione CTRL+C en el símbolo del sistema para finalizar el comando docker run
que ejecuta el servicio. en un contenedor.
Presione CTRL+C en el terminal para finalizar el comando docker run
que ejecuta el servicio en un contenedor.
Enhorabuena, ha creado correctamente un pequeño servicio independiente que se puede implementar y escalar mediante contenedores de Docker.
Estos son los componentes básicos de los microservicios.
Enhorabuena. Ha creado un servicio simple y lo ha ejecutado en un contenedor Docker.
Ahora, puede aprender a implementar el microservicio en la nube con nuestro siguiente tutorial.
Tutorial: Implementación de microservicios en Azure
Es posible que también le interese...