서문 이전 글에서 fluentd를 도입하게 된 발단부터 설계까지 알아보았다. 이번 글에서는 설계에 나온 부분 중, log forwarder 부분을 도입하는 부분에 대한 과정을 기록하였다. forwarder는 서버내에서 생성되는 로그 및 통계 데이터를 수집하여 1차 가공하고, log aggregator로 전송하는 역할을 한다. 본문 fluentd config forwarder를 구현하기 위하여, fluentd config 파일에 관한 간단한 설명을 먼저 진행한다. fluentd는 config 파일을 수정하여 동작을 제어한다. (nginx와 유사) config 파일은 plugin들의 집합으로 이루어져 있으며, 여기서 plugin은 크게 Input, Output 두가지 종류로 구분되고, 이를 보조하는 Filt..

서문 이전 글에서 특정 시간(배치작업 실행 중)에 DB Cpu 로드율이 100%에 도달하는 현상과 이에 대한 해결책으로 단일 row insert를 bulk insert로 변경하는 것에 효과에 대해 알아보았다. 이번 글엔 bulk insert를 어떻게 서비스 내에 구현할지에 대해 고민한 과정을 기록하였다. 발단 bulk insert를 구현하는 방법을 고민해보니, 크게 2가지로 정리되었다. redis와 같은 in-memory db에 올려놨다가, 특정 시간마다 batch 작업으로 db에 bulk 로 insert log file로 object storage(s3) 또는 서버 내 저장해두었다가, 특정 시간마다 마지막 insert된 row 이후 부터 bulk insert 위의 2가지 방법에서 한가지를 선택하려고 고..
- Total
- Today
- Yesterday
- split_array
- 혼자 공부하는 컴퓨터구조 + 운영체제
- log
- log forwarder
- bigint to number
- reverse proxy cache
- 팝빌
- fluent-plugin-mysql
- libpaper-utils
- tojson
- log aggregator
- 대규모 시스템 설계 기초
- mms 연동
- default-libmysqlclient-dev
- fluent-plugin-s3
- nginx cache
- nginx api cache
- rewrite_tag_filter
- fluentd-plugin-split-array
- dockerfile
- popbill
- mms
- reverse proxy
- rewrite-tag-filter
- nestjs
- forwarder
- fluentd
- uuid 중복
- uuid v1
- 뉴스피드 시스템
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |