inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

트랜잭션 사용 유의점

해결된 질문

263

웨스

작성한 질문수 17

0

안녕하세요.

지난번 질문에 빠른 답변감사합니다.

 

트랜잭션 공부 중 주의사항에 대한 블로그 글을 짧게 봤는데요, 트랜잭션은 꼭 필요한 최소의 코드에만 적용하는 것이 좋다는 내용이었습니다. 결제 부분만 트랜잭션을 사용하고 나머지 게시판, 채팅 등 다른 기능 구현시 굳이 트랜잭션 사용 안해도 되는거죠?

javascript node.js docker rest-api nestjs

답변 1

0

노원두

안녕하세요! 웨스님!

1.조회에 비하여 일반적으로 등록은 요청 횟수가 적은 이유, 일반적으로 2.등록은 여러테이블에 함께 등록되어야 하는 경우가 많은 이유 등에 의하여, 등록과 관련된 부분은 트랜잭션을 처리해 주시면 좋을 것 같아요!


따라서, 트랜잭션을 하지 않기보단 꼭 필요한 부분에만 범위를 축소하여 사용하실 필요가 있습니다!
예를들면 아래의 로직이 있다고 한다면,
[[ 로그인체크 => 게시글오류체크 => 게시글등록 => 파일등록 => 등록완료알람 ]]

트랜잭션의 범위를 꼭 필요한 부분으로 축소하여 아래와 같이 변경해 주시는게 좋을 것 같아요!
로그인체크 => 게시글오류체크 => [[ 게시글등록 => 파일등록 ]] => 등록완료알람


혹시라도 성능 등의 문제가 예상되는 부분이라 제외하셨다면, 해당 부분은 트랜잭션이 아니더라도 문제 발생시 동기화 방안 및 시스템을 도입해 주시는게 좋습니다!

0

웨스

네 ^^

설명 감사합니다 ~ !

그래프 ql 문서 사용할때 느낌표 남는거 어떻게 없애나요?

0

82

2

강의 전체 소스 코드를 받고싶습니다.

0

75

2

fontawesome 사용 문의

0

76

2

소스 코드 부탁드립니다~

0

85

2

깃 레포지터리 소스

0

80

2

커리큘럼12.css 정렬 에 나오는 과제 정답알고싶어요

0

72

2

10-01 Entity TypeOrmModule.forRoot 에 entities

0

84

3

강의 버전관련 문의입니다

0

102

2

Ubuntu 설치 관련

0

60

1

schema.gql 질문 드립니다.

0

50

1

서버 재실행시 Many to Many

0

100

3

input 관련 문의

0

89

2

Rest API 보다는 graphql이 주된 내용인데

0

130

2

강의 전체 소스코드 받을수있을까요?

0

154

1

도커볼륨 마운트 관련

0

126

2

findOne 타입스크립트오류

0

108

1

http => htrtps 호출 인증서 신뢰 오류

0

349

1

self-signed certificate in certificate chain 에러 발생

0

411

1

mongoose 설치 오류

0

141

1

특정 API, 특정 IP 허용 (단일경로에 CORS 활성화)

0

281

2

08-06

0

177

3

구조랑 패턴 관련해서 질문

0

124

2

mydocker

0

128

2

coolsms statuscode 2000 인데 전송안돼는 경우 확인.

0

156

1