도메인을 이해하고, 문제를 정의한 후, 해법을 개발하는 일을 즐깁니다.
Tech-Verse 2022에서 송재욱 님이 발표한 독립적이고 범용적인 올인원(all-in-one) 메시징 플랫폼 세션 내용을 옮긴 글입니다. 안녕하세요. ABC Studio에서 MessagingHub를 만들고 있는 송재욱입니다. 이번 글에서는 어떤 과정을 거쳐서 독립적이고 범용적인 올인원(all-in-one) 메시징 플랫폼을 만들어 갔는지 소개하겠습니다. 먼저 MessagingHub가 무엇인지 소개하고, 'Messaging as a Service'에 대해 플랫폼 관점에서 말씀드린 뒤 MessagingHub의 주요 아키텍처와 흐름을 살펴보겠습니다. MessagingHub 소개 MessagingHub란 무엇이고, 왜 만들었고, 어디에 사용하는 것일까요? 이 글의 제목인 '독립적이고 범용적인 올인원 메시징 플랫폼'은 바로 MessagingHub를 가리키는 말입니다. MessagingHub는 이름에서 알 수 있듯 메시징에 초점을 둔 플랫폼으로, 독립적이고 범용적이라는
안녕하세요. LINE+ ABC Studio에서 messaging-hub를 만들고 있는 송재욱입니다. messaging-hub는 독립적이고 범용적인 메시징 플랫폼이라는 방향으로 자체 개발하고 있는 시스템으로, 현재 일본의 No.1 푸드 딜리버리 서비스인 Demaecan에서 사용하고 있습니다. messaging-hub를 소개했던 이전 글(1편, 2편)에 이어 이번에는 서비스 운영 과정에서 진행한 몇 가지 트러블 슈팅 사례를 공유하겠습니다. 글은 다음과 같은 순서로 진행합니다. 첫 번째 사례: 불안정한 네트워크에서 '보냈는데 못 받은' 메시지 해결 방법 1: 연결 확인 과정 확립 해결 방법 2: 메시지 수신 확인 절차 확립 두 번째 사례: 평생 마주치고 싶지 않았던 Out Of Memory 해결 방법 1: 쿠버네티스 QoS 클래스 변경 해결 방법 2: JVM 옵션 설정 적용 결과 세 번째 사례: 웹소켓 연결이 동시에 끊겼는데 네트워크 장애가 아니라면? 웹소켓 연
도메인을 이해하고, 문제를 정의한 후, 해법을 개발하는 일을 즐깁니 다.
지난 글, 기술 부채를 갚기 위한 첫 발을 떼기까지에 이어 이번 글에서는 messaging-hub의 아키텍처가 진화해 나간 과정과 세부적인 구성 및 처리 흐름에 대해서 공유하려고 합니다. 아키텍처: v0.1에서 v1.0까지의 변화 과정 messaging-hub의 시스템 아키텍처가 어떤 과정을 거쳐 현재의 모습이 됐는지 단계별로 설명하겠습니다. v0.1 이 시점에서는 프로젝트를 'connection system'이라고 불렀습니다. 아키텍처 매우 간단한 구조지만, 가장 핵심이 되는 도메인이고, 앞으로 이 구조를 기반으로 뻗어 나가게 됩니다. 아키텍처 구성을 살펴보겠습니다. connection-manager는 클
안녕하세요. LINE+의 ABC Studio 팀에서 백엔드 개발자로 살고 있는 송재욱입니다. 제가 제 자신을 개발자로 소개할 때 사용하는 문장이 있습니다. 도메인을 이해하고, 문제를 정의한 후, 해법을