본문 바로가기

기타

P2P (Peer to Peer) VS Master/Slave

P2P (Peer To Peer)

Peer : 또래, 동료

P2P는 네트워크로 같이 연결되어 있는 컴퓨터들이 클라이언트와 서버의 기능을 하는 네트워크

즉, 컴퓨터끼리 직접적으로 통신하는 방식이다.

 

기존에는 중앙 서버방식으로 중앙 서버를 통하여 통신하는 Server-Based 방식으로 통신을 구현하였다면,

P2P는 컴퓨터들이 서로의 클라이언트고 서버가 되는 방식으로 직접 통신하며, 중앙 서버 없이 데이터를 공유하기도 한다.

처음 P2P는 인터넷 속도가 느려, 널리 사용되는 방법은 아니였으나, 인터넷 속도가 점점 빨라짐에 따라 상용 가능한 스펙을 갖게되었다.

 

 

- 장점 : 중앙에 서버를 둔 Server-Based 방식은 서버에 저장된 데이터가 조작되거나 훼손된 경우 변질된 데이터가 전송될 수 있으나, P2P는 중앙에 서버를 두지 않으니 데이터 위변조에 가능성이 현저히 줄어든다.

P2P는 서버에서 데이터를 관리하는 것이 아닌 가장 가까운 컴퓨터에 데이터를 분산하여 저장(분산파일 시스템)하기 때문에 분산된 데이터가 많아질 수록 데이터 호출, 전송 속도가 빨라져 서버 다운, 트래픽 등에서 고효율을 낼 수 있다.

 

- 단점 : 데이터를 나눠 가질 수 있는 연결된 컴퓨터가 많아질 수록 전송 속도는 점점 빨라지지만 반대로 컴퓨터가 적어질 수록 속도가 느려지기 때문에, 초기에 설계하기 어렵다.

또한 상대의 특정 정보를 공유하여야 한다. (ex. IP)

 

 

Master / Slave

Master/Slave는 서버 이중화 및 데이터 복제의 한 형태로, 데이터베이스나 어플리케이션 서버에 주로 사용된다.

Master서버는 데이터를 쓰기 작업(Insert, Update, Delete)를 처리하고

Slave서버는 데이터를 읽기 작업(Select)을 처리하는데,

이 구조에서는 하나의 Master서버와 여러개의 Slave서버가 존재하며,

Master서버에서 데이터 쓰기 작업이 발생하면 Slave서버로 복제한다.

 

- 장점 : 여러 Slave서버를 갖고 읽기 처리를 하기 때문에 Master 서버의 부하를 줄이고

Master서버 장애시, 다른 Slave서버를 Master로 승격하여 서비스를 지속할 수 있다.

 

- 단점 : 실시간 복제가 아닌 경우 Master서버와 Slave서버의 데이터가 일시적으로 일치하지 않을 수 있으며,

또한 실시간 복제라 하더라도 데이터를 쓰기 작업이 쌓이게 된다면 데이터를 제때 주지 못하는 복제지연이 발생하여 제대로된 정보를 주지 못하거나, 빠지는 경우가 발생할 수 있다.

 

 

 

 

P2P VS Master/Slave

특징 P2P (Peer to Peer) Master / Slave
구조 탈 중앙화,
모든 노드가 동등한 권한을 가짐
중앙 집중형,
마스터 서버가 중심 역할
자원 공유 각 노드가 파일, 데이터, 리소스 등을
직접 공유
마스터 서버가 데이터를 관리하고
슬레이브 서버에 복제
확장성 매우 높음,
새로운 노드 추가시 네트워크 자원 증가
제한적,
마스터 서버의 처리 능력에 한계 존재
가용성 높은 가용성,
한노드가 실패해도 큰 영향이 없음
마스터 서버가 장애시 문제가 발생할 수 있어 추가 설정이 필요함
데이터 일관성 데이터 동기화 및 일관성 유지 어려움 중앙 집중형 관리로 데이터 일관성 높
관리 복잡성 중앙 관리자가 없어 관리가 복잡함 중앙 집중형 관리로 관리 용이
보안 보안 취약점 존재,
모든 노드가 동등한 권한을 가짐
중앙 관리로 보안 강화 가능
읽기 / 쓰기 작업 모든 노드가 읽기 / 쓰기 작업 수행 가능 마스터서버는 쓰기 작업,
슬레이브서버는 읽기 작업
장애 복구 한 노드 실패시 다른 노드를 사용하기에
네트워크에 큰 영향 없음
마스터 서버 장애시 슬레이브 서버 승격 필요
예시 블록체인,
파일 공유 네트워크(ex. BitTorrent)
데이터베이스 복제
(ex. Mysql Replication)

*노드 - 장치 또는 데이터 지점. 즉, 컴퓨터나 정보처리 장치

'기타' 카테고리의 다른 글

[Karaf] Apache Karaf - Web Console 설치  (0) 2024.07.10
Replication & Clustering  (0) 2024.05.27
인증서 파일 형식  (0) 2024.05.17
SSL/TLS  (0) 2024.05.14
[LDAP] Suffix, Schema, ObjectClass, DN  (0) 2024.05.09