본문 바로가기 메뉴 바로가기

덕's IT Story

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

덕's IT Story

검색하기 폼
  • 분류 전체보기 (198)
    • IT 이야기 (31)
      • 그 외 (15)
      • 대외활동 소식 (9)
      • 컴퓨터 지식 (7)
    • 클라우드&오픈스택 (8)
      • 클라우드 (2)
      • 오픈스택 (6)
    • 프로그래밍 (86)
      • C/C++ (1)
      • 자료구조&알고리즘 (11)
      • 다음API (6)
      • OpenCV (2)
      • RabbitMQ (6)
      • Git&GitHub (3)
      • Web (2)
      • 자바스크립트 (12)
      • Spring (7)
      • Java (36)
    • Ruby&Rails (21)
      • Rails (16)
      • Gem (5)
    • OS (20)
      • 리눅스&우분투 (12)
      • CentOS (5)
      • 안드로이드 (3)
    • 해킹&보안 (5)
      • 무선해킹 (2)
      • 시스템해킹 (3)
  • 방명록

rabbitmq (6)
[RabbitMQ] 원격 프로시저 호출 (RPC)

[RabbitMQ] 원격 프로시저 호출 (RPC)(using the Bunny client) 두 번째 강의에서 여러 worker들 사이에서 시간이 소요되는 작업을 분배하는 Work Queue에 관해서 배웠습니다. 하지만 만약 원격지의 함수를 실행시키고 해당 결과를 기다리는 경우에는 어떨까요? 이 경우는 약간 다른 경우입니다. 흔히 보통 이런 경우를 원격 프로시저 호출 또는 RPC(Remote Procedure Call)라고 알려져 있습니다. 이번 강의에서 RabbitMQ를 RPC 시스템을 구축하는데 사용해볼 것 입니다: 클라이언트와 확장가능한 RPC 서버로 구성됩니다. 실제의 시간이 소요되는 작업이 없기 때문에 피보나치 수열을 반환하는 가짜 RPC 서비스를 제작해볼 것 입니다. 전제조건이 튜토리얼에서 R..

프로그래밍/RabbitMQ 2015. 7. 11. 01:02
[RabbitMQ] Topics

[RabbitMQ] Topics(using the Bunny client) 이전 강의에서 우리의 로그 시스템을 발전 시켜봤습니다. 단순히 브로드캐스팅을 하는 fanout exchange 대신에 direct 를 이용하여 메시지 로그를 선택적으로 수신할 수 있게 해보았습니다. 비록 direct exchange를 사용하여 우리의 시스템을 진보시켜보았지만 여전히 다중 기준에 의한 라우팅을 할 수 없는 한계가 존재합니다. 우리의 로그 시스템은 info, warning, error 와 같은 규칙에 분류한 구독을 할 수 있지만 로그를 출력하는 프로그램에 따른 구독은 할 수 없습니다. 유닉스의 syslog 툴의 개념을 생각하면 됩니다. syslog는 규칙(info/warn/cri..)와 출처(auth/cron/kern..

프로그래밍/RabbitMQ 2015. 7. 10. 05:04
[RabbitMQ] Routing

[RabbitMQ] Routing(using the Bunny client) 이전 강의에서 간단한 로그 시스템을 만들어봤습니다. 로그 메시지들을 여러 receiver들에게 브로드캐스트할 수 있었습니다. 이번 강의에서는 메시지의 일부를 수신할 수 있게 해볼 것 입니다. 예를들어, 콘솔에 전체 로그 메시지들을 출력하는 동안 치명적인 에러 메시지들은 디스크 공간에 저장될 수 있게 로그 파일에 기록하게 할 수 있습니다. 전제조건 이 튜토리얼에서 RabbitMQ가 localhost에 설치되어있고 기본 포트인 5672로 동작 중인 것을 가정으로 진행됩니다. 다른 호스트나, 포트를 사용할 경우 적절한 세팅을 하셔야합니다. Bindings이전 예제에서 bindings을 이미 만들었습니다. 다음 코드와 같습니다.q.bi..

프로그래밍/RabbitMQ 2015. 7. 9. 18:39
[RabbitMQ] Publish/Subscribe

[RabbitMQ] Publish/Subscribe(using the Bunny Client) 이전 강의에서 work queue 를 만들어봤습니다. work queue 의 내부에서는 각 작업을 정확히 하나씩의 worker 에게 전달해줍니다. 이번 강의에서는 work queue와는 전혀 다른 하나의 메시지를 여러 consumer들에게 전송해볼 것 입니다. 이 패턴은 publish/subscribe 이라 불립니다. 이 패턴을 구현하기 위해 간단한 로그 시스템을 만들 것 입니다. 2개의 프로그램으로 구성되며, 첫 번째 프로그램은 로그 메시지를 생성하고 두 번째는 로그를 받아 출력합니다. 제작할 로그 시스템은 동작 중인 receiver 프로그램이 받는 모든 메시지들을 복사합니다. 이 경우 한 receiver 프..

프로그래밍/RabbitMQ 2015. 7. 6. 05:43
[RabbitMQ] Work Queues

Work Queues (using Bunny) 첫번째 강의에서 queue로 송/수신하는 프로그램을 작성했습니다. 이번 강의에서는 여러 작업 프로세스들 사이에서 일정 시간이 소모되는 작업들을 분배하는 Work Queue 를 만들것 입니다. Work Queue(Task Queues 라 불리는)의 핵심 개념은 자원소모가 많은 작업을 즉시 처리하지 않고 작업이 완료될 때까지 기다리는 것입니다. 대신 이 작업이 나중에 처리되어지도록 스케쥴해야합니다. 작업을 메시지로 캡슐화하여 queue에 전송할 것입니다. 작업 프로세스는 백그라운드로 실행되면서 작업을 queue로 부터 꺼내 수행합니다. 여러 작업 프로세스들을 실행시킬 경우 작업들은 프로세스들 사이에서 분배되어 실행될 것입니다. 이 개념은 웹 어플리케이션에서 복잡..

프로그래밍/RabbitMQ 2015. 7. 5. 05:03
[Message Queue] RabbitMQ란?

RabbitMQ란? RabbitMQ는 AMQP 프로토콜을 구현한 메시지 브로커입니다. producers 로부터 메시지들을 받아 consumers 에게 전달해주는 서비스로, 쉽게말해 시스템 간에 메시지를 전달해주는 서비스입니다. RabbitMQ는 사용자가 설정한 규칙에 따라 메시지들을 route, buffer, persist 할 수 있습니다. 일반적으로 메시징 시스템이나 RabbitMQ 에서 사용하는 컴퓨터 용어를 살펴보겠습니다. Producing 은 메시지를 전송한다는 의미입니다. 메시지들을 전송하는 프로그램을 producer 라 부릅니다. 앞으로 producer를 P 라고 나타내겠습니다. Queue는 mailbox를 의미하며 RabbitMQ 시스템 내에 위치하게 됩니다. 메시지들은 RabbitMQ를 통..

프로그래밍/RabbitMQ 2015. 7. 4. 15:08
이전 1 다음
이전 다음
최근에 올라온 글
  • [책 리뷰] 자바 최적화 (Optimizing J⋯
  • Spring Webflux + JDBC(혹은 bl⋯
  • [macOS Mojave] Evernote (혹은⋯
  • spring-boot-starter-webflux⋯
TAG
  • 클라우드 컴퓨팅
  • 프로그래밍
  • Message Queue
  • 알고리즘
  • 티스토리 초대장
  • IceHouse
  • 오픈스택
  • Java
  • 웹프로그래밍
  • rabbitmq
  • 다음지도
  • ruby on rails
  • html
  • OpenStack
  • gem
  • ubuntu
  • IT
  • 자료구조
  • 이펙티브 자바
  • Rails
  • 리눅스
  • CSS
  • install
  • javascript
  • 다음지도 API
  • 우분투
  • 다음
  • ruby
  • codecademy
  • 컴퓨터
more
글 보관함
  • 2019/06 (1)
  • 2018/12 (2)
  • 2018/11 (2)
  • 2018/10 (1)
  • 2018/07 (2)
Total
695,667
Today
68
Yesterday
235

Copyright ⓒ 2018 kkd927. All rights reserved.

티스토리툴바