12.1ゴーNSQ

12.1ゴーNSQ

行く1.nsq書かれている、オープンソースの分散メモリのメッセージ・キューミドルウェア

日レベルあたりのメッセージ数十億の2.可能な大規模な処理

分散トポロジ3及び中心に、障害のない単一点

4.住所https://github.com/nsqio/nsq

1.1。NSQシナリオ

1.非同期処理、非同期の非クリティカルなプロセス、および応答時間を改善し、システムのロバスト性

メッセージキューを介して、デカップリングの適用に関する事項。

おそらく学生が過去テイクアウト外で含むことができる単一のビジネス・ロジックの下クリック:チェック在庫、請求書を生成し、赤い封筒、SMS通知、実行これらの事業は、同期場合は、シングルレートは、赤い封筒として、完了の下で非常に低くなり、SMS不要な通知プロセス、非同期実行が可能。

この場合、MQの使用、コアプロセスは、MQにメッセージを送信完了後(正味在庫、注文履歴生成)、等であることができ、すぐにこの手順が終了します。消費者は、その後、MQメッセージ、ディスカバリー赤、SMSメッセージ、および処理さを引いたとき。

シーン:デュアル11は、買い物中毒の日で、単一のユーザーの後、システムは受注在庫システムに通知する必要があり、伝統的なアプローチは、インターフェースの在庫システムのためのシステムコールです。

このアプローチは、1つの欠点があります。

  • 在庫システムに障害が発生した場合、注文は失敗します。(馬は...、この多くの、多くのお金をあまりお金を儲けることになります)
  • 発注システムと在庫管理システムの高カップリング。

メッセージキューの紹介

  • 注文システム:単一のユーザー、永続性を完了するための処理システムの後、メッセージキューにメッセージを書き込み、ユーザーが成功した単一の注文を返します。
  • 在庫システム:サブスクリプションの注文ニュースは、次のシングルのメッセージ、ライブラリの動作を取得します。在庫システムに障害が発生した場合でも、メッセージキューだけでなく、メッセージの信頼性の高い配信を確保するために、メッセージが(~~ああに迅速に馬今回幸せ、お金)の損失をもたらすことはありません。

1.2。NSQアーキテクチャの原則

NSQコンポーネント

nsqd        负责接收,保存以及发送消息给消费者,的一个进程
nsqlookupd    负责维护所有nsqd的状态,提供服务发现的进程
nsqadmin    一个web管理平台,实时监控集群以及各种管理任务,(如topic,channel等任务)

チャート

コンセプト

topic主题概念,对应一个具体的队列,如订单数据放到order_queue这个topic
channel概念,每个消费者对应一个channel,实现消息可重复消费

NSQプロパティ

消息默认不持久化,可配置成持久化
每条消息至少传递一次,保证消息不丢失,可能重复消费,需要业务去重
消息不保证有序

1.3。NSQ使用

ダウンロード

https://nsq.io/deployment/installing.html

パッケージ

nsqd 消息发送,存储,转发
nsqlookupd 服务发现
nsqadmin 管理后台

启动步骤:https://nsq.io/overview/quick_start.html

启动nsqlookupd  默认监听4160
启动nsqd --lookupd-tcp-address=127.0.0.1:4160
启动nsqadmin --lookupd-http-address=127.0.0.1:4161

可以访问http://127.0.0.1:4171/lookup看到后台,在Lookup视图创建topic

1.4。トピック/チャネルを作成します。

1.5。NSQ書込みメッセージ

プロデューサー

おすすめ

転載: www.cnblogs.com/open-yang/p/11256962.html