국내 IT 기업 기술 블로그 최신 글

NEW FEATURE

기술을 읽던 곳에서, 다음 기회를 만나세요.

채용 검색부터 관심사 기반 추천, 내 적합도까지.

새로운 기술 블로그가 추가되었어요

필터 1
InnoDB 행 잠금의 2원 2규칙
데보션
백엔드

InnoDB 행 잠금의 2원 2규칙

MySQL InnoDB의 넥스트 키 락을 2원 2규칙으로 정리해 동작 원리를 설명했습니다. 동등 조건, 범위 조건, LIMIT, DESC 정렬에서의 잠금 차이도 예제로 살펴보았습니다.

#MySQL#InnoDB
11100
MySQL InnoDB Log에 대한 이해 - (1)
카카오
백엔드

MySQL InnoDB Log에 대한 이해 - (1)

MySQL InnoDB의 Redo Log와 WAL 개념을 개요 수준에서 설명한 글입니다. 트랜잭션 무결성과 영속성 관점의 로그 관리 흐름을 정리했습니다.

#MySQL#InnoDB
15300
매달 수 백만 건의 여행을 책임지는 NOL 주문 이야기
NOL
아키텍처

매달 수 백만 건의 여행을 책임지는 NOL 주문 이야기

NOL 주문 시스템의 통합 주문 구조와 3단계 처리 흐름을 소개했습니다. 분산 트랜잭션, 이벤트 전파, 보상 처리로 대량 주문의 안정성과 확장성을 확보했습니다.

#MSA#Redis
4900
이벤트 드리븐 아키텍처 도입기
채널톡
아키텍처

이벤트 드리븐 아키텍처 도입기

앱스토어의 동기 호출 중심 구조를 인메모리 이벤트 버스로 분리해 결합도를 낮췄습니다. 트랜잭션 훅과 비동기 핸들러를 지원해 확장성과 유연성을 높였습니다.

#이벤트 드리븐 아키텍처#event
2200
7ms로 끝내는 인가 체크, flex는 아키텍처부터 다르게 설계합니다
flex
아키텍처

7ms로 끝내는 인가 체크, flex는 아키텍처부터 다르게 설계합니다

분산환경의 메시지 신뢰성과 인가 성능을 동시에 해결하기 위해 구조를 분리한 사례를 소개했습니다. 모든 요청의 권한 체크를 평균 7ms 이내로 처리하도록 설계했습니다.

#Kafka#transaction
2100
실무에서 만나는 DB isolation level
네이버 페이
백엔드

실무에서 만나는 DB isolation level

MySQL 기본 격리 수준인 REPEATABLE READ 때문에 결제 트랜잭션에서 오래된 잔액이 유지되는 문제를 겪었습니다. 락 위치와 격리 수준을 조정해 동시성 이슈를 해결하는 과정을 정리했습니다.

#DB#transaction
24800
R.I.P. 내가 만든 시스템이 무지개 다리를 건넌 이야기
카카오뱅크
아키텍처

R.I.P. 내가 만든 시스템이 무지개 다리를 건넌 이야기

카카오뱅크 Oslo 시스템의 도입, 운영, 종료 과정을 통해 기술적 선택의 유한성과 가역성을 돌아보았습니다. 장애 격리에는 성공했지만 장기 운영 비용과 Bus Factor 문제로 EOS를 결정했습니다.

#MSA#모니터링
3500
캐시를 적용하기 까지의 험난한 길 (TPS 1만 안정적으로 서비스하기)
토스
백엔드

캐시를 적용하기 까지의 험난한 길 (TPS 1만 안정적으로 서비스하기)

약관 서버의 DB 부하를 줄이기 위해 Redis 캐시와 강한 일관성 전략을 적용했습니다. 캐시 무효화 실패와 이벤트 순서 문제는 트랜잭션 동기화와 정책으로 해결했습니다.

#cache#Redis
49600
쿠팡 파트너스

광고

개발자를 위한 서적을 확인해 보세요

이 게시물은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

#개발서적#프로그래밍
SSG 자동화센터 운영시스템에서 분산 락을 사용하는 방법
SSG.COM
백엔드

SSG 자동화센터 운영시스템에서 분산 락을 사용하는 방법

Redis 분산 락과 스프링 AOP로 입하 확정 처리 API의 동시성 이슈를 해결했습니다. 또한 @Transactional과의 실행 순서 문제와 커넥션 사용 이슈를 @Order로 정리했습니다.

#Spring Boot#Redis
13600
JPA Transactional 잘 알고 쓰고 계신가요?
카카오페이
백엔드

JPA Transactional 잘 알고 쓰고 계신가요?

JPA `Transactional`과 DB 쿼리 성능의 관계를 설명하는 글입니다. 트랜잭션 적용 방식에 따라 쿼리 특성과 성능 영향이 달라질 수 있음을 다룹니다.

#JPA#transaction
11000
MySqlPagingQueryProvider 살펴보기
마켓컬리
백엔드

MySqlPagingQueryProvider 살펴보기

JdbcPagingItemReader와 MySqlPagingQueryProvider의 페이지네이션 동작과 주의사항을 정리했습니다.\nsort key와 group clause 설정에 따라 데이터 누락과 SQL 오류가 발생할 수 있어 조심해야 했습니다.

#Spring Batch#Spring Boot
3400
똑닥 멤버십과 MongoDB 트랜잭션 충돌 방지 방법
비브로스
백엔드

똑닥 멤버십과 MongoDB 트랜잭션 충돌 방지 방법

똑닥의 유료 멤버십 전환 과정에서 MongoDB 트랜잭션과 Write Conflict 대응 사례를 정리했습니다. 공통 키 기반 Lock과 모니터링으로 이중 결제를 방지한 방법을 소개했습니다.

#MongoDB#transaction
200
똑닥 멤버십과 MongoDB 트랜잭션 충돌 방지 방법
비브로스
백엔드

똑닥 멤버십과 MongoDB 트랜잭션 충돌 방지 방법

MongoDB 트랜잭션 도입 과정에서 멤버십 결제와 해지 로직이 충돌하며 이중 결제가 발생했습니다. 공통 키 기반 Lock과 모니터링으로 동시 접근을 제어해 문제를 줄였습니다.

#MongoDB#transaction
5000
ArchUnit으로 아키텍처 원칙을 코드로 지키는 방법
펫프렌즈
아키텍처

ArchUnit으로 아키텍처 원칙을 코드로 지키는 방법

ArchUnit으로 Java 아키텍처 원칙을 테스트 코드로 검증하는 방법을 소개했습니다. 패키지 의존성, 순환 의존성, 어노테이션 규칙을 자동으로 강제하는 예시를 담았습니다.

#ArchUnit#Java
6300