본문 바로가기

Spring23

[Spring] MDC와 TraceId를 활용한 멀티스레드 환경에서의 로그 추적 MDC와 TraceId를 활용한 멀티스레드 환경에서의 로그 추적   스프링 애플리케이션에서 멀티스레드 환경을 다룰 때,로그 추적을 통해 각 요청을 정확하게 파악하는 게 중요하다.여러 요청이 동시에 처리되면 로그가 섞일 수 있는데,'MDC(Mapped Diagnostic Context)'와 TraceId를 활용하면 로그를 효율적으로 추적할 수 있다. 이번 글에서는 이전에 작성한 '싱글스레드와 멀티스레드' 관련글에 이어MDC를 사용해 TraceId를 관리하고, 멀티스레드 환경에서 요청을 어떻게 추적할 수 있는지 알아보겠다.    이전 작성글: 싱글스레드와 멀티스레드의 차이점 및 개념https://bbobsang.tistory.com/63 [JAVA] 싱글스레드(Single-Thread)와 멀티스레드(Mult.. 2024. 12. 29.
[Spring] Spring 인증 / 인가 심화 목차  1. JWT 인증2. 인터셉터 ( Interceptor )3.화이트 리스트 ( Whitelist )4. 핸들러 인터셉터 & 핸들러 ( Handler Interceptor & Handler )5. WebConfig, @Configuration6. Filter vs. Interceptor7. 필터 대신 인터셉터를 사용하는 이유   1. JWT 인증 JWT 인증은 클라이언트가 서버에 로그인하면 서버가 JWT를 발급하고, 이후 클라이언트가 요청을 보낼 때마다 그 토큰을 헤더에 담아서 보낸다. 서버는 토큰을 검증해서 유효한 경우에만 요청을 처리한다. 이 방식은 서버에 세션을 저장하지 않아서 Stateless 하게 동작한다. 2. 인터셉터(Interceptor) 인터셉터는 요청이 컨트롤러에 도달하기 전에 또.. 2024. 11. 11.
[Spring] Spring AOP, 로그기록 [ Spring AOP와 로그 기록 ] 목차Spring AOP (Aspect-Oriented Programming)    1-1 정의    1-2 역할 및 이점    1-3 주요 구성 요소    1-4 예시 코드로그 기록    2-1 정의    2-2 역할 및 이점    2-3 로그 기록 구현    2-4 예시 코드사용자 ID 가져오기    3-1 정의    3-2 역할 및 이점    3-3 구현 예시결론  1. Spring AOP (Aspect-Oriented Programming) 1-1. 정의AOP는 관점 지향 프로그래밍으로, 공통 기능을 모듈화하여 비즈니스 로직과 분리하는 프로그래밍 패러다임이다. 이를 통해 코드의 응집성을 높이고 유지보수성을 향상시킬 수 있다. 1-2. 역할 및 이점코드 중복 제.. 2024. 10. 31.
[Spring] 단위 테스트, JUnit, 테스트 코드 목차JUnit -1.1. JUnit 소개1.2. JUnit의 주요 기능1.3. JUnit 어노테이션1.4. JUnit을 사용한 테스트 실행1.5. JUnit의 장점단위 테스트 -2.1. 단위 테스트 정의2.2. 단위 테스트의 중요성2.3. 단위 테스트 작성 방법2.4. 단위 테스트의 예2.5. 단위 테스트 모범 사례테스트 코드 -3.1. 테스트 코드 정의3.2. 테스트 코드의 종류3.2.1. 단위 테스트3.2.2. 통합 테스트3.2.3. 기능 테스트3.2.4. 회귀 테스트3.3. 테스트 코드 작성 및 관리3.4. 테스트 코드의 중요성JUnit과 단위 테스트의 관계 -4.1. JUnit을 사용한 단위 테스트의 작성4.2. JUnit으로 단위 테스트를 관리하는 방법결론 -5.1. JUnit, 단위 테스트, .. 2024. 10. 29.
[Spring] RestTemplate [ RestTemplate ] RestTemplate은 스프링 프레임워크에서 RESTful 웹 서비스와 통신하기 위한 동기식 HTTP 클라이언트이다. REST API를 호출하고, JSON과 XML과 같은 다양한 형식의 데이터를 처리할 수 있도록 설계되었다.  1. 기본 개념  - REST : Representational State Transfer의 약자로, HTTP 프로토콜을 기반으로 하는 아키텍처 스타일.  RESTful 서비스는 자원(리소스)에 대한 CRUD(Create, Read, Update, Delete) 작업을 HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 수행한다.- RestTemplate: 스프링의 RestTemplate 클래스를 사용하여 RESTful 웹 서비스를.. 2024. 10. 14.
[Spring] AOP, 트랜잭션, @Transactional AOP (Aspect-Oriented Programming)  1. 개념 AOP는 공통 관심사(예: 로깅, 보안, 트랜잭션 관리 등)를 모듈화하여 코드의 중복을 줄이고, 코드의 가독성과 유지보수성을 향상시키는 프로그래밍 패러다임이다. 이를 통해 애플리케이션의 비즈니스 로직과 공통 관심사를 분리할 수 있다. 2. 주요 구성 요소 - Aspect : 공통 관심사를 정의하는 모듈. 예를 들어, 로깅 기능을 Aspect로 구현할 수 있다. -Join Point : AOP가 적용될 수 있는 지점. 일반적으로 메서드 호출이나 객체 생성 등이 해당된다. - Advice : Join Point에서 실행되는 코드. 다양한 종류가 있으며, 예를 들어, 메서드 호출 전후 또는 예외 발생 시 실행된다. - Before : J.. 2024. 10. 14.
728x90
반응형