본문 바로가기
728x90

IT Tech/MSA5

요구사항 정의서 누구나 쉽게 이해할 수 있는 형태로 작성 사용자-001, 주문-001, 인증-001 처럼 "구분- 번호" 형태로 주요 기능을 작성 기능의 우선순위도 추가해보고 좌측에 그림(도식), 우측에 요구사항 설명형태로 작성 설명에는 주체와 대상이 명확하게 기술 ex) 사용자는 00화면에서 xx데이터를 조회할 수 있다. 2022. 2. 8.
장애 방지를 위한 설계 Neflix - 장애유발 테스트 : 카오스 멍키, 카오스 고릴라, 카오스 콩 Circuit Breaker 패턴을 활용하여 일부 서비스가 전체 시스템 장애로 전파되지 않도록 통제 2022. 2. 5.
MSA 조직구성 비즈니스 역량에 따라 조직 구성 한 팀안에서 서비스를 만들 수 있는 역량을 모두 갖추고 있음 팀의 규모는 정답이 없으나 아마존의 경우 Two Pizza팀을 운영 프로젝트 자체보다 제품에 집중함 -> 고객과의 접점을 늘리고 피드백을 반영함 2022. 2. 5.
마이크로서비스 아키텍처 # 왜 MSA를 사용하는가? - 빠른 배포가 필요한 상황 # 빠른 배포 - 각 서비스는 독립적으로 개발되고 배포 - 각 서비스별 영향도가 작음 - 작은 서비스 단위로 확장이 가능 # 장점 - 기술부채 경감 (소프트웨어 Aging) - 서비스 크기가 작아서 품질관리에 용이 - 영향도가 작기 때문에 지속적인 개선 작업이 가능 # 단점 - 컴퓨팅 자원 사용이 비효율적 - 내부호출이 아닌 네트워크를 통해 통신하기 때문에 성능이슈 - jvm이나 톰캣을 중복 사용 - 운영관리가 어렵고 모니터링 대상 증가 - 다양한 장애 상황 발생 - 단위 테스트 난이도 증가 2022. 2. 5.
모놀리틱 시스템 # 모놀리틱 시스템 장점 상대적 관리 용이 (장애, 모니터링 등) 내부 메소드 호출로 성능이 빠름 트랜잭션 관리가 용이 # 모놀리틱 시스템 종류 Single 모놀리틱 시스템 - 가장 일반적이며 강하게 내부적으로 결합된 시스템 Modular 모놀리틱 시스템 - 각 기능이 모듈화 되어 있는 형태 Distributed 모놀리틱 시스템 - 쪼개진 여러 서비스가 매우 강하게 결함된 상태 - 단순히 코다만 분산된 형태 -> 관리도 어렵고 코드가 강하게 결함되어 있어서 함께 빌드가 필요 # 모놀리틱은 안좋은 아키텍처인가? 2022. 2. 5.
반응형