
`TRIO` 팀 프로젝트에 참여하면서 실무에 가까운 설계 고민을 많이 하게 되었습니다. 그 중 가장 먼저 마주했던 주제는 **JPA에서 단방향과 양방향 연관관계 중 어떤 것을 선택할 것인가**였습니다. 초기에는 모든 Entity가 양방향으로 관계를 맺고 있었지만,

TRIO 프로젝트를 진행하며, 서비스에서 발생하는 **핵심 데이터(예약, 결제, 유저 정보 등)**와 그 외의 **비즈니스 로그(에러 로그, 요청 추적, 사용자 활동 등)**를 **다르게 다뤄야 한다는 필요성**을 느꼈습니다.

다양한 결제 수단을 단일 API로 처리할 수 있도록 도와주는 PortOne(구 IamPort)은 다양한 기업에서 사용되는 결제 연동 솔루션입니다.V2는 현재 기준으로 정상적으로 서비스 중인 버전으로 V1은 일부 보안 규격이 지원 종료되어, 현재 개발하는 솔루션에서는 V

결제 시스템을 개발하다 보면 ‘성공’만큼이나 중요한 것이 바로 ‘실패 처리’입니다.특히 결제 실패 시 예약 상태를 어떻게 처리할 것인지, 실패 데이터를 어떻게 보존할 것인지에 따라 사용자 경험과 데이터 무결성에 큰 영향을 줍니다.이번 글에서는 PortOne V2 결제

PortOne V2 기반 결제 시스템 설계 및 검증 로직 구현기의 개선기입니다.결제 시스템을 설계 구현하는 과정에서 다음 세 가지 문제를 명확하게 인식하게 되었습니다.1\. 결제와 같은 민감한 작업의 동시성 제어 (분산 락)2\. 로그 저장 등의 부가 작업은 비동기 처

1. 개요 결제 검증 API에 동시성 제어를 진행했습니다. 동시성 문제 해결 과정을 정리하려고 합니다. 테스트 툴로는 JMeter를 사용하였습니다. 테스트 환경 스레드 수 : 100 동일한 예약을 대상으로 동시 결제 검증 요청 2. 결제 검증 API 동시성 테스트

게스트하우스 예약 시스템을 개발하면서, 여기어때, 야놀자와 같은 서비스의 검색 기능을 참고해 사용자 친화적인 검색 기능을 구현하고자 했습니다.사용자가 검색어를 입력한 뒤 숙소를 탐색할 수 있도록 아래 요소를 기준으로 검색 기능을 기획했습니다.검색어 (ex: 공덕역, 서

게스트하우스 검색 시스템 설계 - Workaway게스트하우스 검색 시스템을 만들면서 "이렇게 짜는 게 맞는 구조인가?"와 같은 고민들이 깊어졌습니다.주로 QueryDSL을 사용해보며 책임 분리에 대한 내용이 주된 내용입니다.기존에는 위와 같은 방식으로 데이터를 DTO로

0️⃣ 개요 해당 글은 게스트하우스 검색 시스템 설계 - Workaway을 개선한 내용을 담고있습니다. 새로운 요구사항 반영 및 성능 최적화를 중심으로 진행한 작업들을 기록한 글입니다. 1️⃣ 새로운 요구사항 여러가지 레퍼런스를 참고하며 기획이 변경되었습니다. 이에

PortOne V2 기반 결제 시스템 설계 및 검증 로직 구현기 - Workaway사용자의 결제 경험에 더 높은 안정성을 제공하기 위해, 기존 방식에서 웹훅(Webhook) 기반 결제 검증 방식으로 전환하였습니다.PortOne - 웹훅 연동하기사용자가 결제 완료 후,

개요 이번 글에서는 실시간으로 변하는 데이터를 집계하여 보여줘야 할 때 발생하는 문제를 해결하는 저의 해결전략과 아키텍처를 소개하려고 합니다. 무엇이 문제였나? 사용자에게 실시간으로 데이터를 보여주기 위해서 가장 간단한 방법은 원본 테이블에서 직접 계산을 하는 방법이