으로 작성된 마이크로 서비스가 여러 개 있는데 Docker Swarm
으로 실행 중입니다.Docker Swarm을 사용할 때 nodejs 마이크로 서비스를 정상적으로 종료합니다.
Kubernetes 또는 Swarm과 같은 컨테이너 오케스트레이션 도구는 즉시 서비스를 위아래로 확장 할 수 있으므로 Nodejs 서비스를 정상적으로 종료하여 미완료 된 실행 프로세스를 방지하는 데 대한 질문이 있습니다. 서비스을 확장 할 때 고정 표시기 떼 가 직원에게 SIGNINT
를 보낼 수 있습니까, 각 작업자 프로세스에 SIGNINT 신호를 전송
- : 아래 내가 생각할 수있는 흐름이다?
작업자
는
가 어떻게 실행중인 프로세스가 아래로 를 종료하기 전에 완료 될 때까지 기다립니다, 새로운 API 요청을 중지 할 수 있습니다 신호, 정리 또는 무료 모든 사용되는 리소스를 잡아하고 그 절차를 완료 할 책임이있다? 참조에서
아래의 일부 코드 :
process.on('SIGINT',() => {
const cleanUp =() => {
// How can I clean resources like DB connections using Sequelizer
}
server.close(() => {
cleanUp()
process.exit()
})
// Force close server after 5secs, `Should I do this?`
setTimeout((e) => {
cleanUp()
process.exit(1)
}, 5000)
})