ラベル RabbitMQ の投稿を表示しています。 すべての投稿を表示
ラベル RabbitMQ の投稿を表示しています。 すべての投稿を表示

2017/03/08

【Node.js】amqplibをPromiseベースで利用する方法

RabbitMQのチュートリアルをやっていたとき、非同期処理はすべてcallbackで書かれていてコードがゴチャゴチャしてるな、Promiseとか使えないのかな、node-amqpのほうが良いかな、と感じていた。
が、そんなことはなくamqplibもPromiseベースで利用することができた。

CallbackとPromiseのそれぞれで実装した内容を比較しながら、使い方をまとめる。

2017/03/07

Node.js+RabbitMQでメッセージの送受信をする6(RPC)

仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。

今回はチュートリアル6「RPC」を学ぶ。



関連記事




今回学ぶこと


  • Remote procedure call(RPC)
  • Callback queue
  • 非同期のCallbackを実行する

2017/03/06

Node.js+RabbitMQでメッセージの送受信をする5(Topics)

仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。

今回はチュートリアル5「Topic」を学ぶ。



関連記事




今回学ぶこと


  • 高度なメッセージの振り分け
  • Topic Exchange

2017/03/02

Node.js+RabbitMQでメッセージの送受信をする4(Routing)

仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。

今回はチュートリアル4「Routing」を学ぶ。



関連記事




今回学ぶこと


  • RoutingKeyによるメッセージの振り分け
  • Direct Exchange

2017/02/28

Node.js+RabbitMQでメッセージの送受信をする3(Publish/Subscribe)

仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。

今回はチュートリアル3「Publish/Subscribe」を学ぶ。



関連記事




今回学ぶこと


  • Publish/Subscribeメッセージモデル
  • Exchange
  • Temporary Queues
  • Binding

2017/02/24

Node.js+RabbitMQでメッセージの送受信をする2(Work queues)

仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。

今回はチュートリアル2「Work queues」を学ぶ。



関連記事




今回学ぶこと


  • Work Queues
  • タスクの負荷分散
  • キューとメッセージの永続化

2017/02/22

Node.js+RabbitMQでメッセージの送受信をする1(Hello World)

仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。

今回はチュートリアル1「Hello World!」を学ぶ。



関連記事




今回学ぶこと


  • RabbitMQの導入方法
  • Node.jsの導入方法
  • 基本的なメッセージのやりとり


2017/02/14

CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする

仕事でRabbitMQを使う機会があった。私自身はフロントエンド畑の人なので、メッセージングシステムの意味はわかるけど使ったことがなかったので、実験用サーバ(CentOS7.3)を用意して勉強してみようと思う。

今後、数回にわけてRabbitMQの基本、インストール、設定、使い方などをブログに書いていく。

今回は、インストール~設定までして、最終的にRabbitMQを使える状態にする。その過程でハマりにハマったので手順として残しておく。



RabbitMQ とは


いきなり「RabbitMQをCentOSにインストールした」と書き出したが、そもそもRabbitMQがなんなのか、どんなときに使われるのか説明する。

RabbitMQはAMQPを使用したメッセージ指向ミドルウェア。処理の命令をいったんキューイングして、逐一実行するためのメッセージングシステムのひとつ。

呼び出し側(Producer)がRabbitMQにメッセージを登録しておく。そして、呼び出される側(Consumer)がそのメッセージを受け取り実行する。このようにメッセージングシステムを間に挟むことで、呼び出し側と呼び出される側を完全に分離することができる。

呼び出し側はメッセージを登録しておくだけなのでレスポンスを待つ必要がなく、また呼び出される側もメッセージをひとつひとつ受け取り実行することで負荷分散ができる。またアプリケーションが万が一落ちたとしてもメッセージは残っているので、再起動後に実行できるなど障害にも強くなる。

※Producer/Consumerと書いたが、一般的にはPublisher/Subscriberという