728x90

전체 글 206

스프링 배치를 사용해 적재되고 있는 로그 압축 , 삭제하기 - 병렬 실행

https://wonder-why.tistory.com/243 스프링 배치를 사용해 적재되고 있는 로그 압축 , 삭제하기 - 순차적 실행1. 요구사항현재 적재되고 있는 a,b 로그를 일정 기간이 지나면 압축, 삭제 할 것기간은 config 로 설정할 것모든 pod 에 적용할 것2. 해결 방안 코드 작성 전 알아야 할 것적용될 프로젝트의 이름로wonder-why.tistory.com 지난 글과 이어지는 글 해당 배치는 4가지 기능으로 나뉜다.위 기능들을 꼭 순차적으로 실행 시켜야할 이유가 없다고 느꼈다. a, b 로그가 해당 경로에 저장되고 있기 때문이다.그래서a,b 로그 압축, 삭제a,b 로그 삭제를 병렬 실행 하는 것으로 리팩토링 했다. @Slf4j@RequiredArgsConstructor@Confi..

JAVA/SpringBoot 2025.07.26

스프링 배치를 사용해 적재되고 있는 로그 압축 , 삭제하기 - 순차적 실행

1. 요구사항현재 적재되고 있는 a,b 로그를 일정 기간이 지나면 압축, 삭제 할 것기간은 config 로 설정할 것모든 pod 에 적용할 것2. 해결 방안 코드 작성 전 알아야 할 것적용될 프로젝트의 이름로그의 경로로그 파일의이름압축 확장자yaml 에 로그 경로와 적용될 프로젝트, 로그 보관 기간, 압축 기간을 설정한다. compressAfterDays: 7 // 7일 지나면 압축 keepDays: 730 // 730 일 지나면 삭제이 설정으로 편하게 관리할 수 있다. 2.CRON 을 설정한다 .나는 YAML 파일에 프로젝트를 | 으로 구분해 작성해 놓았고, 이것을 코드로 불러와 |로 나눠 리스트를 순회하는 방식으로 job 을 실행 시켰다.이렇게 파라미터를 달리해 배치를 실행 시키려면 ..

JAVA/SpringBoot 2025.07.26

인덱스 추가로 대용량 데이터 조회 속도 향상 시키기

1. 요구사항현재 페이지 조회 기능에 문제 발생, 팝업 창이 나오지 않음. 정상 작동 하게 수정 요구 2. 문제 파악어느 기능에서 문제가 발생 했나?SELECT a,b,c FROM 1TABLE WHERE d ORDER by created_dt DESC 위와 같은 쿼리를 두 개 사용중(테이블만 다름)으로, 단순 조회 기능으로, 부하를 줄 부분은 없어 보임개발기로 접속해 해당 기능 테스트, 로그 찍어봄 -> 정상 작동 함. 해당 기능은 상용기, 개발기에 차이점은 없다. -> 로직 문제는 아님. 단순 테이블 조회 하데이터 베이스를 확인해보니, 개발기 테이블에는 몇 천개의 데이터가 있지만, 상용기에는 500만건, 900만건의 대용량의 데이터를 조회하고 있었다. -> 단순히 데이터가 많아서 생기는 문제였던 것 ..

Spring Integration - mqtt

MQTT: Message Queuing Telemetry Transport iot 낮은 대역폭과 리소스가 제한된 환경에서 안정적으로 통신할 수 있는 경량 메세징 프로토콜. 최소한의 리소스와 적은 전력을 소비하기 때문에 iot 같은 제한된 환경에서 사용하기 적합하다pub/ sub 모델을 기반으로 메세지 발행 pub, 구독 sub 방식으로 통신을 처리한다. publisher 는 메세지를 발행, Subscriber 는 관심 있는 Topic 을 구독해 메세지를 수신한다.클라이언트가 데이터를 비동기적으로 주고받을 수 있어 실시간 메세징 시스템 구축이 가능하다.클라이언트 - mqtt - 서버 환경을 구성해 서버가 mqtt 에 메세지를 보내면 다수의 클라이언트에게 전송 QoS Quality of Service 제공..

JAVA/SpringBoot 2025.03.17

linux - network, curl, netstat

curlurl을 통해 데이터를 전송하거나, 받을 때 시용되는 명령어주로 HTTP. HTTPS, FTP 등 다양한 프로토콜을 지원하여 웹 요청을 주고 받는데 사용한다.//설치sudo apt updatesudo apt install curl//버전 확인curl -V//전체 명령어curl --help all//기본적인 도움말curl --help//기본 문법curl [option] [URL]//HTTP GET 요청 보내기curl "curl -X GET //GET 요청 시 헤더만 보기. 서버가 응답하는지 확인 시 사용curl -I "//POST 요청 보내기curl -X POST -d "username=admin&password=12345" //POST 를 사용해 서버의 JSON 데이터 {"a":"1"} 를 전송 ..

기타 2025.02.23

vim - 텍스트 편집기

vim Vi IMproved 은 텍스트 편집기로, vi 라는 편집기 기반으로 발전한 것이다.입력모드 insert mode 와명령모드 command mode 가 존재한다. 시작 방법vim [filename]vim file9.txt  i //입력모드esc // exit :q! //저장하지 않고 종료:w //저장:wq //저장 후 종료dd 해당행 삭제dw 단어 삭제yy 현재 행 복사p 복사한 내용 커서 뒤에 붙이기u: undo ex) file.txt 를 편집하고 싶다면vim file.txti 편집 후,:w 저장, 혹은 :wq 저장 후 종료 저장하고 싶지 않다면 :q! 강제 종료

기타 2025.02.23

linux - 명령어

grepGlobal Regular Expression Print 주어진 패턴을 파일이나 입력 데이터에서 찾는 명령어주로 텍스트 검색 시 사용한다.grep[option] "search condition' [filename]option-v: 일치하지 않는-i: 대소문자 구분 없는-n:라인 번호화 함께 출력되는-A: after 이후 라인 출력-B: Before 이전 라인 출력-C: content -A + B 결합. 앞 뒤 라인 출력//file9.txt 에서 1 포함된 거 찾기grep "1" file9.txt1file1.txtfile123.txt// -v : 1이 포함되지 않는 것 찾기grep -v "1" file9.txt23//디렉토리 내 검색grep -r "hello" /home/hanboreum//erro..

기타 2025.02.23

linux - 명령어 실행 시 조회 순서, 명령어에 경로가 포함된 경우 실행 차

명령어 실행 시 조회 순서.내장 명령어 Built-in command셸 자체에 내장된 명령어 cd, echo, exit 등.조회 순서: 쉘은 명령어가 내장 명령어 인지 확인. 만약 내장 명령어라면, 쉘이 바로 실행echo "hello""hello"함수 Function 인지 확인내장 명령어가 아니라면, 사용자 정의 셸 함수(function) 인지 확인. function 을 확인하여 셸에서 명령어처럼 사용할 수 있는 사용자 정의 함수가 있는 지 확인//함수 greet 정의greet() { echo "hello function" } greet hello function 별칭 Alias 인지 확인셸 함수가 아니라면, 별칭인지 확인.//별칭 지정 방법alias ll='ls -l'// 실행 방법ll실제 실행 파..

기타 2025.02.23

linux 리눅스 권한, 명령어

파일 권한 기본(mobaXterm 을 활용해 실습. cd /mnt/c/Users 같이 c 앞에 /mnt 써줘야 한다.) 파일 권한파일 권한은 rwx 로 구성된다.r read 읽기w write 쓰기x execute 실행파일 권한 범주user 소유자g group 파일 소유자가 속한 그룹에 포함된 사용자others user, group 을 제외한기타 사용자 $ cd /mnt/c/Usershanboreum@DESKTOP-VO9DV1I:/mnt/c/Users$ ls -al // 권한 확인total 0 //해당 디렉토리 내 파일이나 서브 디렉토리가 없다는 뜻lrwxrwxrwx 1 hanboreum hanboreum 18 Dec 7 2019 'All Users' -> /mnt/c/ProgramData-r-xr..

기타 2025.02.19

Elastic search?

db검색의 한계점"흰색모자" 검색 시, select title from product where title like '%흰색모자%''흰색모자' 와 완벽하게 일치해야 효율적인 사용이 가능하다.쿼리가 복잡해짐.대량의 데이터 처리시 성능 한계 존재. Elastic search: 분산형 검색 엔진, 대용량 데이터를 실시간으로 처리하고 분석하는 능력이 뛰어남.다양한 형태의 데이터를 색인 가능, 복잡한 검색 쿼리에 대해서도 빠르고 정확한 결과를 제공. 왜 사용?루씬 기반의 검색 엔진. 복잡한 데이터 셋에서 정보를 신속하고 정확하게 검색다양한 데이터 관리 지원유연한 색인화(json 형식 색인화) 및 api 제공.분산 시스템 및 효율적 데이터 관리.Kibana 와의 연계 (시각화 도구) Elastic Stack?Ela..

기타 2025.02.17
728x90
반응형