Guia de início rápido: implantar um aplicativo Java do Spring Boot no Azure Service Fabric
Neste início rápido, você implantará um aplicativo Java Spring Boot no Azure Service Fabric usando ferramentas de linha de comando conhecidas no Linux ou no macOS. O Azure Service Fabric é uma plataforma de sistemas distribuídos para implantação e gerenciamento de contêineres e microsserviços.
Pré-requisitos
Baixar o exemplo
Em uma janela de terminal, execute o comando a seguir para clonar o aplicativo Spring Boot de exemplo Introdução no computador local.
git clone https://github.com/spring-guides/gs-spring-boot.git
Criar o aplicativo Spring Boot
No diretório gs-spring-boot/complete, execute o comando abaixo para criar o aplicativo
./gradlew build
Empacotar o aplicativo Spring Boot
No diretório gs-spring-boot em seu clone, execute o comando
yo azuresfguest
.Insira os seguintes detalhes para cada aviso.
Na pasta SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/code, crie um arquivo chamado entryPoint.sh. Adicione o código a seguir ao arquivo entryPoint.sh.
#!/bin/bash BASEDIR=$(dirname $0) cd $BASEDIR java -jar *spring-boot*.jar
Adicionar o recurso de Pontos de extremidade ao arquivo gs-spring-boot/SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/ServiceManifest.xml
<Resources> <Endpoints> <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" /> </Endpoints> </Resources>
O ServiceManifest.xml agora tem esta aparência:
<?xml version="1.0" encoding="utf-8"?> <ServiceManifest Name="SpringGettingStartedPkg" Version="1.0.0" xmlns="http://schemas.microsoft.com/2011/01/fabric" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" > <ServiceTypes> <StatelessServiceType ServiceTypeName="SpringGettingStartedType" UseImplicitHost="true"> </StatelessServiceType> </ServiceTypes> <CodePackage Name="code" Version="1.0.0"> <EntryPoint> <ExeHost> <Program>entryPoint.sh</Program> <Arguments></Arguments> <WorkingFolder>CodePackage</WorkingFolder> </ExeHost> </EntryPoint> </CodePackage> <Resources> <Endpoints> <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" /> </Endpoints> </Resources> </ServiceManifest>
Neste estágio, você criou um aplicativo Service Fabric para o Guia de Introdução do Spring Boot de exemplo que pode ser implantado no Service Fabric.
Executar o aplicativo localmente
Inicie o cluster local nos computadores Ubuntu executando o seguinte comando:
sudo /opt/microsoft/sdk/servicefabric/common/clustersetup/devclustersetup.sh
Se estiver usando um Mac, inicie o cluster local na imagem do Docker (assumindo que você seguiu os pré-requisitos a fim de configurar o cluster local para Mac).
docker run --name sftestcluster -d -p 19080:19080 -p 19000:19000 -p 25100-25200:25100-25200 -p 8080:8080 mysfcluster
A inicialização do cluster local leva algum tempo. Para confirmar se o cluster está totalmente funcional, acesse o Service Fabric Explorer em
http://localhost:19080
. Os cinco nós íntegros indicam que o cluster local está em execução.Abra a pasta gs-spring-boot/SpringServiceFabric.
Execute o seguinte comando para se conectar ao cluster local.
sfctl cluster select --endpoint http://localhost:19080
Execute o script install.sh.
./install.sh
Abra seu navegador da Web favorito e acesse o aplicativo em
http://localhost:8080
.
Agora é possível acessar o aplicativo Spring Boot que foi implantado em um cluster do Service Fabric.
Para obter mais informações, confira a amostra de Introdução do Spring Boot no site do Spring.
Dimensionar aplicativos e serviços em um cluster
Os serviços do Service Fabric podem ser colocados em escala em um cluster para acomodar uma alteração na carga dos serviços. Dimensione um serviço alterando o número de instâncias em execução no cluster. Existem várias maneiras de colocar seus serviços em escala, por exemplo, usando scripts ou comandos da CLI do Service Fabric (sfctl). As etapas a seguir usam o Service Fabric Explorer.
O Service Fabric Explorer é executado em todos os clusters do Service Fabric e pode ser acessado em um navegador, navegando para a porta de gerenciamento HTTP do cluster (19080), por exemplo, http://localhost:19080
.
Para dimensionar o serviço de front-end da Web, faça o seguinte:
Abra o Service Fabric Explorer no cluster – por exemplo,
http://localhost:19080
.Selecione as reticências (...) ao lado do nó fabric:/SpringServiceFabric/SpringGettingStarted no modo de exibição de árvore e selecione Dimensionar Serviço.
Agora é possível optar por dimensionar o número de instâncias do serviço.
Altere o número para 3 e selecione Dimensionar Serviço.
Uma maneira alternativa de dimensionar o serviço usando a linha de comando é a seguinte.
# Connect to your local cluster sfctl cluster select --endpoint https://<ConnectionIPOrURL>:19080 --pem <path_to_certificate> --no-verify # Run Bash command to scale instance count for your service sfctl service update --service-id 'SpringServiceFabric~SpringGettingStarted' --instance-count 3 --stateless
Selecione o nó fabric:/SpringServiceFabric/SpringGettingStarted no modo de exibição de árvore e expanda o nó de partição (representado por um GUID).
O serviço tem três instâncias e o modo de exibição de árvore mostra em quais nós as instâncias são executadas.
Com essa tarefa de gerenciamento simples, você dobrou o número de recursos disponíveis para o serviço de front-end processar a carga do usuário. É importante entender que você não precisa de várias instâncias de um serviço para que ele seja executado de forma confiável. Se um serviço falhar, o Service Fabric fará com que uma nova instância de serviço seja executada no cluster.
Fazer failover de serviços em um cluster
Para demonstrar o failover do serviço, é possível simular uma reinicialização do nó usando o Service Fabric Explorer. Verifique se apenas uma instância do seu serviço está em execução.
Abra o Service Fabric Explorer no cluster – por exemplo,
http://localhost:19080
.Clique nas reticências (...) ao lado do nó que está executando a instância do serviço e reinicie o nó.
Agora a instância do serviço é movida para um nó diferente, e seu aplicativo não passa por nenhum tempo de inatividade.
Próximas etapas
Neste guia de início rápido, você aprendeu a:
- Implantar um aplicativo Spring Boot no Service Fabric
- Implantar o aplicativo no cluster local
- Escalar horizontalmente o aplicativo para vários nós
- Executar failover de seu serviço sem nenhuma ocorrência de disponibilidade
Para saber mais sobre como trabalhar com aplicativos Java no Service Fabric, continue o tutorial para os aplicativos Java.