본문으로 이동
토스ㅣSLASH 24 -  SSE 이벤트 푸쉬로 불필요한 Polling 제거하기
컨퍼런스

토스ㅣSLASH 24 - SSE 이벤트 푸쉬로 불필요한 Polling 제거하기

SLASH 토스 · YouTube

원문 보기

AI 핵심 요약

사용자 증가로 3초 간격 폴링이 늘면서 서빙 API와 Redis·Oracle·MySQL의 CPU 및 리소스 부담이 커졌고, 데이터 변경 이벤트가 있을 때만 전달하도록 SSE 푸시 구조를 도입했다. Spring WebFlux 기반 SSE 서버를 구성하고, 공통 이벤트에는 브로드캐스팅을, 보유 자산처럼 개인화된 데이터에는 사용자별 유니캐스팅 채널을 적용해 폴링을 줄였다. 메시지 브로커로 Redis Pub/Sub과 NATS를 비교한 뒤, 발표에서 확인한 처리 성능을 바탕으로 NATS를 선택했으며 보유 자산 조회에서 약 30%의 성능 개선을 확인했다. 운영 중에는 하트비트 뒤 L7 프록시가 RST를 보내 연결이 끊기는 문제를 TCP 덤프로 찾아 TCP 프록시 모드로 변경했으며, SSE 도입 시 연결 종료 모니터링도 중요하다는 점을 공유했다.

  • SSE는 서버에서 클라이언트로만 데이터를 보내는 단방향 통신에 적합하고, 양방향 구독 제어가 필요하면 WebSocket을 고려한다.
  • 모든 연결에 같은 메시지를 보내는 브로드캐스팅과 사용자별 채널을 두는 유니캐스팅은 데이터의 개인화 여부에 따라 선택한다.
  • Kafka는 접속 여부와 무관하게 서버가 메시지를 받아 필터링해야 하지만, Redis Pub/Sub은 구독 중인 채널에만 메시지를 전달한다.
  • SSE 연결은 클라이언트가 끊긴 시점을 서버가 즉시 알기 어려우므로 하트비트와 연결 종료 모니터링이 필요하다.

소개

'실시간' 업데이트가 중요한 증권 서비스! 이를 위해 서버에서 클라이언트까지 푸쉬 구조를 구축하고, SSE로 안정적이고 신속한 데이터 업데이트를 구현한 방법을 소개합니다. 전연빈 / 토스증권 Server Platform Team Leader 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #server #sse #backend #토스증권 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다....

비슷한 학습 자료

컨퍼런스 SLASH

업무를 더 효율적으로, 최대의 성과를 낼 수 있는 법은 무엇일까요? 클러스터 운영부터 서비스 라이프사이클 관리까지, 데브옵스 업무 효율화 사례를 소개합니다. 양석준 / DevOps Engineer 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #devops #cluster 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다. *토스가 다루는 모든 개인정보는 고객에게 동의를 받은 후에 처리...

데브옵스 · 인프라

컨퍼런스 SLASH

트래픽이 쏟아지는 마이데이터 서비스, 과연 어떻게 안정적으로 운영할 수 있을까요? 서비스 운영 과정에서 마주했던 여러 과제들과 기술적인 의사결정을 소개합니다. 신윤재 / Server Developer 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #mydata #backend 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니다. *토스가 다루는 모든 개인정보는 고객에게 동의를 받은 후에 처...

백엔드 데이터베이스

컨퍼런스 SLASH

이론으로, 감으로 예상만 하던 kernel 영역까지 명확하게 확인할 수 없을까요? eBPF를 활용해 observability를 대폭 향상시킨 경험을 나눕니다. 이항령 / Head of Server 이재성 / DevOps Team Leader 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #kernel #observability #devops #backend 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포...

데브옵스 · 인프라 시스템 · 운영체제

컨퍼런스 SLASH

Hyperthread는 어플리케이션에 어떤 영향을 미칠까요? CPU의 구조와 이를 더 자세히 모니터링 할 수 있는 Top down 분석 방법도 함께 살펴봅니다. 최준우 / 토스 Server Deveopler 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://toss.im/slash-24 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #토스 #개발자컨퍼런스 #SLASH #SLASH24 #server #backend #hyperthread #cpu #observability 유의 사항 *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩니...

시스템 · 운영체제

컨퍼런스 SLASH

서비스 운영 과정 속 여러 장애들, 어떻게 그 원인을 빠르고 정확하게 파악할 수 있을까요? 상황에 맞는 다양한 ‘프로파일러’로 문제 원인을 파악하고 또 해결한 과정을 소개합니다. 조유성 / 토스 Frontend Developer 발표 자료 👉🏻 https://bit.ly/42ypWpE 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #profiler #서비스성능 #serverdeveloper #토스 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작...

백엔드 데브옵스 · 인프라 로드맵 2개에 담김

컨퍼런스 SLASH

토스증권의 시세 정보는 어떤 원리로 보이는 것일까요? 시세 플랫폼을 통해 시스템 구조와 개발 당시 고민했던 과정을 소개합니다. 정도원 / 토스증권 Server Developer 발표 자료 👉🏻 https://bit.ly/3IXHhl5 토스 개발자 컨퍼런스 SLASH에 대한 자세한 정보는 👉🏻 https://bit.ly/43kW3tO 컨퍼런스 및 세션에 대한 문의는 👉🏻 slash@toss.im 토스에 합류하고 싶다면 👉🏻 https://toss.im/career/jobs #redis #reactiveredistemplate #serverdeveloper #토스증권 #개발자컨퍼런스 #SLASH *본 발표자료의 저작권은 연사에 있으며, 저작권자의 사전 서면 동의 없이 자료의 일부 또는 전부를 이용하거나 배포할 수 없습니다. *또한 해당 자료를 복제하여 SLASH 행사 홈페이지를 제외한 온라인상에 게재하는 행위는 연사가 동의한 저작권 및 배포전송권에 위배됩...

백엔드 데이터베이스