본문 바로가기

분류 전체보기134

Slash2023 - 토스ㅣSLASH 23 - Kafka 이중화로 다양한 장애 상황 완벽 대처하기 TL;DR 카프카는 토스에서 핵심 기술로 사용되고 있음(금융 관련 정보 제공, 모든 로그 수집, CDC) 쿼리만으로 실시간 프로세싱이 가능한 ksqlDB 사용 중 Active-Active 로 IDC 이중화하여 DR 시스템 구축 Kafka Connect + Offset Sync로 Kafka 이중화 구성 많은 부분을 자동화해서 사용 중이다 (이중화 토픽들 자동 생성) 카프카로 입수하는 정보 서비스 간 비동기 통신 클라이언트, 서버 네트워크 보안 장비 시스템 로그 서비스 데이터로그 CDC 안정적인 카프카 운영 방법 1. 장애 발생 징후 미리 감지 2.장애 발생 시 대응 시나리오 잘 갖추기 장애 종류 1. 카프카 클러스터 내 일부 노드 장애 -> 카프카는 분산 시스템이라 가용성 해치지 않고 서비스 유지됨, 극복.. 2023. 10. 10.
[if(kakao)2022] 카프카, 대규모 클러스터 운영 후기 정리 TL;DR - 카카오 카프카 클러스터는 초당 1,800만 건 메시지를 처리한다. - 주키퍼는 홀수 구성하는 게 좋고 5대 구성하는 것이 좋다. - Non-Raid 를 사용해 디스크 독립 구성을 한다. - 기본적으로 토픽 리텐션은 3일(주말 대비), 토픽 별로 따로 관리하는 경우도 있다. - 소량의 메시지 소실을 감안하고 빠른 장애 복구를 최우선으로 클러스터를 구성한다. - 메트릭 정보는 프로메테우스에 저장해 그라파나로 시각화한다. - 로그는 파일피트로 수집 후 나이파이로 재처리 후 엘라스틱서치로 저장 후 키바나로 시각화한다. - Kraft Mode 도입을 아직, 4.x부터 도입 예정. - 2018년 처음 클러스터 소개 - 데이터 흐름을 모아주는 실시간 분산 스트리밍 플랫폼 - 전체 1.5조 메시지 - 초.. 2023. 9. 29.
[카프카] Rebalancing Rebalancing? 컨슈머 그룹에 속한 컨슈머들은 특정 파티션에 대한 소유권을 갖고 있음. (중복 소유x) 따라서 컨슈머에 변동이 있거나, 파티션에 변동이 있으면 이 소유권을 재조정하는데 이 과정이 Rebalancing. 과정 2023. 9. 6.
JUMPIT TO BACK - END Session1 - 중요한 건 인터페이스야 https://www.youtube.com/watch?v=qI4zF0GfEW0 정리 문제 1: FE ↔︎BE 현상 API는 많은 과정을 거쳐 완성됨. 문제는 완성 후 수정되는 경우가 적지 않게 발생함. 원인 해결 - FE, BE 개발자가 설계를 같이한다. 문제 2: 개발자 ↔︎ 디자이너 현상 디자이너의 의도와 다르게 산출물이 개발되는 경우가 있음. 원인 개발자들도 참여해야한다. 해결 빠르게 와이어프레임 만들어서 공유하고 피드백을 주고 받음 문서에 빠진 맥락을 서로 공유할 수 있게됨 문제 3: 서비스 제공자 ↔︎ 고객 현상 원인 해결 나와 고객은 다르다는 걸 인정하라 제품을 만들지 않고 고객의 반응을 확인해보는 것 나무 모형을 꾸며 실제 흉내 내보는 것 사전 신청 이미 존재하는 도구를 이용해서 시도 설문 .. 2023. 9. 2.
[Web] Search Engine Optimization 검색 등록 네이버 웹마스터: https://searchadvisor.naver.com 구글 검색: https://search.google.com/search-console 헤더에 메타 정보 설정 Ben의 블로그 로봇 설정 robots.txt 작성 후 root에 호스팅 공개 사이트면 모두 허용 User-agent: * Allow:/ Sitemap sitemap.xml 작성 후 root에 호스팅 사이트 내 페이지를 나열 https://ben.com/ 2023-07-28T18:15:38+00:00 1.00 https://ben.com/about 2023-07-28T18:15:38+00:00 0.80 2023. 7. 30.
[Kubernetes] Health Check Probe 방식 Command probe 쉘 명령 수행 그 결과를 가지고 컨테이너의 정상여부를 체크하는 방법 결과값 0: 성공 !0: 실패 HTTP probe HTTP GET을 이용해 컨테이너의 상태 가장 많이 사용하는 방식 TCP probe TCP 연결 시도하여 성공하면 컨테이너가 정상인것으로 판단 Liveness Probe vs Readness probe Liveness Probe 컨테이너의 상태를 주기적으로 체크해서 응답이 없으면 컨테이너를 자동으로 재시작하는 방식 Pod의 상태가 비정상인 경우 kubelet 통해서 재시작한다. Readiness probe 응답이 없으면 해당 Pod을 사용 불가능한 상태로 체크하고 서비스 목록에서 제외하는 방식 더 찾아볼 것 모든 팟이 서비스 목록에서 제거된다면? 2023. 7. 29.
[Docker] 바인드 마운트 vs 볼륨 컨테이너 내부 파일을 변경하는 방법은 아래 4가지가 있다. 그 중 마운트와 볼륨의 차이를 알아보자 - docker cp - Dockerfile ADD - 바인드 마운트 - 볼륨 챗 GPT 답변 Docker는 컨테이너와 호스트 시스템 간의 영구 데이터를 관리하는 두 가지 방법인 볼륨 및 바인드 마운트를 제공합니다. 둘 다 비슷한 용도로 사용되지만 작동 방식과 사용 사례에는 약간의 차이가 있습니다. 도커 볼륨: Docker 볼륨은 Docker 자체에서 관리하며 호스트 시스템의 파일 시스템(기본적으로 /var/lib/docker/volumes)의 특정 디렉토리에 저장됩니다. Docker 명령(docker volume create, docker volume ls 등) 또는 Docker API를 통해 볼륨을 생성.. 2023. 6. 27.
[AWS] RDS 모니터링 (Performance Insight) Performance insight? 운영 중인 RDS를 여러 가지 지표를 가지고 모니터링할 수 있는 AWS 서비스 - 7일 조회까지 무료 - 1개월부터 24개월까지 늘릴 수 있음 (가격 참고 https://aws.amazon.com/rds/performance-insights/pricing/) - 특정 매트릭과 연계해 알람 받을 수 있음 (https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/monitoring-cloudwatch.html) Metrics https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights_Counters.html https://dev.mysql.com/.. 2023. 6. 20.
Mysql vs MariaDB vs PostgreSQL 비교 항목 Oracle Mysql MariaDB PostgreSQL 가격 유료(비쌈) 무료 (상업용 버전 존재) 무료 무료 업데이트 성능 조회 성능 분산 처리 병렬 처리 점유율 비고 구글, 링크드인, 아마존, 넷플릭스, 트위터 등에서 사용 Mysql 개발자가 만듦 DB 보안을 위해 데이터 암호화, 접근 제어, 접근 감시 3가지로 구성됨 인스타그램, CISCO, 스카이프, 트립어드바이저, 이케아 등에서 사용 장점 업데이트 성능 뛰어남 ? 신뢰성과 안정성이 매우 높음 대용량 데이터 처리를 위한 기능 구현 단점 복잡한 쿼리 성능 저하 ? 메모리 데이터 저장 못해 업데이트 위주의 대규모 서비스에서는 성능이 불안정 할 수 있다. (이유 지금 모름) 평가 좋은 것 같은데? 못써~ 업데이트보다 조회가 더 많은 경우 사용하.. 2023. 6. 17.
[Prometheus] Metric Metric? 수집하는 시계열 데이터를 일컫는 말 Prometheus 는 근본적으로 모든 데이터를 시계열로 저장하며, 모든 데이터는 고유한 메트릭명과 key-value 쌍의 라벨로 구분됨 (메트릭명{라벨명=값, 라벨명=값} 샘플링 데이터) 타입 4가지 타입으로 메트릭을 정의하여 저장한다. 1. Counter 값 증가, 리셋만 가능한 누적 메트릭 (감소할 수 있는 값은 gauge 를 사용해야함.) 용도 카운터에 누적된 값으로 구간별로 변화율을 파악해 해당 값이 어느 정도 추세로 증가하는지 알 수 있음 이벤트나 오류 등이 급증하는 구간을 파악하는 데 적합 예시 요청 수 # TYPE go_gc_heap_allocs_objects_total counter go_gc_heap_allocs_objects_total.. 2023. 5. 4.