そんな mq で大丈夫か? - janog | japan network … (activemq) stomp (newtmq) kafka how mq...

24
そんな MQ で大丈夫か? ーより良い MQ の使い所を考えるー 大山 裕泰 (株式会社 DMM.com Labo) 伊東 宏起 (さくらインターネット株式会社) 浅野 航平 (株式会社ワークスアプリケーションズ) JANOG38/day3

Upload: vocong

Post on 08-May-2018

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

そんな MQ で大丈夫か?ーより良い MQ の使い所を考えるー

大山 裕泰 (株式会社 DMM.com Labo) 伊東 宏起 (さくらインターネット株式会社)

浅野 航平 (株式会社ワークスアプリケーションズ)

JANOG38/day3

Page 2: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

はじめに

セッションの目的▸ ユースケースに適した MQ ソリューションの勘所を掴む

▸ MQ 技術について興味を持っていただく

2

Page 3: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

はじめに

全体セッション概要▸ 前提 (MessageQueue) 技術の共有

MQ がどういうもので、何故必要なのかについて紹介

▸ MQ の運用手法について共有ネットワーク機器の運用で利用されている事例 (伊東さん)

ERP システムで利用されている事例 (浅野さん)

3

Page 4: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

はじめに

議論のポイント▸ 紹介する利用事例について、

他の MQ や MQ 以外のソリューションは無いのか?

▸ 今まで別のソリューションを使っているケースにおいて、MQ が使えないか?

4

Page 5: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

自己紹介

大山 裕泰 (OHYAMA HIROYASU) / SOFTWARE ENGINEER

▸ 職歴Ariel Networks (現 Works Applications) > GREE > DMM.com Labo

▸ 登壇歴JANOG33 ゴチャゴチャネットワークの可視化・OAM ~みんなどうやってるの?~

JANOG34 DCネットワークの新時代? ―ホワイトボックススイッチの利用可否―

5

Page 6: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

SO, WHAT IS MQ ?

6

Page 7: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

7

▸ プロセス同士の Message Passing をサポートする仕組み- Queuing モデル

- Pub/Sub モデル

前提技術の共有

WHAT IS MQ ?

PROCESS A

BROKER

PROCESS B

PUBLISHER SUBSCRIBER B

SUBSCRIBER A

SUBSCRIBER C

BROKER

Page 8: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

8

▸ プロセス同士の Message Passing をサポートする仕組み- Queuing モデル

プロセス間で非同期なデータ転送をサポート (両プロセスが同時に起動していない場合の Message Passing を成立させる)

前提技術の共有

WHAT IS MQ ?

PROCESS A PROCESS BBROKER

Page 9: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

▸ プロセス同士の Message Passing をサポートする仕組み- Pub/Sub モデル

“トピック” を共有する複数プロセス間データ転送をサポート(Subscriber の存在を認知さずにデータ配送を実現させる)

9前提技術の共有

WHAT IS MQ ?

PUBLISHER SUBSCRIBER B

SUBSCRIBER A

SUBSCRIBER C

BROKER

Page 10: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

WHY MQ ?

10

Page 11: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

もし MQ が無かったら…11

Page 12: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE B

SERVICE E SERVICE D

REQUEST

SERVICE C

▸ MQ がない世界

12

Page 13: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE BREQUEST

SERVICE E SERVICE D SERVICE C

DATAREQUEST ”REQUEST ”

13

▸ MQ がない世界

Page 14: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE BREQUEST

SERVICE E SERVICE D SERVICE C

DATA

IF THIS IS STOPPED...

WHAT SHOULD IT DO ..?

REQUEST ”REQUEST ”

14

▸ MQ がない世界

Page 15: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE BREQUEST

SERVICE E SERVICE D SERVICE C

DATA

SERVICE F

A NEW SERVICE IS APPEARED !!

REQUEST ”REQUEST ” WHAT SHOULD IT DO ..??

15

▸ MQ がない世界

Page 16: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

MQ がある世界

16

Page 17: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE B

MQ

SERVICE C

▸ MQ がある世界

SERVICE E SERVICE D

REQUEST REQUEST

17

Page 18: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE B

MQ

SERVICE E SERVICE D SERVICE C

▸ MQ がある世界

DATA

REQUEST ”REQUEST ”

REQUEST REQUEST

REQUEST ”

18

Page 19: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE B

MQ

SERVICE E SERVICE D SERVICE C

▸ MQ がある世界

19

DATA

REQUEST REQUEST

REQUEST ”

IF THIS IS STOPPED...

REQUEST ”REQUEST ”

OK, NO PROBLEM

Page 20: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

SERVICE A SERVICE B

MQ

SERVICE E SERVICE D SERVICE C

▸ MQ がある世界

20

DATA

REQUEST ”REQUEST ”

REQUEST REQUEST

REQUEST ”

SERVICE F

REQUEST ”

A NEW SERVICE IS APPEARED !!

OK, NO PROBLEM

Page 21: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

WHY MQ ?

▸ 大規模分散システムのモデルを単純化できる - システムを High Available にできる- システムを Scalable にできる

21

Page 22: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

OVERVIEW OF MQ

22

Page 23: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

前提技術の共有

OVERVIEW

▸ 各種プロトコルと実装について

23

Queuing Pub/Sub

AMQP (RabbitMQ) ◯ ◯

MQTT (ActiveMQ) ❌ ◯

STOMP (NewtMQ) ◯ △

Kafka ◯ ◯

Page 24: そんな MQ で大丈夫か? - JANOG | JApan Network … (ActiveMQ) STOMP (NewtMQ) Kafka HOW MQ USE ? 24 Title event Created Date 7/8/2016 12:52:16 AM

HOW MQ USE ?

24