큐 모드
확장성을 위한 n8n 큐 모드 운영 가이드
필요에 따라 n8n을 다양한 모드로 실행할 수 있습니다. 큐 모드는 최고의 확장성을 제공합니다. 바이너리 데이터 저장 n8n은 파일시스템에 바이너리 데이터를 저장하는 큐 모드를 지원하지 않습니다. 워크플로우가 큐 모드에서 바이너리 데이터를 유지해야 하는 경우 S3 외부 스토리지 를 사용할 수 있습니다. 작동 방식 # 큐 모드로 실행할 때는 여러 n8n 인스턴스를 설정하며, 하나의 메인 인스턴스가 워크플로우 정보(예: 트리거)를 받고 워커 인스턴스가 실행을 수행합니다. 각 워커는 자체 Node.js 인스턴스이며 main 모드로 실행되지만 높은 IOPS(초당 입출력 작업 수) 덕분에 여러 워크플로우 실행을 동시에 처리할 수 있습니다. 워커 인스턴스를 사용하고 큐 모드로 실행함으로써 워크로드를 처리하기 위해 필요에 따라 n8n을 확장(워커 추가) 및 축소(워커 제거)할 수 있습니다. 프로세스 흐름은 다음과 같습니다: 메인 n8n 인스턴스가 타이머와 웹훅 호출을 처리하여 워크플로우 실행을 생성합니다(실행하지는 않음). 실행 ID를 메시지 브로커인 Redis 에 전달하며, Redis는 대기 중인 실행의 큐를 유지하고 다음 사용 가능한 워커가 이를 가져갈 수 있도록 합니다. 풀의 워커가 Redis에서 메시지를 가져옵니다. 워커는 실행 ID를 사용하여 데이터베이스에서 워크플로우 정보를 가져옵니다. 워크플로우 실행을 완료한 후 워커는: 결과를 데이터베이스에 씁니다. Redis에 실행이 완료되었다고 게시합니다. Redis가 메인 인스턴스에 알립니다. 워커 구성 # 워커는 실제 작업을 수행하는 n8n 인스턴스입니다. 메인 n8n 프로세스로부터 실행해야 할 워크플로우에 대한 정보를 받아 워크플로우를 실행하고 각 실행이 완료된 후 상태를 업데이트합니다. 암호화 키 설정 # n8n은 처음 시작할 때 자동으로 암호화 키를 생성합니다. 원하는 경우 환경 변수 를 사용하여 사용자 정의 키를 제공할 수도 있습니다. 메인 n8n 인스턴스의 암호화 키는 모든 워커 및 웹훅 프로세서 노드와 공유되어야 하며, 이를 통해 이러한 워커 노드가 데이터베이스에 저장된 자격 증명에 액세스할 수 있습니다. 각 워커 노드의 암호화 키를 구성 파일 에서 또는 해당 환경 변수를 설정하여 지정합니다: export N8N_ENCRYPTION_KEY=<main_instance_encryption_key> 실행 모드 설정 # 데이터베이스 고려사항 n8n은 Postgres 13+ 사용을 권장합니다. 실행 모드를 queue 로 설정하고 SQLite 데이터베이스와 함께 n8n을 실행하는 것은 권장되지 않습니다. 다음 명령을 사용하여 메인 인스턴스 및 모든 워커에서 환경 변수 EXECUTIONS_MODE 를 queue 로 설정합니다. export EXECUTIONS_MODE=queue 또는 구성 파일 에서 executions.mode 를 queue 로 설정할 수 있습니다. Redis 시작 # 별도 머신에서 Redis 실행 Redis를 별도 머신에서 실행할 수 있으며, n8n 인스턴스에서 액세스할
