📈 Meta 는 수십억 건의 비동기 요청을 어떻게 처리할까?

Meta 에서는 여러 엔지니어링 팀에서 수행해야하는 비동기 처리를 통합적으로 관리하기 위해 이벤트 중심 비동기 컴퓨팅 플랫폼(aka. Async)을 자체적으로 구축하여 운영하고 있다고 합니다. 사실 이벤트 중심 비동기 컴퓨팅 플랫폼이라는 거창한 단어를 썼지만, AWS 의 Lamda 나 네이버 클라우드 플랫폼의 Cloud Functions 와 같은 서버리스 컴퓨팅과 비슷하다는 느낌이 드네요. 초기 버전의 Async 는 비동기 요청을 중앙 집중식 데이터베이스에 저장하고 Dispatcher 라는 모듈에서 간단한 우선순위 전략으로 요청을 정렬하고 비동기 처리서버로 전달하는 단순한 구조였는데, 서비스가 커지면서 다양한 유즈케이스와 트래픽의 증가를 시스템이 따라잡을 수 없었고 개선이 필요하게 되었다고 합니다. Async 는 총 2번의 개선이 진행되었는데요, 첫번째는 수많은 엔지니어링 팀이 요청하는 트래픽을 처리할 수 있게끔 확장성 있고 신뢰도 높은 시스템을 구축하기 위한 개선이 있었고, 두번째는 다양한 워크로드로 인해 증가하는 시스템의 복잡성을 줄이기 위한 개선이었습니다. 개인적으로 흥미로웠던 점은 첫번째 개선에서 비동기 처리에 대한 우선순위를 지연 허용 시간이라는 기준을 두어 비즈니스 요구 사항에 세분화된 우선순위를 지정할 수 있게 하고 예측할 수 없는 트래픽 상황에서 컴퓨팅 리소스를 최대한 효율적으로 사용하기 위한 용량 최적화 방법과 두번째 개선에서 다양한 워크로드를 대응하기 위해 Tailer(Data 를 읽기 위한 Agent)를 도입하고 pull 방식에서 push 방식으로 변화했을 때 얻은 장점이었습니다. Meta 의 비동기 요청 처리에 대해 관심있으신 분들은 공유드린 원문 내용을 참고해주세요. 📚 원문 - 초기 Async 의 문제점과 개선 내용: https://engineering.fb.com/2020/08/17/production-engineering/async/ - 두번째 Async 개선: https://engineering.fb.com/2023/01/31/production-engineering/meta-asynchronous-computing/

Asynchronous computing @Facebook: Driving efficiency and developer productivity at Facebook scale

Engineering at Meta

Asynchronous computing @Facebook: Driving efficiency and developer productivity at Facebook scale

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 9월 18일 오전 4:31

 • 

저장 30조회 2,803

댓글 0

    함께 읽은 게시물

    개발자의 장애 공유 문화

    ... 더 보기

    개발자의 장애 공유 문화

    K리그 프로그래머

    개발자의 장애 공유 문화

     • 

    저장 25 • 조회 4,540



    얼마전에 신입 개발자 채용시 과제를 10분 내에 빠르게 만들어서 보낸 사람을 채용했다며, 빠르게 결과를 냈기 때문에 채용했다는 글이 SNS에 많이 돌았다. 그러면서 이렇게 말한다.


    "알고리즘 많이 푸는 개발자보다, AI로 빠르게 결과 내는 사람을 선호. 알고리즘, 코딩 책 안 봐도 AI 도구만 적극 활용하면 취업 기회 잡을 수 있다."


    ... 더 보기

     • 

    저장 19 • 조회 5,004


    [일터의 근육] 컬리 일잘러들의 공통점

    '

    ... 더 보기

    내 옆 일 잘하는 동료가 가진 것

    Brunch Story

    내 옆 일 잘하는 동료가 가진 것

    <👩🏻‍💻 신규 개발자가 입사 첫 달에 해야 할 7가지>

    어느 환경에서든 첫인상은 중요합니다. 첫인상으로 인해 생긴 이미지는 추후에 쉽게 바뀌지 않는데요, 회사에서도 예외는 아닙니다. 입사 초기에 보이는 모습에 따라 ‘실력자’라는 인상을 줄 수도, ‘일 못하는 사람’으로 낙인찍힐 수도 있죠. 입사 첫 달은 이러한 첫인상을 결정짓는 중요한 시기입니다. 더 나아가서는 이 시기가 앞으로 이 회사에서의 성공을 좌우할 수도 있어요. 신규 개발자가 새 직장에서 첫 시작을 잘 끊기 위해서 해야 할 7가지 일을 선정해 보았습니다! 1️⃣ 상사의 기대치 파악하기 입사 초반에는 ... 더 보기

    신규 개발자가 입사 첫 달에 해야 할 7가지

    Brunch Story

    신규 개발자가 입사 첫 달에 해야 할 7가지

     • 

    댓글 5 • 저장 621 • 조회 18,140


    🙉 달레의 찐팬이 되어주실래요? 💕

    ... 더 보기