오늘 MAS(Microservices Architecture) 강의에서는 분산 시스템에서의 설정 관리와 분산 추적을 중심으로 여러 기술들을 학습했습니다.
Spring Cloud Config
Spring Cloud Bus

Spring Boot DevTools
분산 추적 (Distributed Tracing) 및 Zipkin
서비스 호출 흐름 추적:
서비스 간 호출 시 생성되는 트레이스와 스팬 정보를 Zipkin 서버에 전송하여, Zipkin 대시보드에서 시각화합니다.

성능 병목 진단:
각 스팬의 소요 시간과 호출 관계를 분석해 병목 구간을 파악할 수 있습니다.
....좋은데?.....모놀리식에도 적용해봐야지
ㄴ간단한 기능에도 성능이 저하되는 것이 (속도가 느려지는 것이) 마음에 안 들었는데, 한번 추적해서 최적화를 해봐야겠다.
이벤트 드리븐 아키텍처
쿠버네티스와 Docker
Querydsl
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Member> query = cb.createQuery(Member.class);
Root<Member> member = query.from(Member.class);
Predicate predicate = cb.equal(member.get("username"), "john");
query.where(predicate);
List<Member> result = em.createQuery(query).getResultList();QMember member = QMember.member;
List<Member> result = queryFactory
.selectFrom(member)
.where(member.username.eq("john"))
.fetch();오늘 강의에서 얻은 Tip
강의 도중 Gradle 빌드 파일에서 다음과 같은 에러를 확인했습니다.
Build file '.../build.gradle' line: 41
A problem occurred evaluating root project 'product'.
> Could not find method providedRuntime() for arguments [org.springframework.boot:spring-boot-starter-tomcat] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
문제 원인:
해결 방법: