로깅처럼 나름 좆같아질 거라 예상한 부분도 나오는데 무지성 JAR 하나에 다 담는 서비스에선 생각도 안한 포인트들을 계속 고려해야 한다네
댓글 18
마서는 그냥 개발단순화 개발비용 감소 유지관리 up이목적아니냐? - dc App
텬됴대한의아들(extrajoker)2022-05-14 16:27
답글
쪼갠 서비스끼리 통신해야 하나의 작업이 진행될 수 있어서 어느 서비스가 응답 안하면 어떻게 하고 트랜잭션 관리는 저렇게 하고 이런거 고민할 부분이 엄청 많대
익명(125.141)2022-05-14 16:47
답글
각각의 서비스 개발 비용은 줄어들고 유지하긴 쉬워지는 거 맞는데 전체 서비스 입장에선 다르다는 느낌?
익명(125.141)2022-05-14 16:51
답글
ㄴㄴ DB 업데이트 인서트 딜리트 만 싱크로나이즈 같은거 동시접근 불가능하게. 마서는 다른 마서를 활용하는거 아니면 그냥독립이고 다른걸활용하는 마서에서 해당조건처리 모든게 완료되게 해야하는거고. - dc App
텬됴대한의아들(extrajoker)2022-05-14 16:56
답글
전체서비스에 문제가있다? 설계에 문제가 있다임. - dc App
텬됴대한의아들(extrajoker)2022-05-14 16:57
답글
단일 서비스에서는 그냥 함수 하나에 트랜잭션 걸어두면 그 안에서 실패했을 때 그냥 롤백처리 할 수 있는데 MSA 환경에서는 전체 서비스 단위에서의 트랜잭션이 실패했을 때 각각의 서비스에서는 트랜잭션이 이미 끝났기 때문에 단순 롤백 처리가 안 됨
이럴 때 MSA에서 롤백을 위해서는 각각의 트랜잭션에 대해 보상 트랜잭션을 준비해두고 이를 실행하라는 신호를 받아서 실행해야 함
단순 트랜잭션만 따져도 이렇게 귀찮아짐
익명(125.141)2022-05-14 17:00
답글
마서가 다른 마서를 활용 안하고 대체 어떻게 전체 서비스가 돌아가
익명(125.141)2022-05-14 17:02
답글
그건 마서가 아니라 독립 서비스 여러 개 있는거지
익명(125.141)2022-05-14 17:03
답글
그건 각서비스 db 컬럼에 불린을 넣어서 완료할지 는 각서비스를 호출한 쪽에서 하면되겠네. - dc App
텬됴대한의아들(extrajoker)2022-05-14 17:06
답글
배민에서 음식 주문 때려놓고 결제창에서 한 2분 망설이고 있으면 그동안 각 트랜잭션 완료할지 기다리고 있음?
말도 안됨 그건
익명(125.141)2022-05-14 17:09
답글
니말처럼 생각할게 좀있네. 근데 설계로 불가능한수준은 아님 - dc App
텬됴대한의아들(extrajoker)2022-05-14 17:11
기능별 별도구현 - dc App
텬됴대한의아들(extrajoker)2022-05-14 16:28
해당 댓글은 삭제되었습니다.
해당 댓글은 삭제되었습니다.2026-08-01 21:42
답글
개인 플젝을? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
익명(125.141)2022-05-14 16:47
msa를 그전에 왜하는 거임? 다 쪼개놓으면 레이턴시가 쪼갠만큼 늘어날 거 같은데 괜찮은 거임 그거? - dc App
익명(118.235)2022-05-14 16:36
답글
레이턴시 최대한 덜 늘리려고 API 쓰는 대신 가능하면 메시지큐 쓰래
익명(125.141)2022-05-14 16:46
이미 마서로 커밋된 데이터를 도중 실패시 어떻게 하면 좋은지는 조금 고민할 거리긴하네. ㅇㅇ 롤백은 아니지. 결론은 업데이트인경우는 원본데이터를 먼저 더미로 만들어서 써야하네? - dc App
텬됴대한의아들(extrajoker)2022-05-14 17:10
답글
이해 못하시는 것 같은데 저도 허접이라 이해시킬 능력 없으니 관심 있으면 크리스 리차드슨의 '마이크로서비스 패턴' 이란 책 읽어보셈
마서는 그냥 개발단순화 개발비용 감소 유지관리 up이목적아니냐? - dc App
쪼갠 서비스끼리 통신해야 하나의 작업이 진행될 수 있어서 어느 서비스가 응답 안하면 어떻게 하고 트랜잭션 관리는 저렇게 하고 이런거 고민할 부분이 엄청 많대
각각의 서비스 개발 비용은 줄어들고 유지하긴 쉬워지는 거 맞는데 전체 서비스 입장에선 다르다는 느낌?
ㄴㄴ DB 업데이트 인서트 딜리트 만 싱크로나이즈 같은거 동시접근 불가능하게. 마서는 다른 마서를 활용하는거 아니면 그냥독립이고 다른걸활용하는 마서에서 해당조건처리 모든게 완료되게 해야하는거고. - dc App
전체서비스에 문제가있다? 설계에 문제가 있다임. - dc App
단일 서비스에서는 그냥 함수 하나에 트랜잭션 걸어두면 그 안에서 실패했을 때 그냥 롤백처리 할 수 있는데 MSA 환경에서는 전체 서비스 단위에서의 트랜잭션이 실패했을 때 각각의 서비스에서는 트랜잭션이 이미 끝났기 때문에 단순 롤백 처리가 안 됨 이럴 때 MSA에서 롤백을 위해서는 각각의 트랜잭션에 대해 보상 트랜잭션을 준비해두고 이를 실행하라는 신호를 받아서 실행해야 함 단순 트랜잭션만 따져도 이렇게 귀찮아짐
마서가 다른 마서를 활용 안하고 대체 어떻게 전체 서비스가 돌아가
그건 마서가 아니라 독립 서비스 여러 개 있는거지
그건 각서비스 db 컬럼에 불린을 넣어서 완료할지 는 각서비스를 호출한 쪽에서 하면되겠네. - dc App
배민에서 음식 주문 때려놓고 결제창에서 한 2분 망설이고 있으면 그동안 각 트랜잭션 완료할지 기다리고 있음? 말도 안됨 그건
니말처럼 생각할게 좀있네. 근데 설계로 불가능한수준은 아님 - dc App
기능별 별도구현 - dc App
해당 댓글은 삭제되었습니다.
개인 플젝을? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
msa를 그전에 왜하는 거임? 다 쪼개놓으면 레이턴시가 쪼갠만큼 늘어날 거 같은데 괜찮은 거임 그거? - dc App
레이턴시 최대한 덜 늘리려고 API 쓰는 대신 가능하면 메시지큐 쓰래
이미 마서로 커밋된 데이터를 도중 실패시 어떻게 하면 좋은지는 조금 고민할 거리긴하네. ㅇㅇ 롤백은 아니지. 결론은 업데이트인경우는 원본데이터를 먼저 더미로 만들어서 써야하네? - dc App
이해 못하시는 것 같은데 저도 허접이라 이해시킬 능력 없으니 관심 있으면 크리스 리차드슨의 '마이크로서비스 패턴' 이란 책 읽어보셈