분류 전체보기
[CassandraDB] 무중단 CassandraDB 클러스터 이전 방법 (멀티 데이터센터 구성)
회사에서 직접 운영하고 있는 Cassandra DB 클러스터 이관 등의 작업을 진행하였는데, 관련 방법들에 대해서 정리한 내용입니다.참고로, 팀 내에서 운영하고 있는 여러 플랫폼의 메인 저장소로 CassandraDB를 운영하고 있으며, CassandraDB의 경우 별도의 DBA가 없어 팀 내에서 직접 운영하고 있습니다.카산드라 클러스터 이관을 위해서 멀티 데이터센터를 구축해서 이전하는 방법으로 클러스터를 이전하였습니다.- 아래 예시들은 기존 데이터 센터를 dc1, 신규 데이터 센터를 dc2로 가정하고 작성되어 있는 점 참고 바랍니다.이관 전 사전 체크 사항Cassandra DB 설정 SnitchSimpleSnitch인 경우 단일 DataCenter를 위한 Snitch로, 멀티 데이터 센터 사용을 위해선 ..
가슴속 3천원 사이드 프로젝트 운영기
안녕하세요. 가슴속 3천원 백엔드 개발자 강승호입니다.가슴속 3천원은 본업과 별도로 개인 공부 목적으로 진행하고 있는 사이드 프로젝트입니다.가슴속 3천원 같은 초기/소규모 서비스를 지속적으로 운영하기 위해서 해온 것들을 공유하고, 초기부터 서비스를 운영하면서 발생했던 문제점들을 해결해 온 내용들을 몇가지 공유드려보고자 합니다. 1. 가슴속 3천원 소개가슴속 3천원은 주변의 붕어빵 등 길거리 음식/푸드트럭 파는 곳을 알려주는 서비스로, 겨울철만 되면, 생각나는 “붕어빵”을 파는 곳이 어딘지 알고 싶어서 만든 앱 서비스입니다.(앱 다운로드는 아래 링크에서 하실 수 있습니다~)AppStore (ios)PlayStore (android) 가슴속 3천원은 팀원 전체가 본업과 별도로 진행하는 사이드 프로젝트라 프로..
CassandraDB 버전 별 G1GC 기본 설정 정리
Cassandra 버전별 JDK 지원 범위 (JDK 8 ~ 17) Cassandra 3.1: JDK 8 Cassandra 4.0: JDK 8, 11 Cassandra 4.1: JDK 8, 11 Cassandra 5.0: JDK 11, 17 G1GC Settings 현황 Cassandra 3.1: CMS(default), G1GC Cassandra 4.0: CMS(default), G1GC Cassandra 4.1: CMS, G1GC (default) 제공되는 G1GC 설정 값들 강화되었음 Cassandra 5.0: G1GC (default) Cassandra G1GC 세팅값 정리 JDK 11 1. Cassandra 4.0 ### G1 Settings ## Use the Hotspot garbage-fir..
CassandraDB Snapshot
Cassandra SnasphotCassandra DB에서 기본 설정 상 truncate or Drop 전에 Snapshot을 만든다. (cassandra.yml의 auto_snapshot 설정으로 default: true이다) 그래서, Truncate 및 Drop을 했는데, 실제 디스크 사용량이 줄어들지 않아서, 해당 데이터를 디스크에서 완전히 삭제하려면, Snapshot도 제거해야 한다.cf) 위의 케이스 이외에도 설정에 따라서 compaction, increment_backup 등에 의해서도 snapshot이 생성될 수 있음. 스냅샷 제거 방법./nodetool clearsnapshot --all--all: 모든 키스페이스에 속한 모든 스냅샷 제거./nodetool clearsnapshot --al..
리액티브 시스템 & Reactive Streams 정리
reactive: 어떤 이벤트나 상황이 발생했을 때, 반응을 해서 그에 따라 적절하게 행동하는 것. 리액티브 선언문 방법 메시지 구동: 리액티브 시스템에서 주요 통신 수단으로 비동기 메시지 기반의 통신을 통해 구성 요소들의 느슨한 결합, 격리성, 위치 투명성을 보장. 형태: 탄력성 시스템의 작업량이 변화하더라도 일정한 응답을 유지하는 것. 시스템으로 유입되는 입력이 많든 적든 간에 시스템에서 요구하는 응답성을 일정하게 유지하는 것. 회복성 시스템에 장애가 발생하더라도 응답성을 유지하는 것 이러한 회복성을 확보하기 위해, 리액티브 시스템의 구성요소들은 비동기 메시지 기반 통신을 통해 느슨한 결합과 격리성을 보장. 값 응답성 비동기 메시지 기반 통신을 바탕으로 한 회복성과 탄력성을 확보함으로써 즉각적으로 응..