Files
rtgs/infra/start-infra-native.cmd
rtgs d180d516cd feat(3c): 3센터 A-A-A 기동 스크립트 + 인프라 멱등화
- run-3centers.cmd: 공유 인프라 + DC1(3c,순번기) + DC2/DC3 일괄 기동 오케스트레이터
- run-dc2/dc3: CHANEL_URL(자기 센터 Chanel 8191/8291) + RTGS_CONTROL_ENABLED=false
- start-infra-native: Kafka 9092 LISTENING이면 재기동 skip(중복 창 방지, 멱등)
- run-dt.cmd: 단말(DT) dev 서버 기동
- 전제: PostgreSQL max_connections>=300(19서비스 커넥션)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 17:33:27 +09:00

52 lines
2.4 KiB
Batchfile

@echo off
rem ===================================================================
rem RTGS 네이티브 인프라 기동 (Docker 대체 - 이 PC는 가상화 미지원).
rem PostgreSQL(:5433) + Kafka(:9092, KRaft 단일노드)
rem 문서저장(원전문/조회사본)도 PostgreSQL 사용(MongoDB는 EDR 파일락으로 제외).
rem 멱등: 이미 초기화/기동돼 있으면 건너뜀.
rem ===================================================================
call C:\ai-dev\scripts\env.cmd
set "JAVA_HOME=%JDK21_HOME%"
set "PGBIN=%DEV_HOME%\apps\postgresql-16.4\bin"
set "PGDATA=%DEV_HOME%\home\pgsql-data"
set "KAFKA=%DEV_HOME%\apps\kafka-3.8.1"
set "KDATA=%DEV_HOME%\home\kafka"
set "KAFKA_HEAP_OPTS=-Xmx1G -Xms1G"
rem ---------- PostgreSQL ----------
if not exist "%PGDATA%\PG_VERSION" (
echo [infra] initdb PostgreSQL cluster...
"%PGBIN%\initdb.exe" -D "%PGDATA%" -U rtgs -E UTF8 --locale=C -A trust
)
"%PGBIN%\pg_ctl.exe" status -D "%PGDATA%" >nul 2>&1
if errorlevel 1 (
echo [infra] starting PostgreSQL :5433...
"%PGBIN%\pg_ctl.exe" -D "%PGDATA%" -o "-p 5433" -l "%PGDATA%\server.log" -w start
) else (
echo [infra] PostgreSQL already running.
)
rem create db if missing (스키마/시드는 Flyway가 담당 — LouisVuitton 기동 시 V1__baseline 부터 적용)
"%PGBIN%\psql.exe" -h localhost -p 5433 -U rtgs -d postgres -tAc "SELECT 1 FROM pg_database WHERE datname='rtgs'" | findstr "1" >nul
if errorlevel 1 (
echo [infra] creating empty db rtgs [schema by Flyway]...
"%PGBIN%\createdb.exe" -h localhost -p 5433 -U rtgs rtgs
)
rem ---------- Kafka (KRaft) ----------
if not exist "%KDATA%\kraft-logs\meta.properties" (
echo [infra] formatting Kafka KRaft storage...
for /f "delims=" %%i in ('%KAFKA%\bin\windows\kafka-storage.bat random-uuid') do set "CID=%%i"
"%KAFKA%\bin\windows\kafka-storage.bat" format -t %CID% -c "%KDATA%\server.properties"
)
rem 멱등: 9092가 이미 LISTENING이면 재기동 안 함(중복 Kafka 창 방지 — run-3centers에서 두 번 호출돼도 안전).
netstat -ano | findstr ":9092" | findstr LISTENING >nul
if errorlevel 1 (
echo [infra] starting Kafka :9092 (new window; keep it open)...
start "RTGS Kafka :9092" cmd /k "%KAFKA%\bin\windows\kafka-server-start.bat %KDATA%\server.properties"
) else (
echo [infra] Kafka already running (:9092).
)
echo.
echo [infra] PostgreSQL :5433 (db rtgs), Kafka :9092 up. (MongoDB not used - docs in PostgreSQL)