개발/면접 (5) 썸네일형 리스트형 분산환경에서 트랜잭션 관리하는 방법 주로 아래 4개의 관리 방법을 사용함2PC는 성능 이슈로 다른 선택지를 사용하거나정말 강한 일관성이 필요한 것 아닌 경우에는 잘 안쓰는 듯?언제나 그렇듯이 정답은 없고 상황에 맞게 잘 사용하는 것이 중요한 것 같다 2PC, Saga, CDC, 그리고 트랜잭셔널 아웃박스- 강한 일관성이 중요하다면 2PC 또는 Transactional Outbox- 성능과 가용성을 우선시한다면 Saga Pattern 또는 CDC- 운영의 단순성을 중요시한다면 Transactional Outbox패턴일관성가용성실시간성운영 복잡성2PC강함낮음높음높음Saga약함높음중간중간CDC최종 일관성높음높음높음Transactional Outbox강함높음중간낮음 1. 2PC (2-Phase Commit Protocol)2PC는 트랜잭션.. 코딩테스트/기술블로그/메일링 모음 코딩 테스트Softeer - 현대자동차그룹 SW인재확보플랫폼Problems - LeetCode코딩테스트 연습 | 프로그래머스 스쿨 기술블로그기술 블로그 모음 - TechBlogPosts 메일링 - 출근길 꾸준한 학습 + 트렌드 읽기GeekNews Weekly - 일주일 동안의 뉴스를 이메일로 보내드립니다. - 매주 월요일요즘 사람들의 IT 매거진, 요즘IT - 매주 목요일매일메일 - 기술 면접 질문 구독 서비스 - 매일 디자인 패턴 아는척하기 (2) - 현대적인 디자인 패턴 디자인 패턴 아는척하기 (1) - 전통적인 디자인 패턴1편에 이어서..... 아래 6가지 개념 정리CQRSSAGAAPI GatewayBFFRate LimiterTransactional Outbox 1. CQRS 패턴 📌 특징: 명령(쓰기)과 조회(읽기) 책임 분리 ✅ 장점 - 읽기/쓰기 각각 최적화 가능 - 확장성 향상 - 성능과 확장성 개선 ❌ 단점 - 구현 복잡도 증가 - 데이터 일관성 관리 필요 - 인프라 비용 증가 💡 사용 시기 - 읽기/쓰기 비율 차이가 큰 경우 - 복잡한 도메인 로직이 있는 경우 - 높은 확장성이 필요한 경우 🔧 실무 사례 - 주문 관리 시스템 - 게시판/커뮤니티 서비스 - 실시간 분석 시스템 - 대시보드 서비스 // Command 모델@Datapublic class Cr.. 디자인 패턴 아는척하기 (1) - 전통적인 디자인 패턴 Design Patterns Series | Baeldung 크게 구분을 한다면 두갈래로 할수 있음- 전통적인 디자인 패턴 -> 생성, 구조, 행위- 현대적인(?) 디자인 패턴 위 baeldung에서도 전통적 디자인 패턴 3개 + Architectural Patterns으로 정리하고 있음 현실적으로 다 알고있기가 힘들지만 용어만이라도 알아두자중요하다고 생각하는 것만 작성함 1. 싱글톤 패턴 📌 특징: 클래스의 인스턴스가 하나만 생성되도록 보장 ✅ 장점 - 리소스 재사용 - 전역적 상태 관리 - 메모리 효율성 ❌ 단점 - 단위 테스트 어려움 - 전역 상태로 인한 버그 - Thread-safe 구현 필요 💡 사용 시기 - 공유 리소스 관리 - 설정 정보 관리 - DB 연결 풀 🔧 사용 사례- DB C.. 백엔드 개발 면접 질문 모음 커머스, 각종 테크 기업, 대기업 면접을 보면서 질문들 정리 해봄 프로젝트에 대한 질문은 모두 기본이며 꼬꼬무 질문들도 많아서 경력은 확실히 준비해두는게 좋음특정 기술을 쓰고 있다면 왜 쓰고 있는지를 아는지가 중요한거 같다 MSA 환경에서 데이터 일관성과 느슨한 결합을 위해 EDA를 사용하는데 카프카로 구현하고ddd의 도메인 이벤트는 eda와 또 자연스럽게 매핑이 됨그래서 msa, eda, kafka는 무엇보다 중요함 (+한다면 ddd와 hexagonal) 기본준비해온것 or 자기소개이직 사유 or 지원동기장단점 기술장애 발생시 트러블 슈팅 경험XX 프로젝트에서 했던 중요한 작업MSA를 쓰는 이유EDA를 쓰는 이유스프링 프레임워크의 전체적인 흐름빈 생명 주기cors리버스프록시트랜잭션분산락대기열 구현 아키.. 이전 1 다음