본문 바로가기
반응형

전체 글52

DB Isolation 정의 동시에 여러 transaction을 처리될 때 특정 transaction에서 변경하거나 조회할 수 있도록 허용하는 level 종류 Read Uncommitted Read Commited Repeatable Read Serializable 특징 격리 수준이 높아질 수록 성능이 떨어집니다 트랜젝션을 순서대로 실행하면 문제가 생기지 않지만 성능 이슈로 하위 level의 격리 수준을 사용하고 있습니다. 잠금 시간을 최소화 하는 방식을 체택하는 것을 추천 -> 성능이슈가 발생 Transaction race codition으로 발생하는 문제들 종류 dirty read/write Non-repeatable read/Read skew 변경 유실 한 transaction의 결과가 다른 transaction의 쿼리에.. 2021. 10. 30.
Spring Boot로 MySQL replication 연동하기 Transaction Spring Transaction 설정 방법 선언적 방법 : @Transactional를 method나 class에 붙인다 현재 spring 진형에서 선호하는 방식 transaction manager를 통해 생성 : transaction start 를 직접 호출 Transaction 2가지 방식 readOnly = true : 읽기 전용이기 때문에 jpa 를 사용할 경우 transaction이 끝나면 마지막에 flush 가 나가지 않습니다. readOnly = false : transaction이 끝나면 마지막에 flush 가 나갑니다 Replication 설정 환경설정 아래 참고 링크에서 mysql을 설정하였습니다 mysql master : 3307 port 사용 mysql sla.. 2021. 10. 6.
Mysql Replication 기본 사용 기술 MySQL 5.7 Docker docker-composer Replication 정의 DB의 저장된 data가 손실될 경우를 대비해서 저장소(Storage)를 복제하는 것 특징 구성 master, slave 구조를 가짐 master : main db로서 실제 application 요청을 처리하는 DB slave : backup db 부하 분산 slave를 읽기 전용으로 설정하게 되면 부하를 분산시켜 DB에 부하를 줄일 수 있음 설치 방법 Docker와 docker-composer로 Mysql 설치 Docker로 사용하지 않고 docker-composer를 선택한이유 docker로 container 2개를 각각 생성할 경우 network를 생성해서 연동해야합니다. 이유 docker로 con.. 2021. 10. 6.
01. Docker정의와 이미지 Docker 정의 컨테이너 환경에서 독립적으로 application을 실행할 수 있도록 컨테이너를 만들고 관리해주는 것을 도와주는 도구 리눅스의 응용 프로그램들을 프로세스 격리 기술들을 사용해 container로 실행하고 관리할 수 있게 해주는 오픈 소스 프로젝트 특징 application을 싱행하기 위한 모든 구성요소를 포함하고 있기 때문에 host OS에 관계없이 일관된 결과를 보장 아래의 그림과 같이 vm처럼 guest os를 사용하지 않기 때문에 Guest OS가 사용하는 리소스를 절약할 수 있기 때문에 이점을 가질 수 있습니다. Docker Container와 Image Image 정의 application 실행과 운영에 필요한 모든 리소스 정보를담고 있는 패키지 spring applicatio.. 2021. 9. 12.
반응형