프로젝트를 진행하면서 connection pool에서 connection을 얻지 못해 timeout이 발생하는 일이 발생하였다. 단순하게 connection 수를 늘리는 것이 아닌 각자 맡은 업무에서 connection을 최대한 줄여보는 것이 목표로 하였고 해당 해결
프로젝트 내부에서 파일 시스템 연계를 맡아서 진행하는데 파일 내부에서 협의된 Interface를 지키지 못한 데이터가 넘어오는 경우가 발생하였다. 이런 경우에 해당 파일에서 앞에서 저장되었던 내용까지 롤백이 되는 경우는 방지해야 한다. 해당 문제를 개선하기 위해 공부했
지난 시간에는 Generic에 대한 전반적인 포스트를 작성하였다. 단순하게 개념으로 이해하기는 어려워 여러군대에 분포되어 있는 예시를 가지고 이해 해보록 하자. Nested Type Generic 아래와 같은 코드가 있다고 가정해보자 위의 코드는 정상적으로 작동할까?
이번에 프로젝트에서 배치 프로그램을 작성하는 중에 SimpleStepBuilder 멤버 변수를 확인하는 도중에 제너릭이 있는 것을 확인하였으나 기존에 알고 있던 부분과 많이 달라 이번에 제대로 공부하고자 한다. 만일 아래의 예시 중 Generic 부분에 어떤 타입 경계
매번 클라이언트에서 요청이 올 때마다 각 로직을 처리하는 빈을 새로 만들어서 사용한다고 생각해보자. 요청 1번에 10개의 객체가 만들어진다고 하고, 1초에 500번 요청이 온다고 하면 초당 5000개의 새로운 객체가 생성된다. 해당 건은 GC에게 부하가 걸리면 감당이
@Slf4j 에 대해서 알아보기 slf4j에 대해서 자세히 설명하는 좋은 블로그가 많이 존재하여 여기서는 loback-spring 을 보고 이해 할 수 있는 정도로만 다루고 넘어가려고 한다. slf4j는 다양한 로깅 프레임워크에 대한 추상화(인터페이스) 역할을 하기 때
MySQL에서 복제가 어떤 형식으로 이루어지는 지 알아보고 복제 시에 어떤 락이 걸리는지 알아보고 복제시에 8.0버전에서 어떤 트랜잭션을 제공하는지 알아보자.
JAVA8 제일 많이 사랑 받던 버전이기도 하고 현재는 11버전을 주로 사용하고 있는데 각 버전에서 어떤 부분때문에 사랑 받았고 11버전에는 어떤 부분이 추가되었는지 알아보자.
MySQL에서 사용하는 LOCK에 대해서 알아보고 왜 Repeactable read 격리수준에서 Phantom Read 문제가 발생하지 않는 이유에 대해서도 알아보자
앞에서 자바8에 대해서 Stream에 대해서 간략하게 알아보았다. 회사 면접을 보던 중 Java Stream와 Kotiln Stream의 차이에 대해서 아는지 물어보았고 해당 사항에 대해서 답변을 하지 못해 정리해보고자 한다.
이벤트 기반 아키텍쳐 SNS(Simple Notification Service) : 여러 서비스에 메세지를 전달하기 위해 사용 하나의 메시지를 여러 서비스에서 처리 가능, Subscriber-Publisher 조합, PUSH, Fan Out 기능 제공 애플리케이션
이번 시간에는 데이터 기초편으로 데이터 전송 방식과 마이그레이션, 데이터 분석 서비스에 대해 다루고자 합니다. AWS 데이터베이스 간 전송 방식 및 데이터 마이그레이션 Storage Gateway : 온 프레미스 데이터 센터의 데이터와 AWS 클라우드의 스토리지를
Elastic File System(EFS) 리눅스 환경의 EC2 인스턴스에서 연결하기 위한 네트워크 파일 스토리지 기본적으로 3개의 AZ에 데이터를 저장한다. Network File System(NFS) 프로토콜을 지원 여러개의 EFS를 연결할 수 있으며 여러개의
최근에 팀에서 AWS 자격증 비용을 지원해준다고 하여 준비하면서 공부했던 내용을 작성하려고 합니다.기초편에서는 IAM, EC2 , AutoScaling, EBS, Instance Store에 대해서 배워 봅시다!
친구랑 이야기 하면서 각자 선호하는 DB에 이야기 한 적이 있었는데 각자 선호하는 DB가 달랐다. 누구는 Nosql인 mongoDB를 선호하는 반면에 오픈소스인 Mysql을 선호하는 것이다. 글쓴이도 학부생 시절에 처음 접한 것이 Mysql이며 프로젝트에 투입 되면서
인덱스 컬럼에 대해 질의시 잘 사용하기 특정 쿼리가 인덱스를 타지 않아서 검색을 하던중 흥미로운 블로그 를 봐서 정리하고자 한다. 인덱스 컬럼을 조인할 때 해당 컬럼에 NOT 연산자 혹은 IS NULL 연산을 사용하면 인덱스 조회를 하는 것이 아닌 TABLE SCAN을
들어가기에 앞서 트랜잭션과 락을 공부함에 있어서 확신을 가질 수 없었다. 분명 오라클에서는 read-commited 와 MVCC를 통한 해당 데이터의 정합성을 보장하는 것과 다르게 Lock이 걸려서 이해할 수가 없었다. 하지만 이는 하나의 관점차이이며 락은 동시 접근
현재 이관작업을 진행하다가 3개의 테이블에 있는 데이터를 1개의 테이블로 이관하는 작업을 맡았다. 3개의 테이블을 합치는 과정에서 PRIMARY KEY가 중복되는 건을 응용팀에 전하니 테이블마다 우선순위를 두어 무조건 들어가야 하는 테이블을 알려주었다. TEMP 테이
앞에서 트랜잭션 읽기 일관성에 대해서 알아보았다. 트랜잭션이 시작된 기점으로 Commit 된 데이터들을 불러온다면 문장 수준 읽기 일관성은 2가지 관점이 존재하는데 이에 대해 알아보자123