🫥 개요 동시에 백엔드, 프론트가 개발서버에 배포를 하였고, github actions에도 멀쩡히 초록색 불이 떠서 서버에도 배포가 잘된줄 알았다. 근데 아직 해결이 되지 않아 엥?하고 codedeploy를 봤더니 실패가 떠있었다!!! EC2 접속을해서 확인해보니 서버내에 로그 파일 용량이 커서, 업로드 또는 압축이 잘 안되었던것 같았다. 로그 파일을 주기적으로 삭제해줘야하는데, 사람이 매번 접속해서 삭제해주는건 쉽지 않아보였다. Cronjob이 내 일을 하도록 구현해보자! 🧐Cron? 아래 내용을 보고오시면 됩니다. https://vanillacreamdonut.tistory.com/366 [Linux] 리눅스 명령어 - 작업 스케줄링 (cron, crontab) 리눅스 작업 스케줄링 명령어 단일성 예..
리눅스 작업 스케줄링 명령어 단일성 예약 반복적 예약 특정 시기에 한번 작업을 수행 반복적인 작업을 수행 at, atd 서비스 이용 cron, crontab 서비스 이용 at 서비스와 cron 서비스는 제어할 수 있는 터미널을 지정받지 못한다. 결과를 메일로 보내오거나 리다이렉션을 이용해 파일로 저장해야한다. Cron 명령어 특정 시간 또는 특정 시간마다 특정한 작업을 자동으로 수행하게 해주는 명령어 Unix 기반 시스템에서 사용할 수 있는 유틸리티 데몬 프로세스로 실행되며, 한번만 시작하면 백그라운드에서 계속 실행된다. crontab을 사용하여 일정 항목을 읽고 작업을 시작한다. 사용자 cron과 시스템 cron 두가지로 나누어진다. 시스템 cron : 시스템에서 기본적으로 사용하는 cron 설정 사용..
도입하게 된 과정 사용자가 이미지를 업로드해야하는 상황 발생했다. 프론트 개발자들과 이미지 업로드 구현을 Multipart 자체를 주고 받는 것으로 논의를 했다가, 해당 구현은 문제점이 있었다. 서버 부하가 올 가능성이다. 현재 우리 서버는 ec2 micro2를 사용하고 있으며, 이미 메모리 부족 이슈가 발생하고 있다. 이미지 파일용량 자체가 매우 크기에, 이미지 업로드가 백엔드 서버를 거치게되면 백엔드 서버가 금방 죽게 된다. 해당 문제에 대한 해결 방법으로 Presigned-url을 사용한다고 한다. 기존의 방식 1. 서버가 클라이언트에게 이미지 자체를 받는다. 2. 서버가 보안절차를 거친다.(AWS sdk secret key를 활용해 s3접속) 3. 서버가 버킷에 이미지를 올린다. 이렇게 구현된 이..
@Transaction에 대해 공부하다가, propagation 전파 방식, 고립 방식에 대해 더 자세히 알기 위해 기록 Transaction이란? 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야하는 연산들 병행 제어 시 처리되는 작업의 논리적 단위 Transaction은 하나의 흐름으로 하나의 실행이 성공하거나 실패하면 모든 연산들을 동일하게 처리한다. 모든 작업이 성공한다면 완료 작업 상태를 모두 반영하고, 이것을 Commit이라고 한다. 반면, 하나라도 실패하게 되면 모든 사항을 폐기하고, 이것을 Rollback이라고 한다. Spring에서는 Data Access 계층에서도 데이터베이스에 접근하여 데이터를 조작한다. 스프링은 트랜잭션 추상화를 반영했는데, 이 덕분에 특정 기술에 종속되지 ..