Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 성능개선
- 문자형을 날짜형으로
- 스프링 배치 공식문서
- JSON 분해
- 폐기하기
- org.json
- 마리아디비
- JSONObject 분할
- 무시하기
- JobExecutionAlreadyRunningException
- nonblocking
- date_format
- batchInsert
- 날짜형을 문자형으로
- 스테이지에 올리기
- multi update
- 마이바티스 트랜잭션
- Meta Table
- git stage
- JSONArray 분할
- 스프링 리액티브 프로그래밍
- spring webflux
- spring reactive programming
- JSON 분할
- str_to_date
- jar 소스보기
- ChainedTransactionManager #분산데이터베이스 #Spring Boot #MyBatis
- 스프링 배치 메타 테이블
- 스프링 웹플럭스
- JSON 분리
Archives
- Today
- Total
목록마이바티스 트랜잭션 (1)
ebson
[Spring boot, Mybatis, ChainedTransactionManager ] 분산 데이터베이스 트랜잭션 처리하기
대형 서비스에서 데이터베이스를 여러대로 분산해 효용성을 높이고 규모를 조절하는 것은 일반적인 방법이다. 그리고 데이터베이스당 트랜잭션 처리가 이루어지는 특성상 한 기능단위에서 2개 이상 데이터 소스에 접근하고자 할 때 스프링에서 별도의 작업을 취하지 않으면, 한개의 데이터 소스로만 commit 되고 다른 데이터 소스에 대한 commit이 누락될 수 있다. 즉 A 데이터 소스와 B 데이터 소스에 대한 스프링의 트랜잭션 매니저들 중 하나만 동작한다는 것이다. 이때는 스프링에서 제공하는 ChainedTransactionManager를 적용해 A, B 데이터 소스에 대한 트랜잭션이 모두 동작하도록 할 수 있다. 위 클래스의 동작 방식은 공식 문서에 따르면, 생성자의 인자로 전달받은 트랜잭션 매니저를 순서대로 처..
HANDS-ON
2023. 2. 23. 16:33