-
[Batch] Spring Batch 5 적용
Spring Boot 3(=Spring Framework 6)부터 Spring Batch 5 버전을 사용하게 업데이트 되었다. Batch 5에 변경점이 많이 생겨 기존의 4버전과 다른 부분이 많이 생겼다. 새로운 버전을 적용하면서 변경점에 대해 정리해보자. 적용한 변경점 1. @EnableBatchProcessing 5버전부터는 더이상 해당 어노테이션이 필수가 아니게 되었다. 이 어노테이션은 4버전까지는 Batch와 관련된 Bean을 등록하게 해주는 필수 어노테이션이었지만 이젠 사용하지 않아도 빈 등록을 해준다 다만, BatchAutoConfiguration에 @ConditionalOnMissingBea...
-
[k8s] Controller
Controller Service를 관리하고 운영하는 데 도움을 주는 객체 Pod를 생성하는 주체가 된다 Auto Healing, Auto Scaling, Software Update, Job 등 1. ReplicaSet 여러 개의 Pod를 복제하여 관리 (Replication Controller는 deprecated) ReplicaSet을 직접 사용하기 보다는 Deployment 등 다른 오브젝트에 의해 사용되는 경우가 많다 Template : 템플릿을 설정을 바탕으로 Pod를 생성한다 (Pod 명세) Replicas : 실행 시킬 Pod의 갯수 Selector ...
-
[k8s] 쿠버네티스 Object
1. Pod (파드) 최소 단위, 1개 이상의 컨테이너로 구성 Pod가 단독으로 쓰이는 경우는 없다. Pod가 컨테이너를 관리하듯 다른 컨트롤러가 Pod를 관리한다 파드의 IP는 생성 될 때 마다 동적으로 변경된다 Label : 파드의 용도를 구분하는 태그 NodeSelector : 해당 레이블이 달려 있는 노드에 할당, 없을 경우 노드 할당 불가능 apiVersion: v1 kind: Pod metadata: name: pod1 # namespace: ns1 labels: ...
-
Spring Redis
Redis key-value 구조의 인메모리 데이터베이스 Redis 특징 Collection(List, Set, SortedSet, Hash) 지원 싱글 쓰레드로 Race Condition 방지 활용방안 캐싱, 세션 저장, 메시지 큐, 실시간채팅, 랭킹, 분산락 Spring에서 Redis Client로 Jedis와 Lettuce가 있다 Redis Client로 성능상 우위에 있는 Lettuce를 사용할 것이다 Redis 로컬 초기 셋팅 docker 컨테이너로 Redis 실행 $ docker run -p 6379...
-
[Batch] 반복 및 에러처리
반복 특정 조건이 만족될 때까지 Job or Step을 반복하도록 구성 가능 RepeatOperation을 사용 구현체 : RepeatTemplate 1. RepeatStatus 배치 처리가 끝났는지 판별하기 위한 Enum CONTINUABLE : 계속 진행 FINISHED : 종료 2. CompletionPolicy RepeatTemplate의 iterate()에서 반복을 중단할지 결정 실행 횟수 또는 완료시기, 오류 발생시 수행 할 작업에 대한 반복여부 결정 정상 종료를 알리는데 사용 구현체 Simp...