디비 인서트 업데이트 딜리트가 같이 들어가는 내부 로직이라 트랜잭션이 필요한데
이걸 인서트 업데이트 딜리트 api로 만들어서 로직에서 http api 로 호출하되, 트랜잭션을 같이 묶어달라네요...???????
api 호출을 하나로 묶어서 트랜잭션을 처리하는 신박한 기술이라도 나온건가요 ㅠㅠㅠㅠㅠㅠ
funcName (){
트랜잭션 시작
db.insert(...)
db.update(...)
db.delete(...)
트랜잭션 종료
}
이걸
funcName(){
트랜잭션 시작???
restTemplate.post(http api url)
restTemplate.put(http api url)
restTemplate.delete(http api url)
트랜잭션 종료..
}
함수로 호출 가능한 걸 같은 서버에 api 따로 구현...해서 호출..
그게.... 그렇게 하는 의미가????????????
특별히 분산처리를 위한게 아니라면 굳이 입니다.
분명 나중에 책임소재 나올것 같군요.
자기자신을 콜하는 거라도 최소한 요구 받은측에선 한 트랙잭션으로 처리하지 않으면 안되겠죠.
최소한 이러면 복잡성, 퍼포먼스, 모호한 상태가 되므로 반대한다고 말은하고 그래도 라고 윗선에서 양해받으면 진행하는게 안전할 듯하군요.
애당초 아래 3가지의 호출은 보통은 괜찮겠지만... 순서보장은 정말 되는건가요...
API가 뭐하는건지 부터
설명하고 시작해야겠네요
개발의 절반 이상은 소통이죠
소통이 안돼버리면 고통이구요
로직 추가될때랑 소스 재활용 측면에서 경험상 나중에 개악이 되는 경우가 너무 많아요.
테이블 락도 문제가 될 수 있고
저는 그냥 트렌젝션 처리를 담당할 테이블을 만들어두고 시작시에 row 추가하고 상태값 바꿔가며 처리하면서 완료 처리 되는 방식으로 만들었었습니다.
뭔가 느낌적인 느낌이... 글쓴분이 오해한게 아니라면 요청한 사람이 뭔가 잘 모르면서 요청한 것 같다는 느낌입니다.