업무에 바로 쓰는 SQL 튜닝 2장 SQL 튜닝 용어를 직관적으로 이해하기
·
📚 책/업무에 바로 쓰는 SQL 튜닝
2장 SQL 튜닝 용어를 직관적으로 이해하기2.1.1 물리 엔진과 오브젝트 용어MySQL이라는 DBMS는 데이터를 저장하고, 저장된 데이터를 가공하는 연산을 수행한다.실행된 SQL 문을 다양한 문법 및 구문으로 검사(Parser)사용자가 요청한 데이터를 빠르고 효율적으로 찾아가는 전략적 계획 수립(Optimizer)스토리지 엔진에 위한 데이터까지 찾아간 뒤 해당 데이터를 MySQL 엔진으로 전달.MySQL 엔진은 전달된 데이터에서 불필요한 부분을 필터링하고 필요한 연산을 수행한 뒤 최종 결과 전달.스토리지 엔진(InnoDB, MyISAM, Memory 등) 스토리지 엔진은 사용자가 요청한 SQL 문을 토대로 DB에 저장된 디스크나 메모리에 필요한 데이터를 가져오는 역할을 수행.일반적으로 온라인상의 트랜잭..
MDC(Mapped Diagnostic Context) 적용하기
·
1.프로그래밍/Java
Java MDC (Mapped Diagnostic Context) 란?MDC (Mapped Diagnostic Context) 는 Java 의 로깅 프레임워크 (Slft4j, Logback, Log4j) 에서 제공하는 기능으로, Thread-local 컨텍스트에 데이터를 저장하고 로깅할 때 이를 로그 메시지에 포함할 수 있도록 하는 역할이다.주로 로그의 컨텍스트 정보를 추가하고, 이를 통해 로그 메시지를 더 유용하고 분서하기 쉽게 만들기 위해 사용된다.MDC 의 특징Thread-local StorageMDC 는 내부 구현적으로 ThreadLocal 을 사용한다.즉, 데이터를 현재 쓰레드에만 저장하고, 다른 쓰레드에 영향을 미치지 않는다.따라서, 멀티 쓰레드 환경에서 안전하게 사용할 수 있다.자동화된 로그..
도커 교과서 후기
·
📚 책/도커 교과서
도커 교과서 책 후기Docker 개념에 대해 알고있고, 더 심화 학습을 진행하기에는 더 할 나위 없는 책이라고 생각한다.이미지 레이어에 대한 개념과 골든 이미지, 도커 컴포즈, 도커 스웜을 이용한 분산 애플리케이션, 도커 애플리케이션 모니터링 방법 등 도커를 실제 프로젝트에 적용할 수 있을만큼의 지식을 얻을 수 있다.나의 경우 입문서 한권을 읽고 해당 책을 읽으면서 실무에서 사용되고 있는 Dockerfile, docker-compose 파일을 볼 때 시선이 달라짐을 확실히 느끼게 되었다.부족하지 않게 작성되어 있는 실습 내용들과 개념의 내용들이 해당 책을 공부하는데 지루하지 않게 해준다.단, 실습에서 사용되는 이미지들이 부족한 부분들이 가끔가다 존재했던걸로 기억한다.해당 부분은 책의 출판부터 시간이 지나..
도커 교과서 22장 끝없는 정진
·
📚 책/도커 교과서
22장 끝없는 정진22.1 도커를 이용한 개념 검증도커를 사용하면 개발중인 애플리케이션을 검증하기 쉬워진다.여러개의 컴포넌트를 컨테이너화도커 컴포즈의 강력한 기능 사용.Best Practice 적용멀티 스테이지 Dockerfile, 스크립트 최적화, 골든 이미지 사용중화된 로그 수집그라파나 대시보드 혹은 키바나를 통한 시각화 도구 함꼐 사용하기CI/CD 파이프라인 구축도커 빌드 자동화를 이용한 CI/CD 파이프라인 자동화22.2 소속 조직에서 도커의 유용함을 입증하라개발자가 전체 애플리케이션 스택을 운영환경과 완전히 동일하게 개발환경을 구축할 수 있다.의존 모듈 누락 및 버전 차이로 인한 문제 발생 차단.개발팀과 운영팀의 애플리케이션 주체의식 동등운영팀의 애플리케이션 운영에 대한 표준 도구 사용.컨테이너..
도커 교과서 21장 메시지 큐를 이용한 비동기 통신
·
📚 책/도커 교과서
21장 메시지 큐를 이용한 비동기 통신21.1 비동기 메시징이란?동기 통신소프트웨어의 컴포넌트는 대개 동기적으로 통신한다.클라이언트가 서버에 접속 요청을 보내고, 서버의 응답을 기다린 다음 접속을 종료하는 전체 과정이 동기적으로 이뤄진다.동기적 통신을 할 때 서버가 다운되거나, 응답 시간이 오래 걸리는 경우, 네트워크 수준에서 실패한 경우 등이 문제가 된다.비동기 통신비동기 통신을 적용하려면 클라이언트와 서버 사이에 계층이 하나 추가된다.클라이언트가 큐에 요청을 보내고, 서버는 큐를 주시하다가 메시지를 수신하고 처리한다.그렇다면 비동기 통신이 무조건 좋은가? 에 대한 답은 아니다.큐를 제공하는 기술의 신뢰성이 뛰어나야 하며, 큐 기술의 사용량이 비싸다는 큰 단점이 있다.도커를 사용하면 엔터프라이즈급 안정..
도커 교과서 20장 리버스 프록시를 이용해 컨테이너 HTTP 트래픽 제어하기
·
📚 책/도커 교과서
20장 리버스 프록시를 이용해 컨테이너 HTTP 트래픽 제어하기20.1 리버스 프록시란?여러 웹 애플리케이션으로 통하는 관문 역할을 수행.리버스 프로시는 포트를 외부로 공개한 유일한 컨테이너 이다.외부에서 들어오는 모든 트래픽은 먼저 리버스 프록시를 거치므로 애플리케이션 포트를 외부로 공개하지 않아도 된다.애플리케이션이 응답 내용을 캐시해 두었다가 적절하게 가공해서 클라이언트에게 전달.스케일링, 업데이트 보안 면에서 유리.리버스 프록시를 경량 컨테이너로 실행하게 되면서 모든 환경에서 동일한 프록시 설정을 사용할 수 있다.Nginx 프록시 설정하기Nginx 가 단순히 요청을 전달하는 매개자 역할을 한다.요청을 받을 때마다 이를 처리하는 컨테이너(upstream) 을 호출한다.응답을 다시 클라인어트 (dow..
도커 교과서 19장 도커를 이용한 로그 생성 및 관리
·
📚 책/도커 교과서
19장 도커를 이용한 로그 생성 및 관리19.1 표준 에러 스트림과 표준 출력 스트림도커 이미지는 애플리케이션 바이너리 및 의존성, 그리고 컨테이너를 시작할 때 도커가 실행할 프로세스에 대한 정보 등을 담은 파일 시스템의 스냅샷이다.컨테이너를 시작할 때 실행되는 프로세스는 포어그라운드로 동작한다.실행된 프로세스에서 생성한 로그 엔트리는 표준 출력 및 표준 오류 스트림으로 출력된다.도커는 각 컨테이너의 stdout 과 stderr 스트림을 주시하며 스트림을 통해 출력되는 내용을 수집한다.포어그라운드(Foreground) 란? 터미널에서 직접 명령을 내리고, 실행 결과를 바로 확인할 수 있는 상태. 즉, 터미널과 프로세스가 긴밀하게 연결되어 있는 상태.$ docker container logs --tail ..
도커 교과서 18장 컨테이너의 애플리케이션 설정 관리
·
📚 책/도커 교과서
18장 컨테이너의 애플리케이션 설정 관리18.1 다단 애플리케이션 설정설정 데이터 종류는 세 가지다.버전에 따라 달리지는 설정모든 환경에서 동일하지만 버전별로 달라지는 설정환경에 따라 달라지는 설정기능 설정버전별로 애플리케이션의 동작을 달리하기 위한 설정애플리케이션에 설정 주입하기버전에 따라 달라지는 설정값은 이미지의 기본 설정에 포함시킨다.환경별로 달라지는 설정값은 컨테이너 파일 시스템에 주입되는 오버라이드 파일에 넣는다.기능 설정은 환경 변수 형태로 다룬다.$ docker container run -d -p 8080:80 diamol/ch18-access-log$ docker container run -d -p 8081:80 -v "$(pwd)/config/dev:/app/config-override..
MyeongDev
'분류 전체보기' 카테고리의 글 목록