cloud design pattern #4 compensating consumers_エンジニア勉強会20140917

Post on 19-Jun-2015

185 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

2014/9/12 エスキュービズム社内勉強会時に使用した資料になります。

TRANSCRIPT

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

Cloud Design Pattern#4 Compensating Consumers

2014/9/12

http://azure.microsoft.com/ja-jp/

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

カテゴリ

可用性

データ管理

設計および実装

メッセージング

管理および監視

パフォーマンスおよびスケーラビリティ

回復性

セキュリティ

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

概要

非同期処理の交通整理

同時実行している複数のコンシューマが、受信したメッセージを同一のメッセージングチャネルで処理することを可能とする。

システムが複数のメッセージを並行して処理できるようにし、スループットの最適化、スケーラビリティと可用性の改善、負荷分散を実現します。

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

概要

http://msdn.microsoft.com/en-us/library/dn600223.aspx

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

いつ使うか

・タスクが独立して、並行して実行可能な処理系

・タスクの作業量(時間)が変動しやすく、スケーラブルなソリューションが必要なとき

・可用性を高めたいとき(at least onceを保証したい)

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

例:レポーティングサービスの場合

ECサイトの結構がっつりな分析レポートを出力する機能の場合。

出力ボタンをポチると、登録してあるメールアドレスに対してレポートが添付されて送付されてくる。という仕組み。

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

構成/動作

フォーム Web APP

(Front)

Web APP

(Back)

DB

Message

Queue

Reporting

Task

①click!click!click!!!

③put messages

(id=1)

④get messages

(id=1)

②insert data

(id=1)⑤select data

(id=1)

⑥send mail w/ reports

http://blog-imgs-31.fc2.com/h/i/m/himastime/kumukumu1.jpg

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

構成/動作

フォーム Web APP

(Front)

Web APP

(Back)

DB

Message

Queue

Reporting

Task

①click!click!click!!!

③put messages

(id=1)

④get messages

(id=1)

②insert data

(id=1)⑤select data

(id=1)

⑥send mail w/ reports

レスポンス待たなくて良い!

フロントへ負荷の影響がない!

http://blog-imgs-31.fc2.com/h/i/m/himastime/kumukumu1.jpg

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

サービスプロバイダ

Service Bus Queue

メッセージキュー

Amazon SQShttp://aws.amazon.com/jp/sqs/

http://azure.microsoft.com/ja-

jp/documentation/services/service-bus/

http://cloud.nifty.com/service/mq.htm

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

補足

考え方と実装は、割と前からある

クラウドが普及する

→ 分散システムにさらにスポットが当たる

→ クラウド環境での実装が求められる

→ 汎用的だし、PaaSで作っちゃう

→ あざーす(ユーザ)

http://www.rabbitmq.com/

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

留意事項

1.順序保証はサービスによって異なる厳密なFIFOでなかったりする。

2.メッセージキュー自体のスケーリングを意識するPaaSで担保されてる?

3.タスクの処理結果に対する設計が必要プロセスが別なので。

メールなのか、ajaxで監視するのか。

Copyright © 2014 by S-cubism Technology Inc. All rights reserved.

まとめ

非同期処理の交通整理

同時実行している複数のコンシューマが、受信したメッセージを同一のメッセージングチャネルで処理することを可能とする。

システムが複数のメッセージを並行して処理できるようにし、スループットの最適化、スケーラビリティと可用性の改善、負荷分散を実現します。

top related