skarltjr / Memory_Write_Record

나의 모든 학습 기록
0 stars 0 forks source link

MSA 구조에 따른 장단점 #126

Open skarltjr opened 1 year ago

skarltjr commented 1 year ago
유저 ->     a서비스  <  -  >.  b,c 서비스가 있을 때 각 구조의 장단점을 고민해보자

1. 동기통신 + b,c에 캐시 레이어
2. 동기통신 + a에 캐시 레이어
3. 메시징 시스템 활용 및 비동기 통신
1.
장점 : 
- b,c에 캐시가 존재하는경우 유저 입장에서 2번보다 속도는 비교적 느리지만 데이터의 최신성을 보장할 수 있다고 생각한다.
- 가령 데이터 변경 요청이 들어오는 경우 b,c에 접근하여 데이터 수정 후 해당 데이터를 바로 캐시해두면 a서비스에서 접근할 때 최신의 데이터를 빠르게 가져갈 수 있다고 생각

단점 :
- 동기통신의 구조로 b,c 서비스 장애가 곧 a서비스 장애로 이어지며, a서비스의 응답시간은 b,c 서비스 응답시간에 종속적이라고 생각

2.
장점 : 
- a에 캐시가 존재하는경우 유저입장에서 1번보다 훨씬 빠르게 데이터를 전달받을 수 있다고 생각

단점 :
- 데이터의 최신성 보장이 어렵고 마찬가지로 동기 통신의 문제가 존재

3.
장점 : 
- 동기통신의 문제점을 극복할 수 있다고 생각. 서비스간 의존성을 제거함으로써 장애의 전파를 방지
- 즉 안정적인 서비스 운용이 가능하다고 생각

단점 :
- ex) 복잡한 트랜잭션이 엮인경우 안정적인 트랜잭션 처리 보장이 어려울 수 있음
- 추가적으로 메시징 시스템에 대한 공부가 필요