본문 바로가기

framework_library67

배치는 일반명사 Quartz는 고유명사 (구현체) 사전 상식 🔵클러스터 ? 클러스터(Cluster)는 비슷한 업종, 기능, 혹은 데이터들이 하나로 모여 있는 ‘군집’이나 ‘집적체’를 뜻합니다. 산업에서는 관련 기업/기관이 모인 산업단지(지구), IT/컴퓨터에서는 병렬 연결된 서버 그룹이나 저장 논리 단위를 말하며, 자동차에서는 계기판을 의미합니다. 쿼츠 클러스터 스케줄 ? 여러 대의 서버(노드)가 동일한 스케줄링 데이터베이스를 공유하여, 작업을 분산 처리하고 고가용성(High Availability)을 보장하는 방식 - 중복 실행 방지: 여러 서버가 있어도 특정 작업(Job)은 클러스터 내에서 단 한 번만 실행되도록 보장합니다. - 고가용성 및 장애 조치(Failover): 작업을 실행하던 서버가 다운되면, 클러스터링된 다른 서버가 해당 작업을 인.. 2026. 4. 17.
배치로 처리하는 업무 유형 🔥 1️⃣ 데이터 정리 / 정합성 배치👉 운영하다 보면 반드시 필요해지는 영역✔ 예시✔ 중복 데이터 정리✔ 잘못된 상태값 보정✔ orphan 데이터 삭제✔ FK 깨진 데이터 복구✔ 데이터 정규화 (코드값 변환)👉 특징"운영 중 쌓인 쓰레기 데이터 정리"👉 실무 포인트이거 없으면 DB 망가짐🔥 2️⃣ 로그 / 통계 / 분석 배치✔ 예시✔ 접속 로그 집계✔ 클릭 수 / 조회수 집계✔ 인기 상품 랭킹 생성✔ 사용자 행동 분석 데이터 생성✔ A/B 테스트 결과 집계👉 특징"raw 데이터를 가공해서 의미 있는 데이터로 만듦"👉 실무 포인트실시간 처리하면 서버 터짐 → 배치로 돌림🔥 3️⃣ 외부 시스템 연동 배치✔ 예시✔ ERP / SAP 데이터 동기화✔ 물류 시스템 연동✔ 결제사 정산 데이터 수집✔.. 2026. 4. 14.
Spring Batch - 배치(Batch)란 무엇인가?(2) ✅ 1. 배치는 개념이다배치 = "방식(개념)"이지 특정 기술이 아님 👉 배치: "정해진 작업을 정해진 시점에 실행" 👉 그래서OS 수준에서도 가능애플리케이션 수준에서도 가능언어별로 다 구현 가능✅ 2. 레벨별로 정확히 나누면🔥 1) OS 수준 배치. 누가 & 언제🔵 cron기반cron (실행 + 스케줄) ↓java -jar 실행 ↓Spring Batch 수행👉 대표: Crontab "00시 00분에 이 프로그램을 실행해!" 하고 명령을 내리면, 프로세스가 생성되었다가 작업 후에 소멸 OS가 시간되면 프로그램 실행 (즉, cron이 실행주체이자 스케쥴러 역할을 같이 함) 예:0 2 * * * python job.py👉 언제 쓰는가? (OS 수준이 유리할 때):완벽한 자원 분리: 배치가 실.. 2026. 4. 14.
Spring 의 Spring MVC ✅ 1. 결론부터👉 Spring은 원래 MVC 전용 프레임워크가 아니다👉 대신 정확한 정의는:Spring = 범용 Java 애플리케이션 프레임워크Spring MVC = Spring 위에 올라간 웹(MVC) 모듈 ✅ 2. 왜 “Spring = MVC”처럼 느껴지냐실무에서 대부분 이렇게 쓰기 때문👇웹 개발 = Spring MVC 사용→ 그래서 Spring = MVC처럼 보임 👉 근데 이건 “사용 패턴”일 뿐✅ 3. Spring 구조를 제대로 보면Spring은 이렇게 구성됨👇Spring Core (IoC / DI) ↓Spring AOP ↓Spring Data / Security / Batch / MVC ... 👉 MVC는 이 중 하나일 뿐✅ 4. MVC는 Spring이 만든 게 아니다👉 MVC는 .. 2026. 4. 14.
Tomcat 설정 (전통 Spring MVC) Tomcat 설정은 따로 해야하냐?👉 Spring Boot (jar)❌ 거의 안 건드림필요하면 application.yml로 처리server:port: 8081servlet:context-path: /api 대신:@SpringBootApplication 이게 다 자동으로 처리👉 전통 Spring MVC 에서 web.xml : (Spring 3.0이전) 웹앱 초기화 시 가장 중요한 "설정 진입점" 중 하나web.xml 요청 흐름을 정의하는 진입 설정 파일 Tomcat이 WAR를 풀고 나면 내부적으로 이렇게 진행됨👇1. Context 생성 (웹앱 단위), Context 객체 생성, 클래스 로더 구성, 리소스 경로 설정2. web.xml 파싱 (핵심 초기 설정)3. Listener 실행4. Filter.. 2026. 4. 14.
Spring 실행 (전통 Spring MVC 기준) 1️⃣ 누가 실행할까 👉 WAS 🔵 1. 가장 바깥 (시작 주체) : 사람/ 배포 시스템 CI CD 예:cd $TOMCAT_HOME/bin./startup.sh (Tomcat 실행) - Docker 없이 WAS 직접 실행됨docker run ... (컨테이너 실행) - Docker 사용하는 경우 컨테이너 안에서 Tomcat실행 👉 이 단계에서WAS(Tomcat) 시작됨 즉 톰캣을 시작하면 특정 위치의 war(압축)파일을 Tomcat이 감지해서 압축을 풀고 내부 web.xml을 읽어서 DispatcherServlet을 등록하고 서버기동이 완료됨 2. WAR 파일을 Tomcat에 배포 (==특정 위치에 war파일을 넣는다)3. Tomcat이 WAR를 풀어서(Spring 포함) 서버기동 (== 실.. 2026. 4. 14.