설계·방법론

배민쇼핑라이브를 만드는 기술: 채팅 편 내용 정리

codeManager 2022. 6. 8. 18:15
반응형

왜 자체 구현했는가?

Sendbird나 FCM 같은 외부 메시징 서비스 도입을 검토했으나 

자체 구현하는 것이 쇼핑라이브에 가장 맞는 채팅을 만들 수 있을 것 같아서 진행함

 

 

아키텍처

Redis Pub/Sub + Webflux + Websocket

 

 

구현의 방향성

1. Websocket을 최소한 사용한다.

복잡성이 늘어나기 때문에 REST API로 가능한 것들은 소켓 사용을 하지 않음 

2. RDB 직접 접근을 배제한다.

Webflux랑 JDBC를 사용하면 non-blocking의 이점을 얻지 못하기 때문에 Redis를 사용함

 

 

시행착오들

WebSession 사용으로 인한 장애

어드민 장애

컴포넌트 렌더링 회수를 줄이는 방향으로 변경

 

 

출처

https://techblog.woowahan.com/5268/

 

배민쇼핑라이브를 만드는 기술: 채팅 편 | 우아한형제들 기술블로그

2021년 10월 14일 | 라이브선물스쿼드의 오지산입니다. 이 글에서는 저희 배민쇼핑라이브에서 "채팅을 자체 구현하게 된 배경"과, "기술적인 부분"을 설명드리려고 합니다. 배민쇼핑라이브에서 채

techblog.woowahan.com

 

반응형