RabbitMQのチュートリアルをやっていたとき、非同期処理はすべてcallbackで書かれていてコードがゴチャゴチャしてるな、Promiseとか使えないのかな、node-amqpのほうが良いかな、と感じていた。
が、そんなことはなくamqplibもPromiseベースで利用することができた。
CallbackとPromiseのそれぞれで実装した内容を比較しながら、使い方をまとめる。
2017/03/08
2017/03/07
Node.js+RabbitMQでメッセージの送受信をする6(RPC)
仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。
今回はチュートリアル6「RPC」を学ぶ。
今回はチュートリアル6「RPC」を学ぶ。
関連記事
- CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
- チュートリアル1「Hello World」
- チュートリアル2「Work queues」
- チュートリアル3「Publish/Subscribe」
- チュートリアル4「Routing」
- チュートリアル5「Topics」
- チュートリアル6「RPC」 ←いまここ
今回学ぶこと
- Remote procedure call(RPC)
- Callback queue
- 非同期のCallbackを実行する
Labels:
JavaScript
,
RabbitMQ
2017/03/06
Node.js+RabbitMQでメッセージの送受信をする5(Topics)
仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。
今回はチュートリアル5「Topic」を学ぶ。
今回はチュートリアル5「Topic」を学ぶ。
関連記事
- CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
- チュートリアル1「Hello World」
- チュートリアル2「Work queues」
- チュートリアル3「Publish/Subscribe」
- チュートリアル4「Routing」
- チュートリアル5「Topics」 ←いまここ
- チュートリアル6「RPC」
今回学ぶこと
- 高度なメッセージの振り分け
- Topic Exchange
Labels:
JavaScript
,
RabbitMQ
2017/03/02
Node.js+RabbitMQでメッセージの送受信をする4(Routing)
仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。
今回はチュートリアル4「Routing」を学ぶ。
今回はチュートリアル4「Routing」を学ぶ。
関連記事
- CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
- チュートリアル1「Hello World」
- チュートリアル2「Work queues」
- チュートリアル3「Publish/Subscribe」
- チュートリアル4「Routing」 ←いまここ
- チュートリアル5「Topics」
- チュートリアル6「RPC」
今回学ぶこと
- RoutingKeyによるメッセージの振り分け
- Direct Exchange
Labels:
JavaScript
,
RabbitMQ
2017/02/28
Node.js+RabbitMQでメッセージの送受信をする3(Publish/Subscribe)
仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。
今回はチュートリアル3「Publish/Subscribe」を学ぶ。
今回はチュートリアル3「Publish/Subscribe」を学ぶ。
関連記事
- CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
- チュートリアル1「Hello World」
- チュートリアル2「Work queues」
- チュートリアル3「Publish/Subscribe」 ←いまここ
- チュートリアル4「Routing」
- チュートリアル5「Topics」
- チュートリアル6「RPC」
今回学ぶこと
- Publish/Subscribeメッセージモデル
- Exchange
- Temporary Queues
- Binding
Labels:
JavaScript
,
RabbitMQ
2017/02/24
Node.js+RabbitMQでメッセージの送受信をする2(Work queues)
仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。
今回はチュートリアル2「Work queues」を学ぶ。
今回はチュートリアル2「Work queues」を学ぶ。
関連記事
- CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
- チュートリアル1「Hello World」
- チュートリアル2「Work queues」 ←いまここ
- チュートリアル3「Publish/Subscribe」
- チュートリアル4「Routing」
- チュートリアル5「Topics」
- チュートリアル6「RPC」
今回学ぶこと
- Work Queues
- タスクの負荷分散
- キューとメッセージの永続化
Labels:
JavaScript
,
RabbitMQ
2017/02/22
Node.js+RabbitMQでメッセージの送受信をする1(Hello World)
仕事でRabbitMQまわりの一部システムを担当することになった。フロントエンド畑の人なので、Node.jsをつかってRabbitMQのチュートリアルをテキトーに和訳し、他で得た知識で補足しながら勉強した内容をまとめていこうと思う。
今回はチュートリアル1「Hello World!」を学ぶ。
今回はチュートリアル1「Hello World!」を学ぶ。
関連記事
- CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
- チュートリアル1「Hello World」 ←いまここ
- チュートリアル2「Work queues」
- チュートリアル3「Publish/Subscribe」
- チュートリアル4「Routing」
- チュートリアル5「Topics」
- チュートリアル6「RPC」
今回学ぶこと
- RabbitMQの導入方法
- Node.jsの導入方法
- 基本的なメッセージのやりとり
Labels:
JavaScript
,
RabbitMQ
2017/02/14
CentOS7.3にRabbitMQをインストールしてGUIで管理できるようにする
仕事でRabbitMQを使う機会があった。私自身はフロントエンド畑の人なので、メッセージングシステムの意味はわかるけど使ったことがなかったので、実験用サーバ(CentOS7.3)を用意して勉強してみようと思う。
今後、数回にわけてRabbitMQの基本、インストール、設定、使い方などをブログに書いていく。
今回は、インストール~設定までして、最終的にRabbitMQを使える状態にする。その過程でハマりにハマったので手順として残しておく。
いきなり「RabbitMQをCentOSにインストールした」と書き出したが、そもそもRabbitMQがなんなのか、どんなときに使われるのか説明する。
RabbitMQはAMQPを使用したメッセージ指向ミドルウェア。処理の命令をいったんキューイングして、逐一実行するためのメッセージングシステムのひとつ。
呼び出し側(Producer)がRabbitMQにメッセージを登録しておく。そして、呼び出される側(Consumer)がそのメッセージを受け取り実行する。このようにメッセージングシステムを間に挟むことで、呼び出し側と呼び出される側を完全に分離することができる。
呼び出し側はメッセージを登録しておくだけなのでレスポンスを待つ必要がなく、また呼び出される側もメッセージをひとつひとつ受け取り実行することで負荷分散ができる。またアプリケーションが万が一落ちたとしてもメッセージは残っているので、再起動後に実行できるなど障害にも強くなる。
※Producer/Consumerと書いたが、一般的にはPublisher/Subscriberという
今後、数回にわけてRabbitMQの基本、インストール、設定、使い方などをブログに書いていく。
今回は、インストール~設定までして、最終的にRabbitMQを使える状態にする。その過程でハマりにハマったので手順として残しておく。
RabbitMQ とは
いきなり「RabbitMQをCentOSにインストールした」と書き出したが、そもそもRabbitMQがなんなのか、どんなときに使われるのか説明する。
RabbitMQはAMQPを使用したメッセージ指向ミドルウェア。処理の命令をいったんキューイングして、逐一実行するためのメッセージングシステムのひとつ。
呼び出し側(Producer)がRabbitMQにメッセージを登録しておく。そして、呼び出される側(Consumer)がそのメッセージを受け取り実行する。このようにメッセージングシステムを間に挟むことで、呼び出し側と呼び出される側を完全に分離することができる。
呼び出し側はメッセージを登録しておくだけなのでレスポンスを待つ必要がなく、また呼び出される側もメッセージをひとつひとつ受け取り実行することで負荷分散ができる。またアプリケーションが万が一落ちたとしてもメッセージは残っているので、再起動後に実行できるなど障害にも強くなる。
※Producer/Consumerと書いたが、一般的にはPublisher/Subscriberという
登録:
投稿
(
Atom
)

