Spring Boot에서 PostgreSQL Master–Slave Replication 적용하기
Backend/Spring 🌱2025. 11. 27. 19:09Spring Boot에서 PostgreSQL Master–Slave Replication 적용하기

오늘은 Replication이 구성된 PostgreSQL 환경에서 Spring Boot가 Master(Write) 와 Slave(Read) 를 자동으로 구분해 사용하는 방법을 설명해볼게요. Spring Boot는 기본적으로 다중 데이터소스를 자동 구성하지 않으므로, Master/Slave 분리를 위해 다음 작업이 필요합니다.Master / Slave 각각 별도의 DataSource 정의트랜잭션의 readOnly 여부에 따른 DB 라우팅AbstractRoutingDataSource를 활용한 동적 선택LazyConnectionDataSourceProxy로 실제 커넥션 생성 시점에 데이터소스 결정이 과정을 완료하면 Spring Boot는 읽기 요청은 Slave, 쓰기 요청은 Master 로 자동 라우팅하여 안..

[요즘 개발자를 위한 시스템 설계 수업] 실무·면접을 모두 잡는 균형 잡힌 입문서
회고/나는 리뷰어다 📚2025. 11. 23. 11:38[요즘 개발자를 위한 시스템 설계 수업] 실무·면접을 모두 잡는 균형 잡힌 입문서

시스템 설계를 깊이 있게 공부해 보려는 개발자의 입장에서 이 책을 읽고 느낀 점을 정리해보았습니다!책이 어떻게 구성돼 있는지, 각 파트에서 어떤 실질적인 도움을 얻을 수 있는지, 실무나 면접에서 어떻게 써먹을 수 있는지를 중심으로 이야기해 볼게요.그리고 이 책이 어떤 분들에게 특히 잘 맞을지도 함께 소개하겠습니다. 책의 전체 구성: 넓게 보고, 깊게 파고드는 단계적 구조이 책은 총 세 부분으로 구성되어 있고, 흐름도 꽤 자연스럽게 이어집니다.1부 – 기본 개념과 분산 시스템 이론: 시스템 설계를 이해하기 위한 기초 프레임을 잡아줍니다.2부 – 핵심 구성 요소: DNS, 로드 밸런서, 데이터베이스, 캐싱, 메시지 큐처럼 시스템을 이루는 중요한 블록들을 설명합니다.3부 – 실전 서비스 설계 사례: 트위터·인..

[MySQL] 문자열 데이터를 저장하는 방법
Computer Science/Data 📊2025. 3. 24. 23:43[MySQL] 문자열 데이터를 저장하는 방법

개발을 하다 보면 가장 많이 다루게 되는 데이터는 역시 문자열 데이터입니다.백엔드 개발자로서 저는 평소 "문자열 데이터를 어떻게 하면 효율적으로 저장하고 불러올 수 있을까?"라는 고민을 가장 많이 하는 것 같습니다.특히 데이터 저장을 위해서는 반드시 테이블이 필요한데요. 문자열 데이터를 저장하기 위한 테이블을 설계하다 보면 자연스럽게 한 가지 고민에 부딪히게 됩니다.바로, 문자열 데이터를 저장할 때 어떤 컬럼 타입을 선택해야 할지에 대한 고민이죠. (CHAR와 VARCHAR, 과연 무엇을 선택해야 할까요?) CHAR VS VARCHAR CHAR 타입과 VARCHAR 타입은 모두 문자열을 저장하기 위해 고안된 컬럼 타입이에요.두 타입 모두 다양한 문자 인코딩 방식(ASCII, UTF-8 등)을 지원하며, ..

[부트캠프 QA편] 더 탄탄한 소프트웨어를 만들기 위한 테스트 방법
회고/나는 리뷰어다 📚2024. 7. 28. 22:59[부트캠프 QA편] 더 탄탄한 소프트웨어를 만들기 위한 테스트 방법

한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다 안녕하세요! 오늘은 이라는 책을 리뷰해보겠습니다! 이 책은 어떤 책인가요?' 이 책은 말그대로 QA 엔지니어가 만든 소프트웨어 테스트를 학습을 위한 책입니다. 이 책의 특징은 4주간의 커리큘럼 안에 QA 직무를 넘어 소프트웨어를 만들어가는 모든 조직원들이 알면 좋을 더 탄탄한 소프트웨어를 만드는 방법을 전수합니다. 소프트웨어 테스트란 무엇인가?저는 백엔드 개발자로서 만든 어플리케이션을 테스트 코드를 통해 테스트 함으로써 소프트웨어 테스트를 경험해보았는데요. 이 책은 그러한 코드레벨에서의 단위 테스트를 넘어 통합 테스트 / 기능 비기능 테스트 / 결함 및 리스크 관리 등기존의 시야에서 벗어나 더 넓은 의미에서의 테스트와 그를 통해 더욱 신뢰도 높..

코틀린과 JPA 같이 쓰지 말자
Language/Kotlin 🤖2024. 7. 25. 17:11코틀린과 JPA 같이 쓰지 말자

안녕하세요! 최근 지인들과 코틀린 스터디를 시작하게 되어서 코틀린에 대해서 학습을 해보고 있었습니다. 아직 깊이있게 이해했다라기 보다는 학습해나가는 중인데요. 자바에서 단점이라고 느꼈던 여러 문제들을 해결하기 위해 젯브레인사에서 얼마나 공들였는지 조금은 이해가 된달까요... 뭔가 Java + TS 느낌도 나구요.. ㅎㅎ 아무튼 코틀린의 매력에 빠져서 재미있게 시간을 보내고 있습니다. 스터디 과제가 자바와의 비교를 통해 코틀린에서 중요한 점을 정리해보는 것이여서 이를 정리할 겸 제가 느낀 코틀린의 첫인상과 자바와의 비교를 통한 가치를 글로써 남겨보고자 합니다. 코틀린에 대해 잘 모르는 자바 개발자가 쓴 글이니 지적은 언제나 환영입니다! 코틀린은 JPA랑 왜 같이 쓰면 안될까?기존에 자바 + 스프링 + JP..

AWS EC2 정복하기
DevOps/AWS 🛒2024. 6. 18. 19:50AWS EC2 정복하기

안녕하세요! 지난 번 글에서 IAM으로 계정을 관리해보았으니 이번에는 직접 인스턴스를 생성하고 공부해보도록 하겠습니다! AWS 예산 설정 하기실제로 AWS 서비스를 본격적으로 이용하기 전에 예기치 못한 과금이 발생하는 것을 막기 위해 예산을 설정하는 것이 좋습니다.계정명 클릭 후 결제 및 비용 관리 메뉴로 들어갑니다. (혹시 IAM 계정으로 결제 정보에 접근이 안되는 분은 루트 계정으로 들어간 후 해당화면에서 따로 권한을 주어야합니다!) 접속을 성공적으로 하게되면 이렇게 과금 정보를 볼 수 있습니다. 저같은 경우는 슬랙 봇 프로젝트 진행을 위해 프리티어 EC2 인스턴스를 사용중이어서 0$가 과금되는 모습을 볼 수 있습니다! 실제 서비스에서 이 메뉴를 통해 비용을 분석하고 예상할 수 있기 때문에 자주 사용..

image