2023-01-27

005 Rabbit Mq

January 27, 2024
2023-01-27
rabbitmq, etc

기술 블로그 정리 # RabbitMQ란? # RabbitMQ란? # AMQP를 따르는 오픈소스 메시지 브로커 메시지를 많은 사용자에게 전달하거나, 요청에 대한 처리 시간이 길 때, 해당 요청을 다른 API에게 위임하고 빠른 응답을 할때 많이 사용한다. AMQP # Advanced Message Queueing Protocol MQ의 오픈소스에 기반한 표준 프로토콜을 의미한다. RabbitMQ 개념 # 1. Producer # 메시지를 생성하고 발송하는 주체 이 메시지가 Queue에 저장된다. Producer는 Queue에 직접 접근하지 않고, 항상 Exchange를 통해 접근하게 된다. 2. ...

002 Job

January 27, 2024
2023-01-27
springBatch

강의메모 # 스프링 배치 도메인 이해 - Job # 기본 개념 # 배치 계층 구조에서 가장 상위에 있는 개념 하나의 배치작업 자체를 의미함 ex) API 서버의 접속 로그 데이터를 통계 서버로 옮기는 배치 Job 자체를 의미 Job Configuration 을 통해 생성되는 객체 단위로서 배치작업을 어떻게 구성하고 실행할 것인지 전체적으로 설정하고 명세해 놓은 객체 배치 Job 을 구성하기 위한 최상위 인터페이스이며 스프링 배치가 기본 구현체를 제공한다 여러 Step 을 포함하고 있는 컨테이너로서 반드시 한개 이상의 Step으로 구성해야 함 기본 구현체 # SimpleJob 순차적으로 Step 을 실행시키는 Job 모든 Job에서 유용하게 사용할 수 있는 표준 기능을 갖고 있음 FlowJob 특정한 조건과 흐름에 따라 Step 을 구성하여 실행시키는 Job Flow 객체를 실행시켜서 작업을 진행함 References https://www. ...

003 Job Instance

January 27, 2024
2023-01-27
springBatch

강의메모 # 스프링 배치 도메인 이해 - JobInstance # 기본 개념 # Job 이 실행될 때 생성되는 Job의 논리적 실행 단위 객체 고유하게 식별 가능한 작업 실행을 나타냄 Job 의 설정과 구성은 동일하지만 Job 이 실행되는 시점에 처리하는 내용은 다르기 때문에 Job 의 실행을 구분해야 함 ex) 하루에 한 번 씩 배치 Job이 실행된다면 매일 실행되는 각각의 Job 을 JobInstance 로 표현 JobInstance 생성 및 실행 처음 시작하는 Job + JobParameter 일 경우 새로운 JobInstance 생성 이전과 동일한 Job + JobParameter 으로 실행 할 경우 이미 존재하는 JobInstance 리턴 내부적으로 JobName + jobKey (jobParametes 의 해시값) 를 가지고 JobInstance 객체를 얻음 Job 과는 1:M 관계 BATCH_JOB_INSTANCE 테이블과 매핑 # JOB_NAME (Job) 과 JOB_KEY (JobParameter 해시값) 가 동일한 데이터는 중복해서 저장할 수 없음 ...