목록Programming (117)
Patrick's 데이터 세상

뉴스 기사 수집기 개발 단계에서 Scrapy를 통하여 수집한 기사를 MySQL 테이블에 적재하는 구조의 뉴스 기사 수집기이고 해당 단계에서 MySQL Connection Pool에 불필요한 커넥션이 쌓여 리소스를 낭비하는 문제가 발생하였습니다. 이에 Open source Message Queue 중 RabbitMQ를 통하여 MQ Broker를 구현하였습니다. RabbitMQ는 docker를 이용하여 실행하였습니다. https://www.rabbitmq.com/ Messaging that just works — RabbitMQ Developer Experience Deploy with BOSH, Chef, Docker and Puppet. Develop cross-language messaging with..

MQ(Message Queue)란? Message Queue는 프로세스 또는 프로그램 인스턴스가 데이터를 교환할 때 사용하는 통신 방법입니다. Producer, Consumer가 존재하는데 , Producer는 메시지를 큐에 전송하고 Consumer가 큐의 메시지를 처리하는 방식입니다. MQ를 사용하면 비동기로 요청을 처리하고 queue에 저장하여 consumer에게 병목을 줄여줄 수 있고 중간 미들웨어에게 메시지를 위임하여 순차적으로 처리하게끔 한다. 장점 비동기식, 비동조, 탄력, 과잉, 보증, 확장성 사용처 대용량 데이터를 처리하기 위한 배치 작업이나, 채팅 서비스, 비동기 데이터를 처리할 때 사용됩니다. 분산되어 있는 데이터를 집중시키고 메시지 브로커로 필요한 프로그램에 작업을 분산시킬 때 사용합..

Glances는 Linux 터미널 및 웹 인터페이스를 제공하는 성능 모니터링 도구이다. 기본적인 CPU, RAM, NIC, DISK 뿐만 아니라 GPU, Docker Containers 상태까지 모니터링한다. 설치 Python 3 버전에서 실행되므로 Python을 먼저 설치해야 한다. apt update && \ apt install -y python3 python3-pip 모든 옵션 기능을 함께 설치하려면 패키지 이름 접미사로 '[all]'을 붙힌다. pip3 install glances[all] 웹 인터페이스로 사용하기 위해서는 '-w' 플래그를 붙히면 된다. 터미널이 닫히면 커맨드도 종료되므로 screen을 사용하여 백그라운드 실행한다. 포트는 61208을 기본값으로 사용한다. 웹 서버가 따로 있다..
세션 관리 프로그램 screen 설치하고 세션 만들기 $ sudo apt-get install screen # screen 설치 $ screen -S # screen 세션 생성 세션을 생성하면 바로 들어가진다. 터미널 창의 title이 세션명으로 바뀌어 있다. 지금은 방금 만든 screen 세션 하나의 윈도우 하나(#0)를 띄워둔 상태이다. screen에 들어간 상태에서 명령어 단축키는 ctrl + a를 누른 다음 손을 떼고 다음 키를 누르는 식으로 사용한다. ctrl + a, w # 윈도우 목록 확인하기 ctrl + a, c # 새 윈도우 생성하기 ctrl + a, # 해당 번호의 윈도우로 변경하기 터미널 창 하나를 여러 영역으로 분할할 수 있다. 이게 내가 원하던 기능이다. 창을 가로, 세로로 나눌 ..

aws.amazon.com/ko/docker/ Docker란 무엇입니까? | AWS Q: Docker로 어떤 작업을 할 수 있습니까? Docker를 사용하면 환경에 구애받지 않고 애플리케이션을 신속하게 배포 및 확장할 수 있으며 코드가 문제없이 실행될 것임을 확신할 수 있습니다. 이는 Doc aws.amazon.com 본문 Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼, 애플리케이션을 신속하게 구축, 테스트 및 배포할 수 있는 소프트웨어 플랫폼입니다. Docker는 소프트웨어를 컨테이너라는 표준화된 유닛으로 패키징하며, 이 컨테이너에는 라이브러리, 시스템 도구, 코드, 런타임 등 소프트웨어를 실행하는 데 필요한 모든 것이 포함되어 있습니다. Docker를 사용하면 환경에 구애받지 않고 애플리케이션..
리눅스 버전및 CPU등 환경정보 확인하기 위한 명령어 * 리눅스 버전 확인 # cat /etc/issue or # cat /etc/redhat-release * 리눅스 커널 버전 확인 # cat /proc/version * OS 커널 비트수(Kernel Bits) 확인하기 # getconf WORD_BIT * uname 명령(unix name의 줄임말) 으로 OS Kernel Architecture 확인하기 # uname -m i686 # uname (옵션) >> 옵션 -a : All 모든 정보 -i : Platform 정보 -m : System Kernel Architecture 정보 -n : Nodename(Host name) 정보 -p : Processor(Processor type) 정보 -r :..