본문 바로가기
학교 공부/분산 및 병렬처리

[분산 및 병렬처리 시스템] 시스템 아키텍쳐 - Hybrid Architecture

by 그적 2020. 10. 9.

Centralized와 Decentralized 아키텍쳐가 혼합된 형태가 Hybrid Architecture이다. 이 아키텍쳐의 종류로는 Edge-Server System, Collaborative Distributed System과 Globe System이 있다.

 

 

 

1) Edge-Server System

: 엣지에 네트워크(서버)를 두어 원래라면 긴 거리의 응답 시간을 가졌어야 했던 처리를 줄일 수 있다.

 

 

2) Collaborative Distributed System (상호협력 분산 시스템)

: 분산 시스템의 컴포넌트들 간에 상호협력하여 P2P 서비스를 유지한다.

 대표적인 예로는 BitTorrent System이 있으며, 노드들 간에 파일의 일부분 혹은 파일 전체를 전달하면서 현재 노드가 필요한 파일을 얻는다.

  -> file sharing

 

 BitTorrent가 나오기 전에 Gnutela System이 존재했는데, 해당 시스템의 문제점이 freerider(무임승차자)가 존재하는 것이다. 본인은 file sharing에 이바지하지 않고, 다른 노드들이 가지고 있는 파일들만 다운로드하고 나가버리는 것이다. 따라서 BitTorrent를 통해서 무임승차 문제를 해결했다.

>>  '내가 가지고 있는 파일이 필요로 하다면, 너도 너의 파일을 내놔라'

 

 P2P 서비스는 노드들 간의 통신을 하기 때문에 그럼 토렌트와 같은 웹페이지들은 어떤 기능을 할까라고 궁금해할 수 있다. BitTorrent 웹 페이지는 파일을 가지고 있는 노드들에 대한 정보를 갖고 있으며, 노드들에 대한 정보를 .torrent 파일에 담아 각각의 파일에 tracker를 매핑시킨다. tracker는 chunk(파일의 일부 조각)을 가진 노드의 정보를 가져오는 일을 한다.

- Torrent : group of peers exchanging chunk of a file // 토론토라고 불리지만 chunk 파일을 가진 peer들의 그룹임.

- Tracker : trackers peers participating in torrent // 토론토에 참여하는 peer들의 추적기임.

 

 

 

3) Globe System

: 페이지 접근에 대한 패턴(access pattern)을 분석하는 컴포넌트가 존재하여 웹 페이지에 대한 빠른 접근이 가능하도록 한다.

 

 예를 들어, 넷플릭스와 같이 하루에 엄청난 양의 데이터를 송신(UDP 프로토콜)하는 서버가 존재한다. 전세계의 모든 사람들이 하나의 넷플릭스 서버에 접근하면, 엄청난 부하와 느린 데이터 송신이 이뤄질 것이다. 하지만 access pattern을 분석하는 컴포넌트들이 이를 분석하여 지역에 따라 유리한 copy본들을 Replica Server로 보내준다.

   ** Replica Server는 edge서버를 두는 것으로 생각하면 된다.

 특정 국가의 사용자가 넷플릭스 Origin Service에 접근했을 때 Replica Server가 사용자가 요구하는 데이터 카피본을 보내줄 것이고, 따라서 넷플릭스가 지역화된 delivery 서비스를 제공하고 있다고 말할 수 있다.

 

(필요한 컴포넌트)

- A component that can redirect client requests to other servers : 클라이언트 요청을 다른 서버로 리디렉션 할 수있는 컴포넌트

- A component that analyzing access pattern : 페이지 접근에 대한 패턴을 분석할 수 있는 컴포넌트

- A component for managing the replication of Web pages : Replica server를 관리할 수 있는 컴포넌트

 

댓글