모든 블로그
버즈빌

버즈빌

주요 카테고리 백엔드 · DevOps

활동 요약

대표 인기 포스트버즈빌 프론트엔드 변천사143 조회
최근 30일
2개
평균 조회
18
누적 조회
2,197
전체 글
125개
마지막 발행
2026. 11. 3.
블로그 방문

버즈빌 기술 블로그 글 (42)

백엔드

엘라스틱서치를 활용한 수평 확장 가능한 광고 서버 만들기

리워드 광고 플랫폼 성장에 따라 MySQL 기반 광고 서버의 수평 확장 한계가 드러났습니다. 이를 해결하기 위해 엘라스틱서치로 전환해 타게팅과 송출 구조를 개선했습니다.

#Elasticsearch#MySQL#cloud
3300

백엔드

Elasticsearch 검색에서 확률 사용하기

Elasticsearch에서 문서별 광고 할당 확률을 구현하는 script와 function_score 방식을 비교했습니다. random_score·decay 조합의 구현 원리와 성능 검증 필요성을 설명합니다.

#Elasticsearch#검색#성능
200

백엔드

asyncio 뽀개기 3 - SIGTERM (CTRL+C) 올바르게 처리하기

asyncio 서버에서 SIGINT·SIGTERM을 안전하게 처리하는 signal handler 구성을 설명했습니다. 작업 취소, 이벤트 루프 종료, 컨테이너 환경의 signal 전달 주의점을 함께 다뤘습니다.

#Python#asyncio#SIGTERM
100

백엔드

asyncio 뽀개기 3 - SIGTERM (CTRL+C) 올바르게 처리하기

asyncio 서버에서 요청 유실을 막기 위한 graceful shutdown 필요성을 설명합니다. SIGTERM·CTRL+C 신호를 이벤트 루프 핸들러로 처리하는 방식을 다룹니다.

#Python#asyncio#SIGTERM
5700

백엔드

asyncio 뽀개기 2 - Future의 활용

asyncio Future의 완료 콜백과 직접 발행 방식을 설명했습니다. busy waiting 없이 Future 기반 Semaphore를 구현하는 흐름을 다뤘습니다.

#Python#asyncio#Future
100

백엔드

asyncio 뽀개기 2 - Future의 활용

asyncio Future를 단순 await 이상으로 활용하는 방법을 소개합니다. Future 생성과 콜백 등록을 통한 비동기 흐름 제어를 다룹니다.

#Python#asyncio#비동기
3000

백엔드

asyncio 뽀개기 1 - Coroutine과 Eventloop

asyncio의 코루틴과 Eventloop로 10초 주기 Job을 동시 실행하는 방식을 설명했습니다. `await`와 `create_task()`의 실행권 및 대기 차이를 정리했습니다.

#Python#asyncio#coroutine
200

백엔드

asyncio 뽀개기 1 - Coroutine과 Eventloop

asyncio의 Coroutine과 Eventloop를 시작으로 주요 컴포넌트와 활용법을 소개합니다. 최종적으로 production 환경의 graceful shutdown 구현을 목표로 합니다.

#Python#asyncio#coroutine
2500

백엔드

DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #2 TLS Handshake

Go·DynamoDB 환경의 고지연 원인을 TLS Handshake와 짧은 타임아웃에 따른 커넥션 종료로 분석했습니다. 타임아웃을 70ms로 조정해 재시도를 줄이고 커넥션 재활용을 유도했습니다.

#Go#DynamoDB#TLS
200

백엔드

DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #2 TLS Handshake

트래픽 증가 후 일부 gRPC 요청에서 DynamoDB 응답 시간이 길어지는 현상을 다뤘습니다. Go HTTP Client와 TLS Handshake 관점의 점검 경험을 공유합니다.

#Go#DynamoDB#gRPC
2300

백엔드

DynamoDB를 사용하는 Go 서비스의 응답 시간 최적화 #1 AWS Credential Token

Go 서비스에서 HTTP Trace로 DynamoDB 요청 지연 요인을 추적했습니다. AWS Credential Token 발급 로직의 응답 시간 영향을 분석하고 최적화했습니다.

#Go#DynamoDB#AWS
1400

백엔드

HTTP connection pool in Go explained

Go의 `http.Transport`를 중심으로 HTTP 커넥션 관리 방식을 분석했습니다. DynamoDB 응답시간 최적화와 커넥션 풀 활용 관점을 다룹니다.

#Go#HTTP#DynamoDB
2100

백엔드

setup.py 멈춰!

파이썬 코드 공유와 배포를 위한 패키징의 필요성과 발전 과정을 소개했습니다. setup.py 기반 레거시 방식의 문제와 권장 표준 방식을 다루려 합니다.

#Python#setup.py#packaging
1500

백엔드

그리디 알고리즘을 이용한 중복 콘텐츠 클러스터링

크롤링한 퍼블리셔 콘텐츠에서 중복 항목을 구분하고 대표 콘텐츠를 선택할 필요를 다룹니다. 그리디 알고리즘 기반 콘텐츠 클러스터링을 주제로 제시합니다.

#그리디 알고리즘#클러스터링#크롤링
3200

백엔드

안드로이드 개발자의 서버 개발기

서버 개발 인력 부족을 계기로 안드로이드 개발자가 서버 개발을 시작한 배경을 소개합니다. 타 직군 전환자와 주니어의 실무 적응을 위한 가이드 활용을 다룹니다.

#Android#server
3700

백엔드

How We Pipe Data

여러 저장소에 분산된 사용자·광고 활동 데이터를 Redshift로 통합하는 파이프라인을 소개했습니다. 컬럼형 저장, 빠른 적재, 수평 확장성을 핵심 선택 이유로 설명합니다.

#Redshift#pipeline#MySQL
1300

백엔드

How we pipe data

여러 국가의 유저 행동 및 광고 데이터를 다양한 저장소에서 수집하는 환경을 소개했습니다. 분석과 활용을 위해 분산 데이터를 한곳에 모으는 필요성을 설명합니다.

#MySQL#DynamoDB#Redis
1700

백엔드

Go 서버 개발하기

Django 기반 서비스에서 호출 비중이 약 80%인 Allocation API의 성능 병목을 확인했습니다. 해당 API만 Go로 분리 구현하는 방식의 서버 개발을 검토했습니다.

#Go#Django#Python
3500