처음 블로그를 시작하며,Markdown 형식으로 작성하며 동시에 확인까지 할 수 있고 기본적인 기능에 충실한 velog에서 시작했다.하지만 개발을 하면서 트러블슈팅 겸 구글링을 할 때마다velog에는 생각보다 틀린 정보랑 얕은 정보가 유독 많다고 깨닫게 됐다. (내 블
1차 캐시트랜잭션 내에서 동일한 select가 발생할 경우 영속성 컨텍스트의 캐시를 조회해서 새로운 DB 조회가 발생하지 않도록 한다.동일성 보장서로 다른 객체에 저장되어 있더라도 같은 엔티티라면 동일성을 보장해준다.쓰기 지연 저장소변경사항을 그때그때 DB에 반영하지
Spring의 AOP는 부가 기능을 핵심 기능으로부터 분리하고 접근을 제어하기 위해 등장한 기술이다.Proxy 객체를 통해 객체를 사용하게 되면 아래와 같은 장점이 있다.본래 객체의 메소드가 호출되기 이전에 부가 기능들을 적용할 수 있다.객체를 최소한으로 생성하고 필요
프록시엔 여러 종류가 존재하며, 본 포스트는 Network Proxy에 대해 다룬다.네트워크 프록시엔 두 종류가 있다.Forward ProxyReverse Proxy일반적으로 프록시 서버를 지칭하면 포워드 프록시를 말한다.클라이언트 - 인터넷 - 서버 구조에서 포워드
인덱스는 데이터가 있는 위치이다.MySQL InnoDB에서는 인덱스가 없는 테이블 탐색시 Full scan이 발생하게 된다.하지만 인덱스 생성시 B-Tree를 통해 데이터를 탐색하기 때문에 data page read 횟수가 줄어들게 된다.인덱스에는 두 가지 종류가 있다
InnoDB Cluster는 5가지의 동시성 제어 모드를 제공하며group_replication_consistency 파라미터 설정으로 변경할 수 있다.데이터는 최종적으로 일관성이 유지되나, 각 노드 간의 읽기 트랜잭션 결과가 일치하지 않는 순간이 발생할 수 있다.Ev
https://saramin.github.io/2021-09-28-mysql-group-replication/
Prometheus를 사용하면, 사용자 요구에 따라 다양한 통계 데이터들을 수집해 제공해야한다. 그리고 가끔씩은, 수집할 데이터가 명확하지 않은 상황에서 요구사항만 존재하는 경우가 있다. 또는 수집할 데이터가 명시되었어도, 데이터를 가공하여 제공하는 경우가 생긴다.
recording rule을 scrape interval 보다 작게 설정했다가 타임시리즈가 여러개 존재가되어, Front에서 일괄적으로 코딩된 range query http api의 결과값 데이터가 부정확해지는 문제sharding (cross-over service)
클라이언트에서 요청시 Servlet으로 요청되게 되고,각 컨트롤러에서 Servlet을 모두 처리하는 로직을 구현하게 되면 비효율적이다. 그에 따라, Front Controller에서 Servlet 하나로 클라이언트의 요청을 받고, 그에 맞는 하위 컨트롤러를 호출해주는