postgre jpa 세팅후 spring 프로젝트 실행 시 오류가 자꾸 발생했다. spring에서 오류 메시지를 제대로 표시해주지 않아 알아볼 수 없었다. netstat을 통해 알아본 postgre의 실행여부를 의심하며 디버깅을 진행했던점이 문제였다. 상식적으로 쉘
문제점 프로젝트 진행중, 다른 도메인과 릴레이션이 많은 order도메인의 브랜치 작업이 밀리고, develop에 새로 merge되는 pr이 많아지면서 내 order도메인의 브랜치 관리 문제가 발생했다. 이때 order도메인과 다른 도메인간의 릴레이션이 많으니, 다른사람들의 develop올라오는걸 지속적으로 pull받으면서 order도메인 구현이 완료되면 ...
다른팀의 RequestResolver 다른 팀 발표를 보다가 request resolver 기능을 이용해 페이지 사이즈 규칙을 프로젝트 전체에 자동적용해놓는 방법이 있단걸 알게되었다. 내 경우 PageSizeRule.validate, PageSizeRule.DEFAULTPAGESIZE등을 클래스로 정의해 나름 매직넘버를 줄이고 중복코드를 관리해놓은 편이었...
RestTemplate eureka feign msa spring cloud
클라이언트 사이드 로드 밸런싱 특징 구현 위치: 클라이언트에서 직접 로드 밸런싱 수행. 작동 방식: 클라이언트가 알고리즘을 사용해 서버를 선택 (예: 라운드 로빈, 랜덤). 기술 예시: Spring Cloud Load Balancer, Netflix Ribbon. 장
1. 레퍼런스 카운팅(Reference Counting) 원리: 객체가 참조될 때 참조 카운트를 증가시키고, 참조가 해제되면 카운트를 감소. 카운트가 0이 되면 메모리 해제. 장점: 참조 카운트만 보고 즉각적으로 객체의 생명 주기 관리 가능. 멀티스레드 환경에서는 특정 객체의 수명을 독립적으로 관리하기 쉬움. 단점: 순환 참조 문제: 서로 참조하는 객체가 ...
프로메테우스, 그라파나 - 간략히 정리https://chatgpt.com/c/67443a59-9100-8000-a628-9a0a5576f44egithub에서 resilience4j바로 디펜던시 거는이유https://chatgpt.com/c/67444d
Eureka와 Feign의 클라이언트와 서버 비교 Eureka Eureka 서버 서비스 레지스트리를 관리하며, 서비스 인스턴스의 등록과 검색을 담당. "서비스 디스커버리 서버" 역할. Eureka 클라이언트 Eureka 서버에 자신을 등록하거나, 다른 서비스의 정보를 조회하는 주체. 각각의 서비스 인스턴스를 의미. Feign Client Feign 서버...
Spring Cloud Gateway 로드밸런싱 클라이언트사이드 로드밸런싱(Client-Side Load Balancing): Gateway가 Spring Cloud LoadBalancer를 통해 서비스 디스커버리(Eureka 등)에서 가져온 인스턴스 목록으로 요청 분배. 기본 알고리즘은 라운드 로빈이며, 커스텀 설정 가능. 요청 URI 예: lb://...
OAuth 2.0, jwt, bearer, MAC
binarySearch
Spring Cloud Config
docker, bitnami
CI/CD
경로 정보 외부 API 활용 Google Maps Directions API, HERE Maps Routing API 등은 허브 간 경로 거리, 소요 시간, 실시간 도로 상태 정보를 제공. 실시간 교통량, 도로 폐쇄 정보 등을 반영해 경로를 동적으로 재계산 가능. 경로 정보 관리 전략 실시간 데이터 기반 경로 재계산 API에서 실시간 정보를 받아 도로 공...
msa, 공통응답
RequestContextHolder를 통한 요청 컨텍스트 접근 RequestContextHolder.getRequestAttributes()를 사용해 HTTP 요청 정보를 가져올 수 있다. RequestAttributes가 ServletRequestAttributes 인스턴스인 경우만 HTTP 요청을 다룰 수 있다. 요청 컨텍스트가 없는 경우 처리 비동...
DesignByContract, assert, assertJ
JPA
Serializable, serialVersionUID
수직 확장, 메모리 종류 커스텀
커스텀 캐시로 TTL 적용 ExpiringConcurrentMapCache 구현 CacheManager 설정
Spring AOP, CGLIB, JDK 프록시, AspectJ
Spring Actuator, Prometheus
Loki
NoSQL, 샤딩
shared secret
ELK, PLG, 모니터링
DDD
Netty, Spring Webflux, Jetty
Netty, Jetty, Undertow
DDD, 도메인 로직 분리