카
카카오엔터테인먼트FE
March 6, 20231회
라이브채팅 플랫폼 구현기 1탄 : 개발 언어 및 기반기술 조사
간단 소개
라이브 채팅 플랫폼 구축을 위한 개발 언어, 프레임워크, 메시지 처리 방식, 메시지 브로커, 스트림 프로세싱, 금칙어 처리 기술 스택 선정 과정을 설명한다.
AI Summary
- 개발 언어 및 프레임워크 선정
- Java, Kotlin, Go Lang, Erlang을 비교 검토 후 Kotlin 선택. Kotlin의 Coroutine은 비동기 로직 구현에 강점.
- Spring Boot Framework의 대안으로 Ktor를 검토했으나, Production level 적용 사례 부족으로 Spring Boot 채택.
- 채팅 서버 메시지 처리 방식 및 메시지 브로커
- HTTP Polling과 WebSocket 방식 비교 후 WebSocket 선택. 메시지 전달 지연 최소화가 중요.
- Redis Pub/Sub, Google Cloud Pub/Sub, Apache Kafka 비교 검토 후 Apache Kafka 선택. 국내 한정 서비스, 스트림 특성 활용에 적합.
- 스트림 프로세싱 및 금칙어 처리
- Dataflow & Beam, Kafka Streams 비교 후 Kafka Streams 선택. Kotlin으로 간결한 스트림 프로세싱 가능.
- 금칙어 처리에 해시 테이블, 트라이(Trie) 구조를 거쳐 아호-코라식(Aho-Corasick) 알고리즘 적용. 빠른 검색 속도와 효율적인 필터링이 강점.
Next Feeds
슬랙봇 이모티콘 제작소 개발 그 뒷이야기!!
카카오페이 사내 슬랙봇 콘테스트 참여 후기: 이모티콘 제작 슬랙봇 개발 과정, 기술 스택, 알고리즘 및 개선 사항 공유.
슬랙봇이모티콘PythonPillowFlask
2023. 3. 3.
카카오페이

Serilog를 통해 애플리케이션 데이터를 수집하고 분석하자
Serilog를 사용하여 애플리케이션 로그를 수집하고, S3에 저장 후 Athena를 통해 분석하는 방법을 설명합니다.
Serilog구조화된 로그Amazon S3Amazon AthenaAmazon Glue
2023. 3. 3.
플라네타리움
AI로 블로그 쓰기 - ChatGPT를 가장 쉽게 활용하는 방법
ChatGPT를 활용한 블로그 작성 방법과 비전 분야 생성 AI 기술 소개, 실제 블로그 작성 경험 공유.
ChatGPTAIDalle2Stable Diffusion2Gen-1
2023. 2. 24.
빅웨이브에이아이

청구/수납 서비스 개발기
키친보드의 청구/수납 서비스 개발기를 통해 서비스 소개, 개발 과정의 어려움, 해결 과정, 그리고 향후 계획을 설명합니다.
청구/수납키친보드유통사매장bucket4j
2023. 2. 24.
스포카

Web3와 App-chain 플랫폼의 가능성
Web3 서비스 도입을 위한 블록체인 플랫폼의 가능성과 고려사항, 그리고 애플리케이션 전용 블록체인의 필요성을 분석합니다.
Web3블록체인App-chainNFT플랫폼
2023. 2. 23.
skplanet
시각적 회귀 테스트 BackstopJS 적용하기 (Visual Regression Test)
BackstopJS를 활용한 시각적 회귀 테스트 구축 경험 공유: 설치, 설정, 자동화, 문제 해결 및 활용 사례를 소개합니다.
BackstopJS시각적 회귀 테스트스토리북Docker자동화
2023. 2. 23.
카카오엔터테인먼트FE