본문 바로가기

전체 글61

MyBatis FETCH SIZE에 대해 올해 DBMS를 ORACLE로 변경하면서 있었던 생소한 상황이 기억나 정리를 해보려고 합니다. 전환 후 모니터링을 하고 있던 상황이었고, 다행히 무사히 전환을 완료하나 했습니다. 하지만 그럴리가 없지... 특정 페이지의 로딩 속도가 너무 느리다는 제보를 받았고, 확인을 해보니 확실히 해당 페이지를 로딩하는 부분이 너무 느리다는 것을 알 수 있었습니다. 모니터링 툴을 통해 특정 쿼리 실행 응답이 너무 느린 증상이 있다는 것을 알게 되었는데, 그 부분에서만 10초가 넘는 시간이 걸리고 있었습니다. 문제는 툴에서 해당 쿼리를 조회해 보면 1초 이내로 조회가 가능 했었죠. 결과적으로 아래와 같이 Mybatis 해당 쿼리에 fetchSize를 높임으로서 해결했습니다. select * from Blog where .. 2022. 8. 17.
Spring Cloud Config Spring Cloud Config Server란? 분산 시스템에서 서버, 클라이언트 구성에 필요한 설정 정보를 외부 시스템에서 관리하기 위한 방법 하나의 중앙화 된 저장소에서 구성요소 관리 가능 각 서비스를 다시 빌드하지 않고, 바로 적용 가능 애플리케이션 배포 파이프라인을 통해 환경에 맞는 구성정보 사용하도록 할 수 있음. 사용하기 1.Config Server config-server dependency 추가 @EnableConfigServer 추가 관리 방법 Private Git Repository server: port: 8888 spring: application: name: config-server cloud: config: server: git: uri: https://github.com/a.. 2022. 8. 7.
API gateway API Gateway 란? 클라이언트와 백엔드 서비스 컬렌션 사이에 위치하는 API 관리툴 입니다. 실제 백엔드 서비스 또는 데이터와 접속하고 API 호출에 대한 정책, 인증 및 일반 엑세스 제어를 적용하여 중요한 데이터를 보호하는 트랙픽 관리자 API Gateway 기능 1. 인증 및 권한 부여 2. 서비스 검색 통합 3. 응답 캐싱 4. 정책, 회로 차단기 및 QoS 다시 시도 5. 속도 제한 6. 부하 분산 7. 로깅, 추적, 상관 관계 8. 헤더, 쿼리 문자열 및 청구 변환 9. IP 허용 목록에 추가 Spring-cloud-gateway RouteLocator Bean 생성으로 각 path에 대해 라우팅 할 수 있음 public RouteLocator gatewayRoutes(RouteLocat.. 2022. 8. 7.