Partilhar via


Guia de início rápido: implantar um aplicativo Java Spring Boot no Azure Service Fabric

Neste início rápido, você implanta um aplicativo Java Spring Boot no Azure Service Fabric usando ferramentas de linha de comando familiares no Linux ou macOS. O Azure Service Fabric é uma plataforma de sistemas distribuídos para implantar e gerenciar microsserviços e contêineres.

Pré-requisitos

Transferir o exemplo

Em uma janela de terminal, execute o seguinte comando para clonar o aplicativo de exemplo Introdução ao Spring Boot para sua máquina local.

git clone https://github.com/spring-guides/gs-spring-boot.git

Crie o aplicativo Spring Boot

Dentro do diretório gs-spring-boot/complete , execute o comando abaixo para construir o aplicativo

./gradlew build

Empacotar o aplicativo Spring Boot

  1. Dentro do diretório gs-spring-boot em seu clone, execute o yo azuresfguest comando.

  2. Insira os seguintes detalhes para cada prompt.

    Entradas Spring Boot Yeoman

  3. Na pasta SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/code , crie um arquivo chamado entryPoint.sh. Adicione o seguinte código ao arquivo entryPoint.sh .

    #!/bin/bash
    BASEDIR=$(dirname $0)
    cd $BASEDIR
    java -jar *spring-boot*.jar
    
  4. Adicione o recurso Endpoints no arquivo gs-spring-boot/SpringServiceFabric/SpringServiceFabric/SpringGettingStartedPkg/ServiceManifest.xml

        <Resources>
          <Endpoints>
            <Endpoint Name="WebEndpoint" Protocol="http" Port="8080" />
          </Endpoints>
       </Resources>
    

    O ServiceManifest.xml agora é assim:

    <?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>
    

Nesta etapa, você criou um aplicativo do Service Fabric para o exemplo de Introdução ao Spring Boot que pode ser implantado no Service Fabric.

Execute o aplicativo localmente

  1. Inicie seu cluster local em máquinas Ubuntu executando o seguinte comando:

    sudo /opt/microsoft/sdk/servicefabric/common/clustersetup/devclustersetup.sh
    

    Se estiver usando um Mac, inicie o cluster local a partir da imagem do Docker (isso pressupõe que você tenha seguido os pré-requisitos para configurar seu 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 ativo, acesse o Service Fabric Explorer em http://localhost:19080. Os cinco nós íntegros indicam que o cluster local está ativo e a funcionar.

    O Service Fabric Explorer mostra nós saudáveis

  2. Abra a pasta gs-spring-boot/SpringServiceFabric .

  3. Execute o seguinte comando para se conectar ao cluster local.

    sfctl cluster select --endpoint http://localhost:19080
    
  4. Execute o script install.sh.

    ./install.sh
    
  5. Abra seu navegador favorito e acesse o aplicativo acessando http://localhost:8080.

    Exemplo do Spring Boot Service Fabric

Agora você pode acessar o aplicativo Spring Boot que foi implantado em um cluster do Service Fabric.

Para obter mais informações, consulte o exemplo "Getting Started" do Spring Boot no site do Spring.

Dimensionar aplicativos e serviços em um cluster

Os serviços podem ser dimensionados em um cluster para acomodar uma alteração na carga dos serviços. Você dimensiona um serviço alterando o número de instâncias em execução no cluster. Há muitas maneiras de dimensionar seus serviços, por exemplo, você pode usar scripts ou comandos da CLI do Service Fabric (sfctl). As etapas abaixo usam o Service Fabric Explorer.

O Service Fabric Explorer é executado em todos os clusters do Service Fabric e pode ser acessado de um navegador navegando até a porta de gerenciamento HTTP do cluster (19080); por exemplo, http://localhost:19080.

Para dimensionar o serviço front-end da Web, faça o seguinte:

  1. Abra o Service Fabric Explorer em seu cluster - por exemplo, http://localhost:19080.

  2. Selecione as reticências (...) ao lado do nó fabric:/SpringServiceFabric/SpringGettingStarted na exibição em árvore e selecione Scale Service.

    Exemplo de serviço de escala do Service Fabric Explorer

    Agora você pode optar por dimensionar o número de instâncias do serviço.

  3. 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 
    
  4. Selecione o nó fabric:/SpringServiceFabric/SpringGettingStarted na visualização em árvore e expanda o nó da partição (representado por um GUID).

    Serviço de dimensionamento do Service Fabric Explorer concluído

    O serviço tem três instâncias e a exibição em árvore mostra em quais nós as instâncias são executadas.

Através desta simples tarefa de gestão, conseguiste duplicar os recursos disponíveis para processar a carga de utilizador pelo serviço front-end. É 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 garante que uma nova instância de serviço seja executada no cluster.

Serviços de failover num cluster

Para demonstrar o failover de serviço, simula-se uma reinicialização de nó usando o Service Fabric Explorer. Verifique se apenas uma instância do seu serviço está em execução.

  1. Abra o Service Fabric Explorer em seu cluster - por exemplo, http://localhost:19080.

  2. Clique nas reticências (...) junto ao nó que está a executar a instância do seu serviço, depois reinicie o nó.

    Reiniciar nó no Service Fabric Explorer

  3. A instância do seu serviço é movida para um nó diferente e a sua aplicação não sofre interrupção.

    Nó de reinicialização do Service Fabric Explorer bem-sucedido

Próximos passos

Neste início rápido, aprendeu a:

  • Implantar um aplicativo Spring Boot no Service Fabric
  • Implantar o aplicativo em seu cluster local
  • Dimensionar a aplicação em múltiplos nós
  • Realize o failover do seu serviço sem impacto na disponibilidade

Para saber mais sobre como trabalhar com aplicativos Java no Service Fabric, continue para o tutorial para aplicativos Java.

Desdobrar uma aplicação Java.