클라우드 컴퓨팅

Postgresql Architecture #2 Process, Memory
PostgreSQL 은 postmaster 와 postgres 라고 하는 Server 프로세스를 통해 커넥션을 생성하여 사용자 요청을 받으며 이러한 요청은 백그라운드 프로세스에 의해 처리된다. postmasterpostmaster는 PostgreSQL 서버를 기동/중지하기 위한 필수 프로세스이자 가장 먼저 시작되는 프로세스이다. 공유 메모리 영역 관리 및 백그라운드 프로세스 시작postmaster 프로세스는 PostgreSQL 서버의 공유 메모리 영역을 할당하고 관리하며, 여러 백그라운드 프로세스를 시작하는 역할을 수행한다.클라이언트 연결 요청 처리postmaster는 클라이언트의 연결 요청을 대기하고 있다가, 클라이언트로부터 연결 요청이 발생하면 이를 처리하기 위해 postgres 프로세스를 생성하여..

Postgresql Architecture #1 Client - Server Architecture
PostgreSQL은 트랜잭션 및 분석 워크로드에 사용되는 오픈 소스 객체 DBMS 시스템이다.1986년 UC 버클리의 POSTGRES 프로젝트의 일부로 시작된 이래 35년 이상 끊임없이 개발되었다. Client - Server Architecture다른 솔루션과 마찬가지로 PostgreSQL 아키텍처는 클라이언트-서버 모델을 따른다. 주요 프로그램은 데이터 구조 정의, 데이터 저장 및 쿼리 처리를 담당하는 서비스로 작동한다.이 아키텍처를 통해 PostgreSQL 시스템은 로컬 또는 네트워크를 통해 연결된 여러 클라이언트를 처리할 수 있다. 마스터 프로세스가 클라이언트 연결을 수신하면 해당 연결에 전담된 새 프로세스를 포크(즉, CPU와 RAM을 소모하고 자체적으로 실행하는 독립 프로세스 생성)한다. 여..

도커 커널 디버깅 #1
컨테이너는 실제로 개별적인 컨셉이 아닌 리눅스의 cgroup, namespace등의 결합체이다.보통의 hypervisor는 os 나 커널 기반으로 올라가지만 컨테이너는 파일 시스템의 가상화로 호스트의 커널을 공유한다. cgroup(control group)은 프로세스들이 사용하는 시스템 자원을 수집, 제한한다.namespace는 리눅스 커널에서 프로세스 자원을 격리한다. 도커 컨테이너 생성 시 system call 분석strace를 이용하여 컨테이너 생성시 containerd(도커 런타임)의 프로세스 추적$ strace -f -p `pidof containerd` -o strace_log$ docker run -itd --name busybox_1 --rm busybox 1. containerd-shi..

분산환경에서 Hazelcast 캐시 클러스터링
In-Memory Data GridIn-Memory Data Grid (IMDG)란 대용량 데이터를 메모리에 저장하고 처리하기 위한 분산 캐싱 소프트웨어 기술이다.IMDG 는 다수의 물리 서버를 연결하여 클러스터를 형성하고, 이 클러스터의 메모리를 활용하여 대규모 데이터를 저장하고 캐싱한다. IMDG는 다음과 같은 특징을 갖는다.대용량 메모리 풀: IMDG를 사용하면 여러 대의 서버를 연결하여 대용량의 메모리 풀을 형성할 수 있다. 이러한 메모리 풀은 데이터의 빠른 접근과 처리를 가능케 한다.데이터 적재 및 캐싱: IMDG는 대용량 데이터를 메모리에 적재하거나 캐싱하여 빠른 응답 시간을 제공한다. 이를 통해 데이터에 대한 실시간 접근 및 처리가 가능해진다.IMDB 기능: IMDG는 In-Memory Da..
![[Jenkins] 젠킨스 설치 & 빌드 설정 세팅](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbkneiA%2FbtrKVyS64Jy%2Fw3ZzHoiYnb28zWDktTVCX1%2Fimg.png)
[Jenkins] 젠킨스 설치 & 빌드 설정 세팅
🌈 젠킨스란젠킨스는 소프트웨어 개발 시 지속적 통합(conticuous integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해준다. 🚀 젠킨스 설치jenkins를 구동할 포트를 설정한다.기본값은 8080이지만 사용중일 확률이 높아서 80으로 해줬다.jdk가 설치된 java home 경로 설정설치가 끝나면 localhost:80에 접속할 수 있게된다. Set up아래 경로로 들어가 initialAdminPassword를 메모장으로 열고 입력된 비밀번호를 복사한다.C:\ProgramData\Jenkins\.jenkins\secret..