Familiarize-se com os componentes utilizados para criar microsserviços com o .NET.
Nenhum.
macOS 10.15 ou versões posteriores.
15 minutos
Crie um serviço simples que retorna uma lista de valores e execute o serviço em um contêiner do Docker.
Para começar a criar aplicativos .NET, baixe e instale o SDK do .NET (Kit de desenvolvimento de software).
Baixe o SDK do .NET 7 (64 bits)
Download de 32 bits
|
Download do Arm64
Você precisa instalar dependências adicionais em versões mais antigas do Windows. Consulte Windows 7 / Vista / 8.1 / Server 2008 R2 / Server 2012 R2 para obter mais informações.
Baixar o SDK do .NET x64 (Intel)
Baixar o SDK do .NET Arm64 (Apple Silicon)
Se você estiver em um Mac com um chip Apple M1, precisará instalar a versão Arm64 do SDK.
Depois de instalar, abra um novo prompt de comando e execute o seguinte comando:
Depois de instalar, abra um novo terminal e execute o seguinte comando:
dotnet
Se a instalação for bem-sucedida, você deverá ver uma saída semelhante à seguinte:
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.
Se tudo estiver certo, selecione o botão Continuar abaixo para ir para a próxima etapa.
Se você receber um erro 'dotnet' não é reconhecido como um comando interno ou externo, verifique se você abriu um novo prompt de comando. Se você não puder resolver o problema, use o botão ocorreu um problema para obter ajuda para corrigir o problema.
Se você receber um erro zsh: comando não encontrado: dotnet, verifique se você abriu uma nova janela de terminal. Se o problema não for resolvido, use o botão Ocorreu um problema para obter ajuda para corrigir o problema.
Se você receber um erro dotnet: comando não encontrado, verifique se você abriu uma nova janela de terminal. Se o problema não for resolvido, use o botão Ocorreu um problema para obter ajuda para corrigir o problema.
Em seu prompt de comando, execute o seguinte comando para criar seu aplicativo:
Em seu terminal, execute o seguinte comando para criar seu aplicativo:
dotnet new webapi -o MyMicroservice --no-https -f net7.0
Em seguida, navegue até o novo diretório criado pelo comando anterior:
cd MyMicroservice
O comando dotnet
cria um novo aplicativo do tipo webapi
(que é um ponto de extremidade da API REST).
-o
cria um diretório chamado MyMicroservice
em que seu aplicativo é armazenado.--no-https
cria um aplicativo que será executado sem um certificado HTTPS, para manter as coisas simples para implantação.-f
indica que você está criando um aplicativo .NET 7.O comando cd MyMicroservice
o coloca no diretório de aplicativos recém-criado.
Vários arquivos foram criados no diretório MyMicroservice
para oferecer a você um serviço simples pronto para execução.
MyMicroservice.csproj
define quais bibliotecas o projeto faz referência etc.Program.cs
contém todas as configurações carregadas quando o aplicativo é iniciado.Controllers/WeatherForecastController.cs
tem código para uma API simples que retorna a previsão do tempo para os próximos cinco dias.launchSettings.json
dentro do diretório Properties
define diferentes configurações de perfil para o ambiente de desenvolvimento local. Um número de porta variando entre 5000 e 5300 é atribuído automaticamente na criação do projeto e salvo neste arquivo.O código a seguir mostra o conteúdo do arquivo WeatherForecastController.cs
localizado no diretório 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();
}
}
Selecione o botão Continuar abaixo para ir para a próxima etapa.
Não foi possível criar uma mensagem semelhante ao Template "ASP.NET Core Web API". Falha ao criar o modelo. Detalhes: O acesso ao caminho 'C:\Windows\System32\MyMicroservice' foi negado, altere seu diretório atual para um em que você tenha permissões para criar uma nova pasta e tente executar o comando novamente.
Se o Windows não encontrar o SDK ao tentar criar o projeto e você tiver certeza de que instalou o SDK, seu computador poderá ter um problema com a variável de ambiente PATH. Confira esta postagem do Stack Overflow para obter instruções sobre como diagnosticar e corrigir esse problema.
Se o problema não for resolvido, selecione o botão Ocorreu um problema abaixo para obter ajuda para corrigir o problema.
Em seu prompt de comando, execute o seguinte comando:
Em seu terminal, execute o seguinte comando:
dotnet run
Você deverá ver uma saída semelhante à seguinte:
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\
Aguarde que o aplicativo exiba que está ouvindo em http://localhost:<port number> e, em seguida, abra um navegador e navegue até http://localhost:<port number>/WeatherForecast.
Neste exemplo, ele mostrava que estava escutando na porta 5020. Portanto, a imagem a seguir mostra a URL http://localhost:5020/WeatherForecast
.
Parabéns! Você tem um serviço simples em execução!
Pressione CTRL+C no prompt de comando para encerrar o comando dotnet run
que está executando o serviço localmente.
Pressione CTRL+C no terminal para encerrar o comando dotnet run
que está executando o serviço localmente.
O Docker é uma plataforma que permite combinar um aplicativo mais sua configuração e suas dependências em uma única unidade implantável independentemente chamada contêiner.
Se você já possui o Docker instalado, verifique se é a versão 20.10 ou superior.
Você deve se registrar no Docker Store para poder baixar o instalador.
Por padrão, o Docker usará Contêineres do Linux no Windows. Deixe essas definições de configuração como estão quando solicitado no instalador.
Depois de instalar o Docker, você pode ser solicitado a sair para finalizar a instalação.
Depois de instalar, abra um novo prompt de comando e execute o seguinte comando:
Depois de instalar, abra um novo terminal e execute o seguinte comando:
docker --version
Se o comando for executado exibindo algumas informações de versão o Docker será instalado com êxito.
Para executar com uma imagem do Docker, você precisa de um Dockerfile
— um arquivo de texto que contém instruções sobre como criar seu aplicativo como uma imagem do Docker. Uma imagem do Docker contém tudo o que é necessário para executar seu aplicativo como um contêiner do Docker.
Já que abriu um novo prompt de comando na etapa anterior, você precisará retornar ao diretório no qual criou o serviço.
Como você abriu um novo terminal na etapa anterior, precisará retornar ao diretório no qual criou o serviço.
cd MyMicroservice
Criar um arquivo chamado Dockerfile
com este comando:
touch Dockerfile
fsutil file createnew Dockerfile 0
Em seguida, você pode abri-lo em seu editor de texto favorito.
Você pode então abri-lo em seu editor de texto favorito manualmente ou com este comando:
open Dockerfile
start Dockerfile
Substitua o conteúdo do Dockerfile
para o seguinte no 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"]
Observação: certifique-se de nomear o arquivo como Dockerfile
e não Dockerfile.txt
ou algum outro nome.
Um arquivo .dockerignore reduz o conjunto de arquivos usados como parte da “compilação do Docker”. Menos arquivos resultarão em compilações mais rápidas.
Crie um arquivo chamado .dockerignore
arquivo (isso é semelhante a um arquivo de .gitignore
se você já conhece deles) com este comando:
touch .dockerignore
fsutil file createnew .dockerignore 0
Em seguida, você pode abri-lo em seu editor de texto favorito.
Você pode então abri-lo em seu editor de texto favorito manualmente ou com este comando:
open .dockerignore
start .dockerignore
Substitua o conteúdo do .dockerignore
para o seguinte no editor de texto:
Dockerfile
[b|B]in
[O|o]bj
Execute o seguinte comando:
docker build -t mymicroservice .
O comando docker build
usa o Dockerfile
para criar uma imagem do Docker.
-t mymicroservice
instrui-o a marcar (ou nomear) a imagem como mymicroservice
.Dockerfile
(.
especifica o diretório atual).Você pode executar o comando a seguir para ver uma lista de todas as imagens disponíveis em seu computador, incluindo a que você acabou de criar.
docker images
Você pode executar seu aplicativo em um contêiner usando o seguinte comando:
docker run -it --rm -p 3000:80 --name mymicroservicecontainer mymicroservice
Você pode navegar para a seguinte URL para acessar seu aplicativo em execução em um contêiner: http://localhost:3000/WeatherForecast
Opcionalmente, você pode exibir o contêiner em execução em uma janela de prompt de comando separada usando o seguinte comando:
Opcionalmente, você pode exibir o contêiner em execução em uma janela de terminal separada usando o seguinte comando:
docker ps
Pressione CTRL+C no seu prompt de comando para encerrar o comando docker run
que está executando o serviço em um contêiner.
Pressione CTRL+C no seu terminal para encerrar o comando docker run
que está executando o serviço em um contêiner.
Parabéns! Você criou com sucesso um pequeno serviço independente que pode ser implantado e ampliado usando contêineres do Docker.
Estes são os blocos de criação fundamentais de microsserviços.
Parabéns! Você criou um serviço simples e o executou em um contêiner do Docker.
Agora, você pode aprender a implantar seu microserviço na nuvem com nosso próximo tutorial.
Tutorial: Implantar microsserviço no Azure
Você também pode estar interessado em...