Q) 다음 설명에 해당하는 아키텍처는?
네트워크의 어떠한 노드라도 주어진 연산을 수행할 수 있는 비중앙집중적인(Decentrailized) 아키텍처로, 서버와 클라이언트의 구분이 없다. 별도의 중앙 서버 없이 사용자의 PC 사이에서 파일을 주고받기 위한 파일 공유 네트워크 등이 이에 해당한다.
1) 마이크로 서비스(Micro Service) 아키텍처
2) 분산 컴포넌트(Distributed Component) 아키텍처
3) 서비스 지향(Service Oriented) 아키텍처
4) 피어 투 피어(Peer-to-Peer) 아키텍처
해설)
피어 투 피어 네트워크는 각 노드가 동등한 역할을 하여 네트워크에 참여하는 구조를 가지며, 파일 공유 서비스에 자주 사용된다.
[소프트웨어 설계]
[25년 필기 1회차 164번]
1) 마이크로 서비스(Micro Service) 아키텍처
- 마이크로서비스 아키텍처는 하나의 애플리케이션을 여러 개의 작은 독립적인 서비스들로 분리하여 개발하고 배포하는 방식이다.
- 각 서비스는 독립적으로 실행되며, 서비스 간에는 주로 REST API, 메시지 큐 등을 통해 통신한다.
- 중앙 집중화 vs 분산화: 마이크로서비스는 분산화된 아키텍처로, 각 서비스가 독립적으로 배포되고 관리된다.
- 하지만 각 서비스가 중앙에서 관리되는 것은 아니며, 여전히 서버와 클라이언트의 구분이 존재하고, 중앙 관리(서비스의 배포 및 조정 등)가 필요할 수 있다.
- 피어 투 피어는 노드들 간의 동등한 역할을 강조하는 반면, 마이크로서비스는 각 서비스가 서로 다른 책임을 가지고, 각 서비스마다 다른 서버가 관리되는 구조이다.
- 즉, 피어 투 피어는 서버와 클라이언트의 구분이 없지만, 마이크로서비스는 분명한 서버와 클라이언트 관계가 존재한다.
2) 분산 컴포넌트(Distributed Component) 아키텍처
- 분산 컴포넌트 아키텍처는 여러 개의 컴포넌트가 분산된 환경에서 독립적으로 실행되면서 서로 통신하는 방식
- 예를 들어, 하나의 큰 애플리케이션을 여러 대의 서버로 나누어 운영하고 각 서버가 다른 역할을 맡는 경우.
- 중앙 집중화 vs 분산화: 분산 컴포넌트 아키텍처는 분산화를 목표로 하지만, 각 컴포넌트는 서버-클라이언트 역할을 명확히 구분할 수 있으며, 하나의 중앙 시스템이나 관리자가 있을 수 있다.
- 피어 투 피어 아키텍처는 중앙집중적인 관리자가 없는 노드 간 동등한 관계를 강조하는 반면, 분산 컴포넌트 아키텍처는 중앙 관리가 있을 수 있고, 분산 환경에서도 각 컴포넌트가 서버-클라이언트 관계를 유지할 수 있다.
3) 서비스 지향(Service Oriented) 아키텍처 (SOA)
- 서비스 지향 아키텍처(SOA)는 애플리케이션을 독립적인 서비스들의 모음으로 구성하고, 각 서비스는 표준화된 프로토콜(예: SOAP, REST 등)을 통해 서로 통신하는 방식.
- SOA에서는 서비스들이 비즈니스 기능을 독립적으로 제공하며, 이를 조합하여 전체 시스템을 구성한다.
- 중앙 집중화 vs 분산화: SOA도 분산 시스템이지만, 서비스 간에 명확한 계층이나 역할 구분이 존재한다.
- SOA는 종종 중앙 관리 하에 있으며, 각 서비스의 제공자는 서버 역할을 하며, 서비스를 요청하는 시스템이 클라이언트 역할을 한다.
- SOA에서는 서버-클라이언트 구분이 명확하고, 서비스가 각각 독립적으로 존재하지만 서버 역할과 클라이언트 역할이 명확히 구분된다.
-반면, 피어 투 피어는 각 노드가 동등한 역할을 하며 서버와 클라이언트 구분이 없다.
4) 피어 투 피어(Peer-to-Peer) 아키텍처
- 피어 투 피어 아키텍처는 네트워크에 연결된 각 노드가 서로 동등한 관계를 가지며 데이터를 주고받을 수 있는 구조.
- 중앙 서버가 없이 각 노드가 직접 통신을 하며, 네트워크 내의 어떤 노드도 서버 역할과 클라이언트 역할을 모두 수행할 수 있다.
- 중앙 집중화 vs 분산화: 피어 투 피어는 완전한 분산화를 추구하며, 네트워크의 모든 노드가 서버와 클라이언트의 구분 없이 동등한 역할을 수행한다.
- 피어 투 피어는 중앙 서버 없이 모든 노드가 동등한 역할을 하므로, 서버와 클라이언트 구분이 없다는 점에서 다른 아키텍처와 가장 큰 차별점이 있다.
'IT > 정보처리기사' 카테고리의 다른 글
[필기] 엔티티 Entity (0) | 2025.01.19 |
---|---|
[필기] 소프트웨어 개발 - 모델 Model (0) | 2025.01.19 |
[필기] 애자일(Agile) 프로세스 모델 (0) | 2025.01.19 |
[필기] 요구사항 검증 방법 (0) | 2025.01.18 |
[필기] 익스트림 프로그래밍 XP (0) | 2025.01.18 |