- Instala Istio (base + istiod + ingressgateway) - Configura Kiali e Jaeger para observabilidade - Deploy de app-backend v1 e v2 com traffic splitting 90/10 - Integra com Victoria Metrics da aula-12 - Inclui teste-stress.sh para validar distribuição de tráfego - Tráfego externo passa pelo Istio Gateway via NGINX Ingress
33 lines
674 B
JavaScript
33 lines
674 B
JavaScript
const http = require("http");
|
|
|
|
const MAX_REQUESTS = parseInt(process.env.MAX_REQUESTS) || 5;
|
|
let requestCount = 0;
|
|
let frozen = false;
|
|
|
|
const server = http.createServer((req, res) => {
|
|
if (frozen) {
|
|
return;
|
|
}
|
|
|
|
requestCount++;
|
|
console.log(`[v1] request ${requestCount}/${MAX_REQUESTS}`);
|
|
|
|
if (requestCount >= MAX_REQUESTS) {
|
|
frozen = true;
|
|
console.log("[v1] Aplicação travou");
|
|
}
|
|
|
|
if (req.url === "/health") {
|
|
res.writeHead(200);
|
|
res.end("ok");
|
|
return;
|
|
}
|
|
|
|
res.writeHead(200);
|
|
res.end(`v1 - Request ${requestCount}\n`);
|
|
});
|
|
|
|
server.listen(3000, () => {
|
|
console.log(`[v1] Porta 3000 (trava após ${MAX_REQUESTS} requests)`);
|
|
});
|