inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링 핵심 원리 - 고급편

예제 코드4 - 여러 어드바이저 함께 적용

실무에서 몇 개 정도의 어떤 어즈바이저를 적용해서 사용중인가요?

352

아리마

작성한 질문수 75

0

영한님, 안녕하세요.

DB접근기술 강의를 듣고나니, 스프링 핵심원리 강의들이 다시 떠올라서 핵심원리 복습을 하고 있습니다. 스프링 AOP 에서 여러 어드바이저를 적용해도 프록시는 하나만 생성되어 사용된다 라고 콕 찝어서 설명을 해주셨는데요. 혹시 소속되어 계신 배민이나 그 전에 경험하신 시스템에서 주로 몇 개 정도의 어드바이저를 적용했고, 대략 어떤 부가기능들이 적용되어 있었는지 알 수 있으면 좋겠습니다. (참고용으로요)

로강을 위해 데이터베이스에 정보를 기록하는 부가기능들도 본 적이 있는데, 이런 부가기능들이 모이면 시스템 성능에 영향을 줄 수 있을텐데요.  보통 성능에 문제가 생길까봐 AOP 등록을 해도 될 지 고민되는 경우가 많은데 이를 어떻게 판단할 수 있을까요? 너무 애매한 질문을 드린 건 아닌가 모르겠네요. 작은 도움될만한 정도라도 답변을 주시면 감사하겠습니다. 

spring 디자인-패턴

답변 1

2

김영한

안녕하세요. 아리마님

AOP 자체는 단순히 자바 코드에 메서드 호출이 발생하는 것이기 때문에 성능에 거의 영향을 주지 않습니다.

대신에 AOP 구현 자체에서 성능에 영향을 줄 수 있습니다. 예를 들어서 AOP를 구현할 때 너무 많은 로그를 남기면 성능에 영향을 주겠지요?

성능 부분은 별도로 성능 테스트를 해보셔야 합니다.

AOP로 사용되는 부가기능은 보통 트랜잭션, 로깅 등에 많이 사용하고, 부수적으로 1~2 개 정도 더 사용되는 편입니다. (꼭 필요한 곳에만 사용된다고 이해하시면 됩니다.)

감사합니다.

SpringBoot 4.0.6 버전에서 PackageLogTracePostProcessor exception

0

10

1

어드바이스 순서 디폴트 기준이 궁금합니다.

0

58

1

AspectV1 예제를 @Configuration 수동 등록으로도 가능한가요?

0

85

2

구체 클래스를 상속받아 확장한 형태도 클래스패턴/데코레이터 패턴이라고 칭하나요?

0

62

1

TraceTemplate 을 미리 빈으로 등록해서 사용할때 이렇게 설정하는게 맞는건가요?

0

56

1

Decorator 에서 추상메서드로 뺄때 질문 있습니다.

0

57

1

대상 클래스에 기본 생성자가 없을 때

0

79

1

스프링 부트 버전 4.0 aop 의존성 명칭 변경

1

386

2

final 키워드 사용 관련 질문

0

80

1

안녕하세요

0

69

1

ThradLocal 실무 사례

0

100

2

실무에서의 동시성 문제

0

67

1

로그 등 부가 기능에 대한 테스트코드

0

52

1

ProceedingJoinPoint와 MethodInvocation에 대하여

0

70

1

실무 멀티스레딩에 대한 궁금증

0

73

1

안녕하세요 질문있습니다

0

45

1

AspectV3 aop 실행 순서 문의 드립니다

0

40

1

MDC vs AOP 중에 고민중입니다.

0

77

1

순환참조

0

163

2

this를 단독으로 사용할때랑 파라미터 바인딩 할때 차이

0

80

1

빈 후처리에 등록 질문 있습니다.

0

82

1

AppConfig 설정하는 설명중에 이해가 안되는게 있습니다.

0

92

1

ThreadLocal을 지역변수로 선언하면 remove가 필요할까요?

0

118

2

@Aspect 어노테이션으로 생성된 Advisor의 Bean 저장 여부

0

71

1