일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 일정
- 배낭여행
- 계획
- ip
- 샐러리
- 1달살기
- 여행 #
- JAVA #언어 #프로그래밍 #IT #개발 #코딩
- JAVA #언어 #프로그래밍 #코딩 #static #정적함수 #정적변수 #클래스
- RabbitMQ
- 메시지 큐
- 내심정
- #DB#SQLD#자격증
- 추억
- 실비용
- 영국
- 서버
- 준비
- 겨울
- IT
- 파이썬
- 유럽여행
- 인프라
- 여행
- 이탈리아
- JAVA #객체지향 #프로그래밍 #언어 #IT #기초
- 유럽
- 예약
- 리눅스
- 경험
- Today
- Total
목록분류 전체보기 (178)
YoonWould!!
지난 시간에 이어서 진행되는 점 참고바랍니다. 1. 작업 분배 : 큐에 넣고, 여러 개의 워커가 가져가고, 작업 종료 확인하기 퍼블리셔 => 큐 => 컨슈머 1,2 퍼블리셔가 생성한 메시지를 메시지 큐에서 컨슈머 1과2에 나워 전달합니다. 지난 시간에 한 예제와 규모를 조절하면 비슷하나 이번 예제는 컨슈머가 작업한 후 해당 작업이 정상적으로 완료되었는지 확인하는 것과 퍼블리셔, 메시지 큐 서버, 컨슈머 중 어느 하나에 문제가 생겼을 때 해당 데이터를 어떻게 보존시킬 지입니다. #메시지 센더 구현 #new_sender.py import pika # 무작위 수를 생성하는 random 모듈을 임포트합니다. import random # 서버와 연결을 맺습니다. connection = pika.BlockingCo..
RabbitMQ를 사용해서 메시지 큐를 만들고, 큐에 메세지를 넣고, 그 메시지를 가져가는 작업을 해보겠습니다. 1.메시지 큐 메시지 큐는 서로 다른 프로그램 사이에 공유할 수 있는 무제한 크기의 버퍼입니다. 이 큐를 이용해서 데이터를 만들고, 큐에 쌓아두고, 큐에서 데이터를 빼내어 순서대로 처리하거나, 라운드 로빈 방식으로 분배해서 처리하거나, 규칙에 따라 여러 가지 작업을 할 수 있습니다. 즉, 메시지 큐는 사용자가 입력한 메시지를 보낼 때의 중간 자료구조임을 알 수 있습니다. 위키 백과 : https://ko.wikipedia.org/wiki/메시지_큐 2.RabbitMQ 소개 RabbitMQ는 사용하기 간단하고, 대부분 운영체제에서 실행되며, 메시지 큐의 표준 중 하나인 'AMQP(Adva..
이번 시간에는 스크래피를 설치하고, 프로젝트를 생성하고, 크롤링의 핵심이 되는 아이템 설정하기까지 살펴보겠습니다. 1. 스크래피 설치 set swap # swap을 첨부하는 이유는 나중에 xml을 설치했을 때 메모리 공간 확보를 위해서 입니다. sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo "/swapfile swap swap sw 0 0" >> /etc/fstab echo "vm.swappiness = 10" >>/etc/sysctl.conf echo "vm.vfs_cache_pressure = 50" >> /etc/sysctl.conf Install Scrapy..
파이썬을 이용해 간단한 크롤링 애플리케이션을 구현해보겠습니다. 참고한 책은 python 개발자를 위한 파이썬이라는 책을 참고하여 구현하였습니다. 먼저 스크래피(scrapy)를 사용합니다. 스크래피 파이썬으로 만들어진 대표적인 크롤러입니다. 크롤링의 프레임워크라고도 할 수 있습니다. 스크래피의 장점 - 스크랩할 항목 유형을 정의하는 클래스를 만들 수 있습니다. - 수집한 데이터를 원하는 대로 편집하는 기능을 제공합니다. - 서버에 연동하기 위해 기능을 확장할 수 있습니다. - 크롤링 결과를 JSON, XML ,CSV 등의 형식으로 내보낼 수 있습니다. - 손상된 HTML 파일을 분석할 수 있습니다. 스크래피를 이용해서 크롤러를 만드는 대략적인 과정 1. 크롤링할 아이템을 선정 2. 실제 크롤링할 스파이더(..
클러스터 여러 대의 컴퓨터들이 연결되어 하나의 시스템처럼 동작하는 컴퓨터들의 집합 기본적으로 고속 근거리 통신망으로 구성된다. 서버로 사용되는 노드에는 각각의 운영 체제가 실행된다. => 이더넷, Wifi와 인터넷 프로토콜인 TCP/IP를 사용한다. 요즘은 무선랜(IEEE 802.11 시리즈)도 많이 사용되고 있다. 클러스터 특징 - 작업 부하분산(Load-Balancing) 클러스터는시스템의 전반적인 성능을 향상시키기 위해 계산 부하량을 여러 노드에서 분담하여 병렬 처리하도록 구성 하는 방식이다. 웹서버 클러스터의 예를 들면, 각기 다른 종류의 요구들을 각기 다른 노드에서 처리하도록 할당함으로써 전반적인 응답시간을 최소화 할 수 있다. 그렇지만 애플리케이션에 따라 작업 부하를 분산하는 방법은 크게 다를..
기본 개념 Elasticsearch에서는 몇 가지 핵심 개념을 사용합니다. 처음부터 이 개념을 알아두면 훨씬 더 수월하게 학습할 수 있습니다. NRT(Near Realtime) Elasticsearch는 NRT 검색 플랫폼입니다. 즉 문서를 색인화하는 시점부터 문서가 검색 가능해지는 시점까지 약간의 대기 시간(대개 1초)이 있습니다. 클러스터 클러스터는 하나 이상의 노드(서버)가 모인 것이며, 이를 통해 전체 데이터를 저장하고 모든 노드를 포괄하는 통합 색인화 및 검색 기능을 제공합니다. 클러스터는 고유한 이름으로 식별되는데, 기본 이름은 "elasticsearch"입니다. 이 이름은 중요한데, 어떤 노드가 어느 클러스터에 포함되기 위해서는 이름에 의해 클러스터의 구성원이 되도록 설정되기 때문입니다. 동..
HA (High Availability : 고가용성, 고가용도) 가용성은 시스템 고장 발생 시 얼마나 빠른 시간내에 치료가 되어 다시 정상적으로 서비스할 수 있는 상태인지를 분석하는 척도 입니다. 따라서 HA 구성이란 이러한 가용성을 극대화 시키는 구성을 말하는 것으로서 '클러스터링, 이중화, RAID'는 범위로 보면 HA 를 이루기 위한 방식이라 볼 수 있습니다. 하나의 컴퓨터 시스템이나 네트워크는 전체의 운영을 위해 모두가 사용 가능한 상태로 있어야만 하는 수많은 부품으로 구성되어 있기 때문에 HA를 구성하기 위한 계획은 '백업'이나 '장애극복 처리' 및 '데이터 저장' 및 '엑세스'에 집중되어 있습니다. 저장 장치의 경우 RAID가 그 중 하나의 접근방법이며 SAN 같은 방법을 이용합니다. 고 가용..
1. yum epel 저장소 확인 및 추가 * epel = Extra Packages for Enterprise Linux : 엔터프라이즈 리눅스를 위한 추가 패키지 $ yum repolist epel저장소가 없다면 아래 명령어로 저장소 추가!! # yum install epel-release 2. nodejs, npm 설치 # yum install npm nodejs 3. 버전 확인 $ node -v and $ npm -v
IaaS-SaaS-PaaS의 차이 각각 서비스로서인프라(infrastructure-as-a-service, IaaS), 서비스로서플랫폼(platform-as-a-service, PaaS), 서비스로서소프트웨어(software-as-a-service, SaaS)를 가리킨다. 이들 용어의 개념과 주요 업체를 살펴보자. IaaS IaaS는 가장 쉽게 정의할 수 있다. 업체에 상관없이 거의 동일한 개념으로 사용된다. IaaS는 서드파티 업체가 제공하는 고도로 자동화되고 확장 가능한 IT 인프라를 의미한다. 이 인프라에는 스토리지, 호스팅, 컴퓨팅, 네트워킹 등이 포함된다. 비용은 사용한 만큼만 지급하면 된다. 기업은 IaaS를 통해 소프트웨어 라이선스와 서버 등 IT 자산을 직접 소유하는 대신 필요에 따라 이들..
방법 : hosts.allow를 사용한다. /etc/hosts.allow 수정 # # hosts.allow This file describes the names of the hosts which are # allowed to use the local INET services, as decided # by the '/usr/sbin/tcpd' server. # sshd: xxx.xxx.xxx.xxx -> xxx.xxx.xxx.xxx IP에게 접속 허용 많은 IP를 관리하려면 sshd: xxx.xxx.xxx.xxx sshd: bbb.bbb.bbb.bbb 이런식으로 관리 가능 수정 후에는 systemctl restart sshd 수행