네트워크 어플리케이션

../_images/34364815780_bea6614025_k_d.jpg

HTTP

HTTP(Hypertext Transfer Protocol)는 분산, 협업, 하이퍼미디어 정보 시스템을 위한 애플리케이션 프로토콜입니다.HTTP는 월드 와이드 웹을 위한 데이터 통신의 기반입니니다.

Requests

파이썬의 표준 urllib2 모듈은 필요한 HTTP의 기능 대부분을 지원하지만 API는 완전히 박살나 있습니다. 그것은 다른 시간과 다른 웹을 위해 만들어졌습니다. 가장 간단한 작업을 수행하더라도 엄청난 양의 작업(메소드 재정의까지)이 필요합니다.

Requests는 Python HTTP에서 모든 작업을 처리하므로 웹 서비스와 매끄럽게 통합할 수 있도록 해줍니다. URL에 쿼리 문자열을 수동으로 추가하거나 POST 데이터를 폼 인코딩 할 필요가 없습니다. Requests에 포함된 urllib3에 의해 구동되는 Keep-alive 및 HTTP 커넥션 풀링은 100% 자동입니다.

분산 시스템

ZeroMQ

ØMQ(ZeroMQ, 0MQ, ZMQ로도 씀)는 대규모 분산 환경 어플리케이션이나 동시성 어플리케이션을 위한 고성능 비동기 메시징 라이브러리입니다. 메시지큐를 제공하지만 다른 메시징 미들웨어와는 달리 제로엠큐는 메시지 브로커 없이도 동작합니다. 그 라이브러리는 소켓 스타일 API처럼 디자인되어 있습니다.

RabbitMQ

RabbitMQ는 Advanced Message Queuing Protocol (AMQP)를 구현한 오픈소스 메시지 브로커 소프트웨어입니다. 래빗MQ 서버는 얼랭 프로그래밍 언어로 개발되었고 클러스터링과 장애 복구를 위하여 Open Telecom Platform 프레임워크에 기반하고 있습니다. 브로커와 인터페이스할 클라이언트 라이브러리는 모든 주요 프로그래밍 언어에 사용할 수 있습니다.