아키텍처5 우아한 형제들의 회원시스템 이벤트기반 아키텍처 구축하기 2 본 포스팅은 아무런 상업적 이익과 금전적 수입에 연관되어 있지 않습니다. 문제 시 삭제 조치하겠습니다. 블로그 프로필의 이메일이나 lion0077v@gmail.com으로 메일 주시기 바랍니다. 이전 포스팅에서는 물리적인 시스템 분리와 비동기 HTTP 통신, 올바른 이벤트 발행 방식까지 살펴보며 의존 관계의 본질이 무엇인지 확인했다. 메시징 시스템을 사용해 물리적인 의존을 제거하는 방법과 “메시지가 담는 의도”에 따라 전혀 다른 결과를 얻는다는 것을 알 수 있었다.예시 상황처럼 ‘가족관계를 탈퇴하라’ 라는 달성 목적이 아닌 본인인증을 해제했다는 이벤트를 발송해야 한다. 즉, 우리가 발행해야 하는 이벤트는 도메인 이벤트로 인해 달성할 목적이 아닌 도메인 이벤트 그 자체가 되어야 한다.도메인이란 해결하고자 하.. 기술블로그 2024. 10. 23. 우아한 형제들의 회원시스템 이벤트기반 아키텍처 구축하기 1 본 포스팅은 아무런 상업적 이익과 금전적 수입에 연관되어 있지 않습니다. 문제 시 삭제 조치하겠습니다. 블로그 프로필의 이메일이나 lion0077v@gmail.com으로 메일 주시기 바랍니다.성공적으로 성장하는 회사들이 대부분 그렇듯 배달의 민족 주문수는 J커브를 그리면서 가파른 성장을 경험하였다. 2015년 서비스 출범 당시 하나의 프로젝트로 만들어졌던 배달의 민족은 더 이상 하나의 시스템, 하나의 데이터베이스 만으로 폭발적으로 늘어나는 트래픽을 감당하지 못한다.이에 배달의 민족은 MSA로 전환을 시도하였고 2019년 모든 시스템이 분리에 성공하며 마이크로 서비스를 완성하였다. 이제 배달의 민족은 이벤트 기반 아키텍처의 시대로 돌입한다.그럼 우리는 배달의민족의 이벤트 기반 아키텍처를 다루는 노하우를 확.. 기술블로그 2024. 9. 22. 2. Chatbot 서비스 아키텍처 설정 웹 내에서 구현할 챗봇의 특징은 생각보다 간단하다. 1. 실시간성을 지원하지 않아도 된다. 챗봇 서버는 클라이언트에서 요청이 들어오면 이에 대한 적절한 응답을 Model 서버에서 받고 다시 Client server로 넘겨주는 1대1대화가 될 것이다. 사용자의 요청이 들어오면 응답이 나가는 구조이므로 실시간성을 지원하지 않아도 된다. 2. 채팅 내역을 저장하자. 좀 더 사용자 친화적인 서비스를 기획하기 위해서 채팅 내역을 저장하기로 결정했다. DB는 MySQL을 사용한다. 다만 로그인된 계정에 한해서 대화 내역을 30일간 저장하는 것으로 기준을 잡았다. 기준의 근거는 명확하지 않다. 실제 서비스가 된다면 개선되야겠지... 로그인되지 않은 사용자도 챗봇을 사용할 수 있지만, 이 때, 채팅 내역은 저장되지 않.. 카테고리 없음 2023. 10. 9. LINE 오픈챗 서버가 100배 급증하는 트래픽을 다루는 방법 - 본론1 서론에서 말했듯 LINE에서 활용하는 이벤트 기반 아키텍처의 개요는 아래와 같다. 🔥 오픈챗 서버에서는 메시지 전송과 메시지 리액션, 메시지 읽음 등과 같은 오픈챗 내 다양한 행위를 모두 이벤트로 간주하고 이벤트가 생성될 때마다 스토리지에 저장한 후 오픈챗에 참여하고 있는 모든 사용자에게 서버 푸시로 ‘새로운 이벤트가 생성됐으니 받아 가세요’라고 알린다. 서버 푸시를 받은 사용자(클라이언트)는 스토리지에 새로 들어온 이벤트를 페치(fetch) 이벤트 API로 받아가고 새 메시지 등을 화면에 추가하는 액션을 실행한다. 자 그럼 이제 핫 챗에서 급증하는 트래픽을 다룰 수 있는 LINE 만의 노하우를 알아보자. 🎮핫 챗에서 급증하는 트래픽을 다루는 방법 ✅Case 1. fetch 이벤트 API 요청 급증 이 .. 기술블로그 2023. 8. 2. LINE 오픈챗 서버가 100배 급증하는 트래픽을 다루는 방법 - 서론 📑서론, 오픈챗? 오픈챗은 메신저형 소셜 네트워크와 장점을 공유한다. 여러 사람이 동시에 소통할 수 있으며, 실시간으로 참여하지 않더라도 남겨진 메시지를 통해 수월하게 소통할 수 있다. 또한 접속만 하고 있다면, 참여 여부와 상관없이 인원과 채팅내역이 지속된다. 파일, 목소리, 단체통화 등 여러 형태로 소통이 가능하며 연동된 앱에 따라선 송금, 선물등의 행위까지 수월하게 할 수 있으며 대부분 모바일이 연동되므로 비교적 접속과 참여가 자유롭다. 한 오픈챗에 수천 명부터 수만 명의 사용자가 참여할 수 있고, 활발한 오픈챗은 한 오픈챗에서만 1분에 20만 개의 API 요청을 처리하기도 한다. 통계적으로 라인의 오픈챗 서버는 1분에 천만 개, 하루에 약 100억 개의 API요청을 처리하고 있다. 따라서 네이버의.. 기술블로그 2023. 8. 1. 이전 1 다음