본문 바로가기

전체 글

(655)
[인프라] 도커 컨테이너 컨테이너란? 개발, 배포하는 소프트웨어 패키지들의 표준. OS 커널 하나에 여러개의 컨테이너가 격리된 상태로 병리되어 실행될 수 있는 개념. 컨테이너는 VM 보다 가볍고 빠르다. 컨테이너는 리눅스 커널에서 제공하는 기능으로, 도커는 컨테이너라는 기술을 이용한 오픈소스이다. 도커는 컨테이너를 이미지 파일로 빌드/배포하도록 한다. 도커 이미지 규격에 따라 git 저장소 처럼 build/push/pull하는 것도 가능하다. 비슷하게 리눅스 컨테이너를 활용한 rkt, lxc, lxd 오픈소스도 존재하지만 도커만큼 많이 사용되고 있지는 않다. 기존 Virtual Machine의 경우는 모든 VM이 자신의 OS를 별도로 가지고 있다면, 컨테이너의 개념은 단일 HOST OS 위에 애플리케이션 + 바이너리/라이브러리가..
[성능] 2018 연말 TPS 대비 조치 보호되어 있는 글입니다.
[엔지니어링] 성능 엔지니어링에 대한 접근 방법 출처: http://bcho.tistory.com/787 (Performance Tuning) 성능 개선, Performance Tuning, 용량 산정과 같은 튜닝 관련 용어들은 모든 개발자나 엔지니어에게 흥미가는 주제입니다. 그만큼 소프트웨어에서 고성을 내는 시스템은 만들기도 힘들뿐더러, 고성능 시스템이란 즉 잘 설계되고 구현된 소프트웨어를 뜻하는 것이니 관심을 가지는 것이 당연하지 않을까 싶습니다. 엔터프라이즈 시스템에 장애 해결, 장애 회피 설계, 성능 개선, 고성능 시스템 설계 및 구현에 관련 중 장애 해결과 성능 개선 작업은 하고 나면 뿌듯하여도, 특정한 기술이 필요하다기 보다는 문제를 정의하고 접근하는 능력과 끝까지 목표를 달성할 때까지 지루한 작업을 반복적으로 할 수 있는 인내심을 필요로 ..
[아키텍처] 터빈 서버 / 히스트릭스 대시보드 서버 터빈 서버(Turbine server)는 마이크로서비스에 설치된 히스트릭스 클라이언트 스트림을 통합해 주는 기능을 제공합니다. 히스트릭스 클라이언트 스트림은 마이크로서비스에 설치된 히스트릭스 클라이언트에서 마이크로서비스로의 서비스 처리 요청에 대한 결과값을 스트림으로 전달해주는 역할을 하고, 마이크로서비스에 히스트릭스 스트림 메시지는 이후에 설명할 히스트릭스 커맨드 설정을 통해서 적용할 수 있습니다. 터빈 서버는 각 마이크로서비스에서 생성되는 히스트릭스 클라이언트의 스트림 메시지를 터빈 서버로 모두 수집하는 역할을 합니다. 터빈 서버의 'application.yml' 파일의 'appconfig' 속성에 세 개의 마이크로서비스 애플리케이션 이름을 등록하면 등록된 세 개의 애플리케이션에서 발생하는 히스트릭스..
[스프링] 트랜잭션의 종류 1. 로컬 트랜잭션 2. 분산 트랜잭션(글로벌 트랜잭션)2개 또는 그 이상의 네트워크에 연결된 호스트 간의 트랜잭션XA: 오픈그룹(The Open Group)에서 제정한 분산 트랜잭션 처리를 위한 표준 https://en.wikipedia.org/wiki/Distributed_transactionhttps://en.wikipedia.org/wiki/X/Open_XA 선언적인 트랜잭션 관리 - 대부분의 스프링 프레임워크의 사용자들은 선언적인 트랜잭션 관리를 선택합니다.- 선언적인 트랜잭션 관리는 애플리케이션에 최소한으로 영향을 주므로 비침투적인 경량 컨테이너의 이상과 매우 일치합니다.- 스프링 프레임워크의 선언적인 트랜잭션 관리는 스프링의 관점지향 프로그래밍(AOP)와 사용가능하도록 만들어졌습니다.- 롤백..