본문 바로가기
728x90
반응형

전체 글116

디스크, 파티션, 볼륨이란?(feat. 볼륨이 뭔데?) 1. 디스크물리적인 저장소입니다.컴퓨터 분해해보면 눈에 보이는 쇳덩어리, 그게 디스크입니다.종류는 하드디스크(HDD), SSD, USB 등이 있습니다.   2. 파티션위에서 말한 디스크를 논리적으로 나눈 저장소입니다.'나는 이만큼은 C드라이브로 쓰고 이만큼은 D드라이브로 써야지~' 하고 나눈 것입니다.즉 1디스크, 2파티션이 된 것이죠.   3. 볼륨사실 이 글은 '그래서 볼륨이 정확히 뭐야??' 하는 분들을 위한 글입니다.(저입니다)어떤 사람은 '파티션이 볼륨아니야?' 라고 말합니다.이는 반은 맞고 반은 틀린말입니다.볼륨이란 "파티션에 파일시스템이 적용된 저장소" 입니다.무슨말인지 모르겠다구요? 천천히 보시죠. 파일시스템이란 데이터를 논리적으로 구조화하고, 저장 장치(하드 디스크, SSD, 외장 드라이.. 2023. 9. 20.
@Transactional(readOnly = true) 중간에 save(insert) 하기 현재 시스템은 readerDB와 writerDB로 나뉘어져 있습니다.부하를 분산시키기 위해서입니다.https://orange-makiyato.tistory.com/75 DB 부하분산(간단 정리)일정 크기 이상의 서비스를 운영하는 회사에서는 대부분 데이터베이스 부하 분산을 위해 master-slave 형태로 reader-writer 인스턴스를 를 분리해 놓습니다. Primary cluster : 데이터베이스 클러스터에서orange-makiyato.tistory.com  한 API를 개발해야하는데 5개의 스텝중에 중간에 한 스텝만 save를 하는 로직입니다. 이걸 위해서 5개의 스텝을 모두 readerDB를 타게 하자니, 하루 평균 500만 call이 들어오는 API라 writerDB의 성능 저하가 우려되는.. 2023. 8. 3.
에러메세지는 어떤걸 남겨야 할까? 개발을 하면서 try catch 문으로 Exception을 핸들링할 때 에러 로그를 남기죠! 이때 여러가지 선택지가 있습니다. e.getClass() e.getMessage() e.toString() e.printStackTrace() 등등 위의 메소드들이 각각 어떤것을 보여주는지 알아보겠습니다. 참고로 logging 라이브러리는 Slf4j 를 사용하였습니다. @Slf4j https://orange-makiyato.tistory.com/42 Java logging @Slf4j 로깅이란 - 로깅(logging)은 정보를 제공하는 일련의 기록인 로그(log)를 생성하도록 시스템을 작성하는 활동을 말한다. 로그 레벨 - 레벨에 따라서 로그 메세지가 달라진다. - TRACE < DEBUG < INFO < WARN 2023. 7. 11.
빌드 후에 jar 파일이 두개가 생겼다? ./gradlew build 명령어로 gradle을 통해 build를 하면 build/lbis 폴더가 생기고 그 안에 jar 파일이 생깁니다. springboot 2.5.0 부터는 아래 그림처럼 두개의 jar 파일이 생성됩니다. ❓ 왜일까요? Plain Jar가 생기는 이유는 스프링부트의 버전에 따른 gradle 플러그인의 Packaging 기본 설정 차이 때문입니다. springboot 2.5.0 이전에는 bootJar 가 기본적으로 설정되고 Jar 는 스킵되어서 jar 파일이 하나만 생성되었는데 2.5.0 부터 Jar 도 무조건 실행되는 것으로 바뀌어서 jar 파일도 두개가 생긴 것입니다. 실제로 빌드시 차이를 봅시다. 2.5.0 이전에는 Jar task 가 skip 되지만 이후부터는 같이 동작하는 .. 2023. 5. 18.
springboot 서버 github action으로 컨테이너 이미지 만들고 docker hub에 업로드하기 GitHub Actions는 GitHub에서 제공하는 서비스로, 빌드, 테스트, 배포 파이프라인을 자동화할 수 있는 CI(Continuous Integration, 지속 통합)와 CD(Continuous Deployment, 지속 배포) 플랫폼입니다. 오늘은 아래 그림에서 3번까지의 과정을 해보겠습니다. 저는 현재 인텔리제이에서 springboot + gradle을 사용중입니다. 1. Dockerfile 작성 먼저 Spring Boot 애플리케이션을 실행할 Docker 이미지를 생성하기 위해 Dockerfile을 작성해야 합니다. 프로젝트 루트 디렉토리에 Dockerfile을 생성하고 내용을 작성합니다. # JRE (Java Runtime Environment) 버전을 사용합니다. # JRE는 Java .. 2023. 5. 18.
728x90
반응형