반응형
독립시스템(SCS, self-contained system) 이란?
- 매크로 아키텍처의 컴포넌트를 명세하는 마이크로서비스의 타입 중 하나.
- SCS는 완전한 매크로 아키텍처를 의미하지는 않음.
- 일부 도메인 로직의 구현에 필요한 모든 정보를 정확히 제공하는 여러 마이크로서비스를 제공, 따라서 독립시스템을 제공하는 것.
- 로직, 데이터, UI를 포함함.
- 변경을 더 쉽게 수행가능, 상용환경에 배포할 수 있음.
- SCS의 정의
- 참조 페이지 : http://scs-architecture.org
- 해당 웹사이트 내용은 아래 github 에서 소스코드로 제공되며, 누구나 변경 할 수 있음(웹사이트 콘텐츠, 크리에이티브 커먼즈 라이선스(Creative Commons License))
- 참조 : https://github.com/innoq/SCS
- 참조 페이지 : http://scs-architecture.org
- but, SCS는 모범사례가 많더라도, 모든 상황에서 가장 적합한 아키텍처는 아님.
SCS 간 통신 규칙
- UI 레벨에서의 통합은 이상적.
- 결합도는 매우 느슨함.
- 다른 SCS는 필요에따라 UI를 표시할 수 있음.
- UI가 변경되더라도 다른 SCS는 영향이 없음.
- 비동기 통신
- 동기 통신과의 통합도 가능.
- 단, 통합 SCS의 잠재적인 실패와 느린 응답을 처리하기 위한 예방조처가 필요. 모든 동기 서비스의 응답을 기다려야 한다면 응답시간은 더 길어짐.
SCS 개념의 중요한 기능
- 각 SCS에는 고유한 웹 UI
- SCS은 데이터와 로직을 포함함
- 통합은 우선순위가 정해짐.
- UI 통합은 가장 높은 우선순위
- 다음, 비동기
- 마지막, 동기 통합
- 각 SCS에는 이상적으로 공통 인프라를 피하기 위한 자체 대이터베이스를 갖음.
SCS 와 마이크로서비스
- SCS는 배포 모놀리스와 비교할 때 마이크로 서비스 처럼 두드러진 특징을 갖음.
- 배포 모놀리스는 전체 애플리케이션을 배포 가능한 단일 산출물로 구현함.
- SCS는 시스템을 여러 독립 웹 애플리케이션으로 분리함.
- SCS는 별도의 웹 애플리케이션이므로 다른 SCS와 독립적으로 배포 할 수 있음.
- 따라서 SCS는 독립적으로 배포 가능한 모듈이며, 결과적으로 마이크로서비스의 정의에 맞음.
- but, SCS는 여러 마이크로서비스로 분리될 수 있음.
SCS 와 마이크로서비스의 다른점
- 일반적으로 마이크로서비스는 SCS보다 작음.
- SCS는 낮은 결합도에 중점을 둠. 반면에 마이크로서비스는 낮은 결합도를 추구한다는 규칙은 없지만, 매우 높은 결합도의 마이크로서비스는 많은 단점이 있기때문에 피해야 함.
- SCS에는 UI가 있어야 함. 반면에 마이크로서비스는 다른 마이크로서비스에 대한 인터페이스만 제공하지만 사용자 인터페이스는 제공하지 않음.
- SCS는 UI 통합 또는 비동기 통신을 권장.
- but, 동기통신은 허용되지만, 권장하지는 않음.
결론
- SCS는 수많은 프로젝트에서 유용성이 입증된 마이크로서비스 구현을 위한 접근 방법.
728x90
300x250
'좋아하는 것_매직IT > 10.microservice' 카테고리의 다른 글
8.마이크로서비스, ESI란 무엇일까? (0) | 2021.01.12 |
---|---|
7.마이크로서비스, 자원지향클라이언트 아키텍처란 무엇일까? (0) | 2021.01.12 |
5. 마이크로서비스, 왜 가벼울까? (0) | 2021.01.12 |
4.마이크로서비스, 실제적인 서비스란 무엇인가? (0) | 2021.01.12 |
3.마이크로서비스, 마이크로(micro) 아키텍처와 매크로(macro) 아키텍처로 나눠야 하는 이유? (0) | 2021.01.12 |