Write Concern과 Read Preference
MongoDB에서 Read Preference와 Write Concern은 데이터의 일관성, 가용성, 성능 간의 트레이드오프를 조절하는 핵심 설정이다. 특히 레플리카 셋 환경에서 이 설정들은 트랜잭션과 데이터 처리에 직접적인 영향을 미친다 Write Concern – 쓰기 확인 수준 Write Concern은 쓰기 작업이 얼마나 많은 노드에 반영되었는지…
MongoDB에서 Read Preference와 Write Concern은 데이터의 일관성, 가용성, 성능 간의 트레이드오프를 조절하는 핵심 설정이다. 특히 레플리카 셋 환경에서 이 설정들은 트랜잭션과 데이터 처리에 직접적인 영향을 미친다 Write Concern – 쓰기 확인 수준 Write Concern은 쓰기 작업이 얼마나 많은 노드에 반영되었는지…
MongoDB를 효과적으로 활용하기 위해서는 도메인별로 적절한 문서 구조를 설계하는 것이 중요하다. 실제 서비스 사례를 통해 문서 설계 전략을 살펴보자 컨텐츠 관리 시스템 (CMS) CMS는 MongoDB의 유연한 스키마를 활용하기에 적합한 대표적인 사례이다 초기 설계안 – 단일 문서 구조 이 구조의 장점…
MongoDB는 크로스 플랫폼 문서 지향(Document-Oriented) 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되며, JSON과 유사한 동적 스키마 문서를 사용하여 전통적인 테이블 기반 관계형 데이터베이스 구조와는 다른 접근 방식을 취한다 NoSQL의 등장 배경과 필요성 데이터 중심 시대의 도래 현대 사회는 데이터로 가득 차 있다.…
CI/CD 개념 이해 배포 작업의 분류 일회성 작업 (한 번만 설정) 반복적 작업 (코드 변경 시마다) 자동화가 필요한 이유 수동 배포의 문제점 실수 가능성이 높고 시간 소모적이다 자동화의 장점 GitHub Actions 핵심 개념 Workflow 파일 위치 중요: .github/workflows 경로는 Github와의…
암호화 기초 개념 단방향 암호화 단방향 암호화의 특징은 암호화만 가능하고 복호화는 불가능한 특징을 갖는다. 비밀번호 저장(SHA-256)이나 세션/토큰(해시 함수)을 만들 때 사용하며 한 번 암호화하면 원본으로 되돌리 수 없다 양방향 암호화 양방향 암호화의 특징은 암호화와 복호화 모두가 가능하다 특징 비대칭키 방식…
Kubernetes Secret 관리 Secret은 민감한 정보 (데이터베이스 암호, API 키 등)를 코드와 분리하여 Kubernetes 자원으로 안전하게 저장하는 메커니즘이다 저장 → 주입 흐름 Secret 생성 실제 예시 Secret 조회 출력 예시 참고: Secret의 데이터는 Base64로 인코딩 되어 있다(암호화가 아니다). Base64 디코더로…
Spring 프로파일 설정 이해 프로파일 구조 Spring 프로젝트에는 환경별로 다른 설정을 사용하기 위한 프로파일 시스템이 있다 프로파일 활성화 메커니즘 application.yml 이 설정을 prod로 변경하면 application-local.yml application-prod.yml 핵심: application.yml의 default 값과 각 프로파일 파일의 on-profile 값이 일치하면 해당 파일이 적용된다 Kubernetes…
배포 절차 개요 전체 배포 단계 사전 준비 상태 확인 다음 자원들이 이미 구성되어 있다고 가정한다 만약 클러스터가 완전히 새로운 상태라면, Route53 호스팅 영역 생성과 Ingress Controller 설치를 먼저 진행해야 한다 Amazon RDS 생성 및 설정 RDS 생성 AWS Console…
트리(Tree) 개념 트리는 비선형 자료구조로, 계층적 관계를 표현하는데 최적화된 구조이다. 마치 나무가 뿌리에서 시작해 가지를 뻗어나가는 모습과 유사하여 ‘트리’라는 이름이 붙었다. 실생활에서는 회사의 조직도, 운영체제의 파일 시스템 등에서 트리 구조를 쉽게 찾아볼 수 있다 트리의 기본 용어 트리의 레벨과 높이…
Spring 백엔드 서버 배포는 두 단계로 진행한다 MSA와 Kubernetes를 같이 사용하는 이유 MSA 아키텍처는 Kubernetes와 궁합이 매우 잘 맞는다 따라서 MSA 아키텍처를 사용하는 기업에서는 Kubernetes(특히 EKS)로 배포 환경을 구성하는 경우가 많다. MSA 서버 배포까지 경험해야 Kubernetes 배포를 제대로 이해했다고 할…