Skip links

  • Skip to primary navigation
  • Skip to content
  • Skip to footer
YJ Kim Devlog
  • Posts
Toggle search
    Visitors
    AI ARCHITECTURE Algorithm CACHING CICD CLOUD DB DesignPattern EFFECTIVE_JAVA FRONTEND Http JAVA JPA KAFKA LOCAL_CACHE MONITORING NETWORK REDIS SECURITY SERVER SPRING SYSTEM_DESIGN
    SYSTEM_DESIGN

    시스템 디자인

    비유로 시작하기

    2026-05-01 5 분 소요
    SPRING

    Spring WebFlux — 리액티브 프로그래밍

    Tomcat 스레드 200개가 모두 외부 API 응답을 기다리며 블로킹되어 있다. 새 요청은 큐에서 대기하다 타임아웃이 난다. 이 상황에서 서버를 늘리는 것보다 더 근본적인 해법이 WebFlux다.

    2026-05-01 24 분 소요
    SPRING

    Spring 트랜잭션

    1. 선언적 트랜잭션 (@Transactional)

    2026-05-01 10 분 소요
    SPRING

    분산 추적 (Sleuth + Zipkin)

    마이크로서비스 환경에서 주문 하나가 실패했다. Order Service → Payment Service → Inventory Service → Notification Service를 거치는데, 어디서 얼마나 걸...

    2026-05-01 5 분 소요
    SPRING

    Spring Security 아키텍처

    JWT 토큰이 없는 요청이 /api/admin에 들어왔는데 그냥 통과됐다. 필터 순서가 잘못됐거나 필터 자체가 누락된 것이다. Spring Security 아키텍처를 모르면 어디서 막혀야 하는지조차 알 수 없다.

    2026-05-01 7 분 소요
    SPRING

    Spring Resilience4j

    마이크로서비스 환경에서 외부 서비스 호출은 실패할 수 있다. 한 서비스의 장애가 연쇄적으로 전파돼 전체 시스템이 다운되는 “연쇄 장애(Cascading Failure)”가 가장 위험하다. Resilience4j...

    2026-05-01 7 분 소요
    SPRING

    Spring MVC 동작 원리

    비유로 먼저 이해하기: MVC는 레스토랑과 같다. 손님 요청을 웨이터(Controller)가 받아 주방(Service)에 전달하고, 셰프가 요리(비즈니스 로직)를 완성하면 접시(View)에 담아 손님에게 ...

    2026-05-01 6 분 소요
    SPRING

    MDC(Mapped Diagnostic Context) — 분산 환경 로그 추적

    새벽 2시에 운영 장애가 났다. 로그를 보니 에러와 정상 로그가 뒤섞여 어느 요청에서 터진 건지 찾을 수가 없다. MDC를 몰랐다면 이 상황에서 로그 전체를 시간순으로 읽어내려가야 한다.

    2026-05-01 11 분 소요
    SPRING

    Spring IoC와 DI

    신입 때 이런 경험이 있을 것이다. 서비스 클래스 안에서 new RateDiscountPolicy()를 직접 써뒀는데, 기획이 바뀌어서 FixDiscountPolicy로 교체해야 하는 순간. 수십 개 파일을 열...

    2026-05-01 7 분 소요
    SPRING

    Spring Cloud Eureka

    마이크로서비스 환경에서 서비스들은 동적으로 생성·삭제·이동된다. IP와 포트를 하드코딩하면 배포할 때마다 설정을 바꿔야 한다. Spring Cloud Eureka는 이 문제를 해결하는 Service Discov...

    2026-05-01 6 분 소요
    • 이전
    • 1
    • 2
    • 3
    • …
    • 29
    • 다음
    • 팔로우:
    • GitHub
    • 피드
    © 2026 YJ Kim. Powered by Jekyll & Minimal Mistakes.