Trampolim - Gerenciando aplicativos de inicialização localmente
1. Visão geral do trampolim
Historicamente, uma maneira simples de entender o estado do nosso sistema em tempo de execução era executá-lo manualmente em um terminal. Na melhor das hipóteses, automatizaríamos tudo usando scripts.
Obviamente, o movimento DevOps mudou tudo isso e, felizmente, nossa indústria passou muito além dessa abordagem. Trampoline is one of the solutions that solve this problem (for Unix and Windows users) in the Java ecosystem.
A ferramenta é construída sobre Spring Boot eaims to help Spring Cloud developers in their daily development routine graças a uma interface de usuário limpa e fresca.
Aqui estão alguns dos seus recursos:
-
Iniciar instâncias usando Gradle ou Maven como uma ferramenta de criação
-
Gerenciar instâncias do Spring Boot
-
Configurar argumentos da VM durante a fase de inicialização
-
Monitorar instâncias implementadas: uso de memória, logs e rastreamentos
-
Fornecer feedback aos autores
Neste artigo bastante, revisaremos o problema que o Trampolim aspira resolver, bem como o daremos uma olhada na prática. Faremos uma visita guiada que abrange o registro de um novo serviço e o início de uma instância desse serviço.
2. Microsserviços: única implantação morta
Como discutimos, os tempos em que os aplicativos foram implantados usando uma única unidade de implantação - se foram.
Isso tem consequências positivas e, infelizmente, também negativas. Embora o Spring Boot e o Spring Cloud ajudem nessa transição, há efeitos colaterais que precisamos cuidar.
The journey from monoliths to microservices has introduced a huge improvement to the way developers structure their applications.
Como todos sabemos, não é o mesmo abrir um projeto com um conjunto de 30 classes, bem estruturado entre pacotes e com seus testes de unidades correspondentes, como abrir uma base de código monstro com um grande número de classes, onde as coisas se complicam facilmente .
Não apenas isso - reutilização, dissociação e separação de preocupações se beneficiaram dessa evolução. Embora os benefícios sejam bem conhecidos, vamos listar alguns deles:
-
Princípio de responsabilidade única - importante em termos de manutenção e teste
-
Resiliência - a falha em um serviço não afeta outros serviços
-
Alta escalabilidade - serviços exigentes podem ser implantados em várias instâncias
Porém, temos que enfrentar algumas compensações ao usar a arquitetura de microsserviços, especialmente em relação à sobrecarga e implantações da rede.
No entanto, com foco na implantação,we lost one of the monolith’s advantages – the single deployment. Para resolver isso em um ambiente de produção, temos todo um conjunto de ferramentas de CD que ajudarão e tornarão nossas vidas mais fáceis lá.
3. Trampolim: Configurando o primeiro serviço
Nesta seção, registraremos um serviço no Trampolim e mostraremos todos os recursos disponíveis.
3.1. Baixe o último lançamento
Indo para o Repositório de Trampolim, emreleases section, poderemos baixar a última versão publicada.
Em seguida, inicie o Trampolim, por exemplo, usandomvn spring-boot:runor./gradlew (ougradle.bat)bootRun.
Finalmente, a IU pode ser acessada emhttp://localhost:8080.
3.2. Registrando serviços
Assim que tivermos o Trampolim instalado e funcionando,, vamos para a seçãoSettings, onde poderemos registrar nosso primeiro serviço. Encontraremos dois exemplos de microsserviços no código-fonte do Trampolim:microservice-example-gradle emicroservice-example-maven.https://github.com/ErnestOrt/Trampoline
Para registrar um serviço, as seguintes informações são necessárias:name*,default port*,pom or build location*,build tool*,actuator prefix,eVM default arguments.
Se decidirmos usar o Maven como ferramenta de construção, primeiro teremos que definir a localização do Maven. Se decidirmos, no entanto, usar um wrapper Gradle, ele deve ser colocado em nossa pastamicroservices. Nada mais será necessário.
Neste exemplo, vamos configurar ambos:
A qualquer momento, poderemos revisar as informações do serviço clicando no botãoinfo ou excluí-las clicando no botãotrash.
Finalmente, para poder desfrutar de todos esses recursos, o único requisito é incluiractuator starter (veja o snippet para um exemplo) em nossos projetos Spring Boot, bem como/logfile endpoint por meio de registro bem conhecido propriedades:
org.springframework.boot
spring-boot-starter-actuator
3.3. Gerenciando instâncias de serviço
Agora, estamos prontos para ir para a seçãoInstances. Aqui, poderemos iniciar e interromper instâncias de serviço e também monitorar seus status, rastros, registros e consumo de memória.
Para este tutorial, iniciamos uma instância de cada serviço registrado anteriormente:
===
3.4. painel de controle
Finalmente, vamos ter uma visão geral rápida da seçãoDashboard. Aqui, podemos visualizar algumas estatísticas, como o uso de memória de nosso computador ou serviços registrados ou iniciados.
Também poderemos verificar se as informações necessárias do Maven foram introduzidas ou não na seção de configurações:
===3.5. Feedback
E por último, mas não menos importante, podemos encontrar um botãoFeedback que redireciona para o repositório GitHub onde é possível criar problemas ou levantar questões e melhorias.
==4. Conclusão
Durante o curso deste tutorial, discutimos o problema que o Trampoline pretende solucionar.
Também mostramos uma visão geral de suas funcionalidades, bem como um breve tutorial sobre como registrar um serviço e como monitorá-lo.
Finalmente, observe quethis is an open source projecte você está convidado a contribuir.