모든 태그
태그

동시성 기술 블로그 글

동시성 태그가 달린 국내 IT 기업 기술 블로그 글을 최신순으로 모았습니다.

전체 111개최신 20개 표시
홈에서 필터

최신 게시글

20개 표시

백엔드

고객의 취소할 권리를 보장하다

배송준비중 단계에서 막히던 주문 취소를 앱에서 직접 가능하게 바꾼 사례입니다. 배송유형별 마감 시점을 재정의하고 Kafka, Redis 락, SQS로 동시성과 장애를 처리했습니다.

#Kafka#Redis#동시성
7000

백엔드

사장님 입점신청 자동승인 주기를 10분에서 10초로

자동승인 대기 지연을 줄이기 위해 아웃박스 큐를 걷어내고 단일 폴링 구조로 바꿨습니다. 후보 조회와 재시도를 분리해 외부 부하는 유지한 채 처리 시작 시간을 10초 이내로 개선했습니다.

#MySQL#동시성#폴링
2800

백엔드

"다 됐습니다" 알림, 대체 언제 보내야 맞나

배치 완료 알림이 너무 일찍 나가는 문제를 해결한 사례를 다루셨습니다. 처리 순간의 사실을 기록하고 실제 조회 가능 시점을 기준으로 완료를 판정하셨습니다.

#batch#비동기#cache
3100

아키텍처

Spring Cloud Gateway 기반의 통합 인증

Spring Cloud Gateway에서 통합 인증과 인가를 중앙화하고, 동적 토큰 스왑과 비동기 로그 처리로 보안을 정리했습니다. 또한 대기열 기반 트래픽 제어로 MSA 환경의 과부하와 자원 누수를 방지하는 구조를 구현했습니다.

#Spring Cloud Gateway#MSA#WebFlux
2400

아키텍처

하루 N억 건의 알림 시스템 구축기 (1): 카카오뱅크는 어떻게 발송 플랫폼의 새로운 뼈대를 세웠나

카카오뱅크가 대규모 알림 발송기의 성능 병목과 복잡한 구조를 해결하기 위해 Service/Core Layer 분리 아키텍처를 도입했습니다. 개발자는 단순한 인터페이스만 구현하고, Lock-Free와 Work-Stealing 같은 최적화는 Core Layer에 숨겼습니다.

#Kotlin#Spring Framework#동시성
3200

백엔드

Swift 6 어때요? (1): 스레드, 블록, 태스크

Swift의 비동기 모델이 스레드에서 블록, 태스크로 어떻게 진화했는지 설명했습니다. `await`가 함수 분할과 실행 컨텍스트 전환을 만드는 과정을 바이너리 수준에서 다뤘습니다.

#Swift#iOS#RxSwift
2300

백엔드

데드락을 해결하려다, 락을 줄이게 된 이야기

동시성 문제를 다루며 락과 데드락을 고민한 사례를 다뤘습니다. 데드락을 해결하려다 오히려 락을 줄이는 방향으로 접근을 바꿨습니다.

#동시성#transaction
21120

백엔드

선착순 수강 신청 동시성 이슈

선착순 수강 신청의 정원 초과를 막기 위해 동시성 제어 방식을 비교했습니다. 조건부 원자적 UPDATE와 유니크 제약, 트랜잭션으로 정합성을 보장했습니다.

#동시성#JPA#transaction
7100

백엔드

모던 백엔드 - 범위값(2)

Java 25의 Scoped Value 설계 원칙과 API 사용 패턴을 정리했습니다. 실무 적용 한계와 전환 판단 기준까지 함께 다뤘습니다.

#Java#동시성#cache
3000

백엔드

모던 백엔드 - 범위값(1)

Java 25의 Scoped Value 등장 배경과 ThreadLocal의 구조적 한계를 설명했습니다. 가상 스레드 시대에 안전한 컨텍스트 공유 방식으로의 전환 필요성을 다뤘습니다.

#Java#동시성#ThreadLocal
5300

백엔드

모던 백엔드 - 병렬처리 리팩토링(2)

구조화된 동시성을 활용해 병렬 API 호출 코드를 리팩토링하는 과정을 다뤘습니다.\n기존 스레드 풀과 CompletableFuture를 정리하고 예외 처리와 테스트까지 확인했습니다.

#Java#동시성#test
4200

백엔드

모던 백엔드 - 병렬처리 리팩토링(1)

게시판 프로젝트의 병렬 API 호출을 CompletableFuture에서 Java 25 구조화된 동시성으로 바꾸는 설계 과정을 다뤘습니다. 취소 전파 문제와 스레드 관리 한계를 테스트로 확인하고 개선 방향을 정리했습니다.

#Java#동시성#비동기
5800

백엔드

모던 백엔드 - 구조화된 동시성

Java 25 프리뷰의 구조화된 동시성을 소개했습니다. 기존 비동기 처리의 한계를 StructuredTaskScope로 어떻게 보완하는지 살펴봤습니다.

#Java#동시성#비동기
5000

백엔드

모던 백엔드-Java 25 개관

Java 25의 핵심 변화와 주요 JEP 기능을 소개했습니다. Spring Boot 4와 Spring AI 2.0 환경에서 전환 필요성도 함께 살펴봤습니다.

#Java#동시성#module
11100

백엔드

DB 트랜잭션 중심 대량요청 처리 최적화

대량 요청 환경의 병목을 DB 트랜잭션 관점에서 분석하고 개선한 사례입니다. 비관적 락을 낙관적 락과 재시도로 전환해 커넥션 효율과 안정성을 높였습니다.

#DB#transaction#동시성
64800

프론트엔드

React 환경에서 중복 API 요청 개선

React에서 전역 Context와 비동기 흐름이 얽히며 중복 API 요청과 레이스 컨디션이 발생했습니다. AbortController, runId, Promise.all로 요청 취소와 최신 응답 보장을 개선했습니다.

#React#비동기#AbortController
8400

백엔드

순서대로, 한 번만, 빠르게

Airbridge는 Kafka 이벤트 처리에서 마이크로 배치 병목을 줄이기 위해 Differential 구조를 도입했습니다. 순서 보장과 중복 방지를 유지하면서 처리 속도를 10배 이상 높였습니다.

#Kafka#gRPC#event
5400

프론트엔드

선언적 폼 바인딩

다이얼로그 수정 폼에서 useEffect 기반 수동 바인딩으로 발생한 상태 꼬임 문제를 정리했습니다. React Hook Form의 values로 선언적 동기화를 적용해 잔상과 레이스 컨디션을 줄였습니다.

#React#React Hook Form#동시성
1700

백엔드

싱글톤 패턴을 이용한 캐시 관리

메뉴 권한처럼 변경은 적고 조회는 많은 데이터를 싱글톤 인메모리 캐시로 관리하는 방법을 소개했습니다. 이를 통해 로그인 시 DB 부하를 줄이고 응답 속도와 유지보수성을 개선했습니다.

#싱글톤#cache#Spring Boot
2000

백엔드

putlfAbsent()의 한계와 변경감지 개선

실시간 모니터링에서 계산식 메타데이터 동기화 문제를 다뤘습니다. `putIfAbsent()` 한계를 보완하기 위해 `replace()`로 변경 감지와 이벤트 발행을 개선했습니다.

#Java#동시성#cache
1200