티스토리 뷰

오늘은 페이스북의 진화와 영향 및 논란 그리고 페이스북 아키텍처(2012)에 대해 알아보겠습니다. 

 

1. 소개

페이스북, 소셜 미디어 및 네트워킹 거장, 2004년 하버드 대학의 기숙사에서 탄생했습니다. 마크 저커버그와 동료 룸메이트인 에드워도 서베린, 앤드류 맥컬럼, 더스틴 모스코비츠, 크리스 휴즈에 의해 설립된 이 플랫폼은 처음에는 하버드 학생들을 대상으로 했습니다. 시간이 흐름에 따라 그 영향력은 북미 대학교뿐만 아니라 전 세계로 확장되었습니다.

 

2. 성장과 세계적인 영향

2006년 이후로 페이스북은 13세 이상의 사용자를 대상으로 하여 2022년 12월 기준으로 30억 명의 월간 활성 사용자를 보유하고 있습니다. 2023년 10월 현재 페이스북은 세계에서 세 번째로 많이 방문되는 웹사이트로 등극했으며 그 중 22.56%의 트래픽이 미국에서 기인했습니다. 특히 2010년대 최다 다운로드를 기록하며 모바일 앱으로서의 지위를 공고히 했습니다.

 

3. 접근성과 기능

인터넷이 연결된 개인용 컴퓨터, 태블릿, 스마트폰 등 다양한 기기에서 페이스북에 접속할 수 있습니다. 등록한 후 사용자는 프로필을 만들어 자신에 관한 정보를 공유할 수 있습니다. 텍스트, 사진, 멀티미디어를 게시하고 이를 친구로 등록한 사용자 또는 다르게 설정된 개인 정보 설정으로 공개적으로 공유할 수 있습니다. 메신저를 통한 직접적인 소통뿐만 아니라 공통 관심사를 가진 그룹에 참여하고 페이스북 친구와 그들이 팔로우하는 페이지의 활동에 대한 알림을 받을 수도 있습니다.

 

4. 논란과 비판

그러나 이러한 엄청난 성공에도 불구하고 페이스북은 다양한 논란에 휩싸였습니다. 사용자 개인 정보 보호 문제(케임브리지 애널리티카 데이터 스캔들), 2016년 미국 대통령 선거와 관련된 정치적 조작, 대규모 감시와 같은 문제에 대한 비판이 쏟아졌습니다. 또한 중독 및 자아 존중감 감소와 관련된 심리적 영향, 그리고 가짜 뉴스, 음모론, 저작권 침해 및 혐오 발언과 같은 콘텐츠에 대한 다양한 논란에도 직면했습니다.

5. 사회적 영향과 우려

기술적 기능 이상으로 페이스북은 사회적 영향에 대한 비판에 직면했습니다. 중독을 촉진하고 자아 존중감에 기여하는 것으로 지적되며, 광고주를 유치하기 위해 사용자 수를 과장했다는 비판도 나왔습니다. 마무리로, 페이스북의 이야기는 진화, 영향, 그리고 일부 어려움으로 가득한 하나의 이야기입니다. 하버드 중심의 네트워킹 도구에서 세계적인 거대로의 여정은 고비 없이 오가지 않았지만, 우리의 연결과 소통 방식에 끼친 영향은 부정할 수 없습니다.

 

6. 페이스북 아키텍처 (2012)

6-1 개요

페이스북은 단일 몰리딕 애플리케이션으로 개발되었습니다. 2012년 페이스북 빌드 엔지니어 척 로시(Chuck Rossi)와의 인터뷰에 따르면, 페이스북은 1.5 GB 바이너리 블롭으로 컴파일되고 이후에는 사용자 정의 BitTorrent 기반 릴리스 시스템을 사용하여 서버에 배포됩니다. 로시는 이 프로세스가 빌드하는 데 약 15분, 서버에 릴리스하는 데도 15분이 소요된다고 말했습니다. 빌드 및 릴리스 프로세스는 전혀 다운타임이 없습니다. 페이스북은 일일 기준으로 변경 사항을 롤아웃합니다.

 

6-2 데이터 저장 및 처리

페이스북은 분산된 머신에 데이터를 저장하기 위해 HBase를 기반으로 하는 플랫폼의 조합을 사용했습니다. 페이링 아키텍처를 사용하여 이벤트는 로그 파일에 저장되며 로그는 테일링됩니다. 시스템은 이러한 이벤트를 롤업하고 이를 저장소에 기록합니다. 사용자 인터페이스는 데이터를 추출하고 사용자에게 표시합니다. 페이스북은 AJAX 동작으로 요청을 처리합니다. 이러한 요청은 Scribe(페이스북에서 개발된)를 사용하여 로그 파일에 기록됩니다.

 

6-3 데이터 처리 및 출력

Ptail이라는 내부 도구를 사용하여 이러한 로그 파일에서 데이터를 읽어옵니다. Ptail은 로그 파일을 테일링하고 데이터를 추출합니다. Ptail 데이터는 세 가지 스트림으로 분리되어 다른 데이터 센터의 클러스터로 전송됩니다 (플러그인 인상, 뉴스 피드 인상, 동작(플러그인 + 뉴스 피드)). Puma는 데이터 흐름이 많은 기간(입출력 또는 IO)을 관리하는 데 사용됩니다. 데이터는 수요가 높은 기간에 읽고 쓰는 횟수를 줄이기 위해 일괄 처리됩니다. (인기 있는 기사는 많은 인상과 뉴스 피드 인상을 생성하므로 데이터가 크게 편향됩니다.) 일괄 처리는 1.5초마다 수행되며 해시 테이블을 만들 때 사용되는 메모리로 제한됩니다.

 

6-4 데이터 출력 및 백엔드

데이터는 그런 다음 PHP 형식으로 출력됩니다. 백엔드는 Java로 작성되었습니다. PHP 프로그램이 Java 서비스를 쿼리할 수 있도록 메시징 형식으로 Thrift가 사용됩니다. 캐싱 솔루션은 페이지를 빠르게 표시합니다. 데이터는 MapReduce 서버로 전송되어 Hive를 통해 쿼리됩니다. 이는 데이터를 Hive에서 복구할 수 있기 때문에 백업으로 작동합니다.

 

이상 페이스북의 진화와 영향 및 논란 그리고 페이스북 아키텍처(2012)에 대해 알아보았습니다.