반응형
 포스팅 썸네일 이미지

프로그래밍

[ 시스템 프로그래밍 ] fork()와 execve()의 차이를 알아보자

1. fork()란 무엇인가 - 새로운 프로세스를 생성한 뒤에 현재 프로세스의 메모리 상태를 새로운 프로세스에 그대로 복사하는 것이다. - 부모 프로세스의 메모리 상태에서 몇 가지를 제외하고 그대로 복사하는데 이 중에 부모 프로세스와 다른 것은 pid이다. - 아래 결과를 보면 부모 프로세스와 자식프로세스는 독립된 메모리 주소를 사용한다. ( Code 영역은 공유함 ) - 아래 출력 결과를 보면 자식 프로세스에서 printf를 찍어도 stdout으로 출력된다. 즉, 부모 프로세스의 파일 디스크럽터를 자식프로세스에서 복사한다. - fork로 만들어진 자식 프로세스 부모 프로세스 사이의 통신은 IPC통신을 한다. 대표적으로는 PIPE통신이 있다. - return값은 2개이고, 0과 프로세스 id이다. 0은 ..

2022.04.14 게시됨

 포스팅 썸네일 이미지

프로그래밍

[ Docker ] 도커로 로드밸런싱한 서비스 배포하기

1. 로드밸런싱이란? - 로드밸런싱이란 클라이언트가 많아졌을 때를 대비해 하나의 대표 서버를 두고, 대표 서버 뒤에서는 각자의 역할만을 하는 서버를 여러대 두는 것입니다. - 아래의 gif를 보시면 한번에 이해될 것 입니다.(gif설명이 너무 좋아서 가져왔습니다) - 즉, 하나의 서버만을 이용하면 과부하가 걸려 요청을 받을 수 없게 되거나 서비스가 느려집니다. 이를 방지하기 위해 로드밸런서가 요청을 분담하거나 구별해 일을 나누어 처리하는 것입니다. 2. 도커를 이용한 로드밸런싱 실습 - 먼저 저는 Windows에서 로드밸런싱을 실습하기 위해 Docker Desktop과 node.js을 이용하였습니다. - "npm init"을 하여 package.json을 생성한 뒤에 웹 페이지와 도커 컨테이너를 만들어 ..

2022.03.24 게시됨

 포스팅 썸네일 이미지

프로그래밍

[ AWS ] 도커를 이용해 AWS에서 배포하기

AWS 계정 및 인스턴스 접속 - 처음 AWS에 가입하게 되면 Free Tier요금제를 이용해 무료에 가까운 저렴한 가격에 이용할 수 있다. - 가입을 해준 다음 EC2를 이용해 가상 서버를 만든다. 이후에는 우측에 인스턴스 시작에서 Free tier용 원하는 이미지를 선택한다. 나는 ubuntu18.04 LTS x86을 선택했다. 키페어는 ssh접속 시에 사용하는 private key이다. 다운로드 받아 리얼 해커들이 못 털어가게 꼭꼭 숨겨놓자 인스턴스 선택 후 연결 버튼을 누르면 ssh로 어떻게 접속하는지 나온다. ex) ssh -i ~~~ 인스턴스를 ssh로 할시에 vi를 써야 하는데 렉이 많이 걸리니까 vscode로 연결해서 작업할 예정이다. 연결 방법은 아래 블로그를 참고했다. https://k..

2022.01.21 게시됨

반응형