Executar microserviços localmente¶
Execute os comandos na raiz do serviço escolhido. Separe execução no host, execução em container e execução no cluster: localhost identifica ambientes diferentes em cada caso.
Java / Quarkus¶
Com Java 21 e dependências resolvidas, JSON Handler e outros serviços Quarkus possuem Maven Wrapper:
./mvnw.cmd quarkus:dev
No Linux, use ./mvnw quarkus:dev. O modo dev do Quarkus permite recarga de código. Para executar o artefato JVM já empacotado, use o diretório target/quarkus-app completo:
java -jar target/quarkus-app/quarkus-run.jar
Para JSON Handler, a porta é 8080 e o health fica em /jsonhandler/q/health/ready. O tutorial completo mostra a mesma aplicação em container, expondo somente 127.0.0.1:18080.
| Serviço | Particularidade a conferir |
|---|---|
| JSON Handler | /jsonhandler, porta 8080; processamento em memória |
| Builder | /builder, porta 8080; integrações Core/iPaaS e cache |
| Core | /core; MongoDB e outras dependências conforme configuração |
| BFF | quarkus.http.root-path=/; não copiar /gateway do README como raiz atual |
Use application.properties e profiles como fonte das portas e URLs. Não inicie todos os serviços na porta padrão 8080. Quando utilizar override de porta, ajuste também os clients que o consomem. O profile %test não representa a configuração de desenvolvimento.
Go¶
Leia go.mod e use o ponto de entrada efetivo. Exemplos presentes nos repositórios:
| Serviço | Comando na raiz do respectivo repositório |
|---|---|
| Router | go run main.go |
| Discovery | go run ./cmd/totvs-gateway-discovery |
| Broker | go run ./cmd/api |
go run não fornece hot reload automaticamente. Router lê PORT e CONTEXT_PATH, com defaults 8080 e /router. Esses nomes não se aplicam automaticamente ao Broker ou Discovery: consulte seus módulos de configuração.
Conexão a dependências¶
URLs *.svc.cluster.local são nomes internos do Kubernetes. Uma aplicação no host precisa de acesso apropriado à dependência, por exemplo port-forward para um Service local, e configuração coerente dos clients. O encaminhamento de uma porta não muda automaticamente URLs de autenticação, emissor de tokens ou resolução de tenants.
Use o inventário de integrações para escolher o conjunto necessário e Debugging e troubleshooting para distinguir falha de processo, conectividade e contrato. O exemplo funcional sem dependências externas está no Primeiro deploy local.