20150726 iotってなに?ニフティクラウドmqttでやったこと

92
IoTってなに? MQTTができること JulyTechFesta 2015 産業技術大学院大学 品川 2015/07/26 ニフティ株式会社

Upload: daichi-morifuji

Post on 17-Aug-2015

1.822 views

Category:

Internet


1 download

TRANSCRIPT

Page 1: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IoTってなに? MQTTができること

JulyTechFesta 2015 産業技術大学院大学 品川

2015/07/26 ニフティ株式会社

Page 2: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

お詫び

2

「MQTTができること」でしたが、 「ニフティクラウド MQTTの仕組み」の ほうが受けるかと思って内容を変えました。

Page 3: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

自己紹介

3

森藤 大地@muddydixon ニフティ9年目 モバイル・IoTビジネス部

JavaScript / Perl データ前処理 / データ解析 時系列予測 / データ可視化 IoT new

Page 4: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

自己紹介

4

森藤 大地@muddydixon ニフティ9年目 モバイル・IoTビジネス部

JavaScript / Perl データ前処理 / データ解析 時系列予測 / データ可視化 IoT new

Page 5: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

自己紹介

5

森藤 大地@muddydixon ニフティ9年目 モバイル・IoTビジネス部

JavaScript / Perl データ前処理 / データ解析 時系列予測 / データ可視化 IoT new

危ない!

バズワードだ!

Page 6: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

6

はい

Page 7: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

コンテンツ

7

IoTって? MQTTって 向いてる状況/向いていない状況 ニフティクラウド MQTTの作り方

Page 8: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

8

IoTの現状おさらい

Page 9: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

世の中のIoT化の流れ

9

IoT Internet of Thingsモノのインターネット

家庭・産業の色々なものがネットにつながる!

Page 10: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

10

Sensoria歩数・距離・スピードなどの他にも、足の体重バランスなども記録され「かかとに負担が大きな走り方」や「左足にバランスが偏っている」などを把握できる。

血糖値の管理をより手軽でスマートに。コンピュータやスマートフォンと接続することで、リアルタイムのデータを活用しながら治療を行う。

Lumo Back

活動量計のほかにヨガやボクシング、スイミング、ランニングなどのモーションについてのコーチングも行ってくれる。

背中につけたセンサーが姿勢の悪いときに振動して教えてくれる。また消費カロリーや睡眠トラックも可能。

Moov

Phyode脈拍や呼吸をトラッキングすることにより心理状態をモニタリング。精神を整えるエクササイズもすることができる。

MisfitWearablesウェアラブルデバイスを、目立たずおしゃれに身につけることを目指しているデバイスメーカー。

Pancreum

ウェアラブルデバイス・サービスは多種多様海外ベンチャーはIoTを強烈に意識

Page 11: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

11

IoTの適用が急速に拡大中Droneで配送 Amazon Prime Air

自動運転 Google self-driving car project

IoTのDIYセンサー・制御ガジェット Smart Things

ホーム・オートメーション SUITE SMARTHOME

Page 12: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IoTは期待のピークに

12

出典:ガートナー先進テクノロジのハイプ・サイクル: 2014年http://www.gartner.co.jp/press/html/pr20140903-01.html

さまざま企業が今後IoTを意識してビジネスを展開

Page 13: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

国内IoT市場も拡大

13

出典:IDC Japan株式会社 国内IoT(Internet of Things)市場予測を発表http://www.idcjapan.co.jp/Press/Current/20150205Apr.html

2019年には16.4兆円に達する見通し

2014年売上規模は9.4兆円

Page 14: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティも参入しました

14

Page 15: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティも参入しました

15

Page 16: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティも参入しました

16

Page 17: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

17

はい

Page 18: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

この辺りを考えています

18

Page 19: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT

19

Page 20: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT とは

20

MQTT ブローカーをコンパネ上で作成できるサービス 2015年5月11日 リリース

Page 21: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

いいところを説明する前に

21

こんなストーリー

Page 22: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IoTデバイスがあるじゃろ

22

Page 23: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

例えば

23

情報(BLE)

位置情報クーポンとか

情報(BLE)情報(BLE)

Page 24: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

例えば

24

センサ情報(BLE) たくさん

コンテンツ アップロード

Page 25: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IoTデバイスがあるじゃろ

25

3G/4G でクラウドにアップするじゃろ

Page 26: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IoTデバイスがあるじゃろ

26

位置情報 緯度経度なら8byte 温湿度 2byteあれば足りる (精度によります) 加速度 2byte * 3軸あれば足りる (精度によります)

Page 27: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IoTデバイスがあるじゃろ

27

数バイトのデータを送るときに http://hoge.com (15byte)以上あるヘッダ情報ってコスト高くないですか?

Page 28: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

28

Page 29: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

29

MQTT is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.

MQTT は machine-to-machine (M2M) / “Internet of Things” 接続性の高いプロトコルです。非常に軽量な publish/subscribe 型のメッセージ転送として設計されました。コードのフットプリントが小さいこと、かつ/またはネットワーク転送が非常に高い場合のリモートコネクションの時に有効です。

とは

Page 30: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

30

MQTT is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.

MQTT は machine-to-machine (M2M) / “Internet of Things” 接続性の高いプロトコルです。非常に軽量な publish/subscribe 型のメッセージ転送として設計されました。コードのフットプリントが小さいこと、かつ/またはネットワーク転送が非常に高い場合のリモートコネクションの時に有効です。

とは

Page 31: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

31

MQTT is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.

MQTT は machine-to-machine (M2M) / “Internet of Things” 接続性の高いプロトコルです。非常に軽量な publish/subscribe 型のメッセージ転送として設計されました。コードのフットプリントが小さいこと、かつ/またはネットワーク転送費が非常に高い場合のリモートコネクションの時に有効です。

とは

Page 32: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

32

IoTに適した PubSub 型メッセージ転送 下記の条件に適している 貧弱なハードリソース(フットプリントが小さいため) ネットワーク費用が高い

とは

Page 33: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

33

の特徴

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

PubSub型 メッセージ転送 ※ただしサーバ(broker)は必要

Page 34: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

34

の特徴

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

接続コストは別 ssl 張るとコスト回収しないといけない

通信ごとに2バイトのヘッダですむ http は都度 headers が必要なので高い!

ペイロードがでかいと考えるだけ無駄 2MB送るときに数バイトの事考える?

Page 35: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

35

の特徴

中心にサーバを置いたスター型 Brokerが必要・誰かが運用

M:N のデバイスに対して通信路がN*MではなくN+Mで済む クライアントへのブッコミが可能!

PubSub型 メッセージ転送 ※ただしサーバ(broker)は必要

Page 36: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

36

すごい!

Page 37: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

例えば

37

位置情報クーポンとか

情報(BLE)情報(BLE)情報(BLE)

Page 38: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

例えば

38

コンテンツ アップロード

センサ情報(BLE) たくさん

Page 39: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

39

すごい!

Page 40: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

40

事例紹介

Page 41: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

MQTT の事例

41

https://github.com/mqtt/mqtt.github.io/wiki/Example%20Uses

Page 42: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

42

https://github.com/mqtt/mqtt.github.io/wiki/Example%20Uses

MQTT の事例Facebook Messenger

たかだか数バイトのヘッダですが件数が半端無いのでコスト削減ができる!

Page 43: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

IECC Scalable

43

https://github.com/mqtt/mqtt.github.io/wiki/Example%20Uses

各種のセンサ情報・時間解像度高く送るのでコスト削減!

Page 44: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

家の電気を管理する

44

ON/OFF の 1bit 情報を送るのにHTTPヘッダは高コスト = MQTT の最小2バイト!

http://chris.yeoh.info/2010/11/05/controlling-the-house-lighting-via-mqtt/

Page 45: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

災害検知・ブロードキャストシステム

45

氾濫原や川の水位を監視し、それを通知するシステム (それぞれの情報はある数バイトの数値・位置データ

http://mobile4d.capacitylab.org/

Page 46: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

怪しい事例も・・・

46

実家の電力量が増えると青く、家の電力量が増えると赤く光るだけのおもちゃ

Page 47: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

47

の特徴

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

PubSub型 メッセージ転送 ※ただしサーバ(broker)は必要

非力なデバイス 電池交換が手間 電波状況が悪い 通信が頻繁

Page 48: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

48

の特徴PubSub型メッセージ転送

※ただしサーバ (broker)は必要

非力なデバイス 電池交換が手間 電波状況が悪い 通信が頻繁

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

Page 49: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

49

の特徴PubSub型メッセージ転送

※ただしサーバ (broker)は必要

非力なデバイス電池交換が手間電波状況が悪い通信が頻繁

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

Page 50: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

50

の特徴PubSub型メッセージ転送

※ただしサーバ (broker)は必要

非力なデバイス電池交換が手間電波状況が悪い通信が頻繁

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

Page 51: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

51

の特徴PubSub型メッセージ転送

※ただしサーバ (broker)は必要

非力なデバイス電池交換が手間電波状況が悪い通信が頻繁

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

管理するの誰!?

Page 52: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT

52

Page 53: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

53

DEMO

Page 54: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT の特徴

54

同時接続数 メッセージ数 スループット メッセージサイズ他社A (無料) 6 50,000/月 - 6KB他社A (500円/月) 50 120,000/月 - 50KB他社B (無料) 10 - 10Kbit/Sec -他社B ($299/月) 10,000 - 10Mbit/Sec -NIFTY Cloud MQTT 100 無制限 50KB/Sec

Will Retain QoS TLS WebSocket WebSocket Secure サポート他社A (無料) ✔ ✔ 0 - ✔ - -他社A (500円/月) ✔ ✔ 0,1,2 ✔ ✔ ✔ ✔

他社B (無料) ✔ ✔ 0 ✔ - ✔ ✔

他社B ($299円) ✔ ✔ 0 ✔ - ✔ ✔

NIFTY Cloud MQTT ✔ ✔ 0,1,2 ✔ ✔ ✔ -

Page 55: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT の特徴

55

同時接続数 メッセージ数 スループット メッセージサイズ他社A (無料) 6 50,000/月 - 6KB他社A (500円/月) 50 120,000/月 - 50KB他社B (無料) 10 - 10Kbit/Sec -他社B ($299/月) 10,000 - 10Mbit/Sec -NIFTY Cloud MQTT 100 無制限 50KB/Sec

Will Retain QoS TLS WebSocket WebSocket Secure サポート他社A (無料) ✔ ✔ 0 - ✔ - -他社A (500円/月) ✔ ✔ 0,1,2 ✔ ✔ ✔ ✔

他社B (無料) ✔ ✔ 0 ✔ - ✔ ✔

他社B ($299円) ✔ ✔ 0 ✔ - ✔ ✔

NIFTY Cloud MQTT ✔ ✔ 0,1,2 ✔ ✔ ✔ -

同時接続数

100

メッセージ数

/サイズ 無

制限(※)

※ Pub/Su

b 合計スルー

プットでの制

Page 56: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

56

宣伝 終わり

Page 57: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

57

の特徴 (再掲)

1通信ごとの ヘッダが最小2バイト

※ただし接続時コストは別

PubSub型 メッセージ転送 ※ただしサーバ(broker)は必要

非力なデバイス 電池交換が手間 電波状況が悪い 通信が頻繁

Page 58: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

MQTTに向いているケース / 向いていないケース

58

Not非力デバイス 電池交換が不要 有線LAN 日に数回の通信 でかいペイロード 画像とか・・・

非力なデバイス 電池交換が手間 電波状況が悪い 通信が頻繁 小さなデータ

向いている 向いてない ※使ってもいいけど、別の方法もある

Page 59: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

一旦まとめ

59

アイデア次第でいろいろできるIoTを駆使したサービスを考えて、コストはニフティクラウドMQTTで抑えると素晴らしいのではないでしょうか!

Page 60: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

企業のIoTビジネスを推進する専門チームェ

60

Page 61: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

61

ここからが本番です ニフティクラウド MQTT

Page 62: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT の中身

62

Page 63: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT の中身

63

LB

API API

DOCKERMQTT

MQTT

MQTT

MQTTAuth/ACL

Page 64: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT の中身

64

このひとなんなの・・・・

Page 65: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

MQTT Broker 検証

65

Mosquitto: スタンダード RabbitMQ: 自社運用実績あり Mosca: (個人的に)改良しやすい SurgeMQ: 爆速

Page 66: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ベンチマーク

66

環境ニフティクラウド Ubuntu 14.04 / Docker 1.5

ブローカ mosquitto (c)

209fe5e5af65ceeaafc2abb104499195a3f437ed

rabbitmq (erlang) rabbitmq_v3_4_4 plugin: rabbitmq_mqtt

mosca (javascript) 0.28.0 / 25f7308943f327809f48e06450ff28dab3ec39b6

surgemq (golang) dc3b2383a9358d3ec5c957dbd56939715c72eb68

ベンチツール (違うツールも見たいけど時間がが) surgemq/benchmark

Page 67: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ベンチ結果

67

実装 publish subscriber

mosquitto 41906 41906

mosca 7134 7134

rabbitmq 8762 8762

surgemq 368816 368816

実装 publish subscriber

mosquitto 99182 99182

mosca 7944 7944

rabbitmq 13389 13389

surgemq 6562087 6562087

sub=1/pub=1 sub=1/pub=20

実装 publish subscriber

mosquitto 5944 118890

mosca ※1050 ※ 21010

rabbitmq 817 16348

surgemq 29410 588200

実装 publish subscriber

mosquitto 19174 191740

mosca ※1757 ※17578

rabbitmq ※3239 ※12897

surgemq 71282 712820

sub=20/pub=1 sub=10/pub=10

msg size=1kb, msg num=5000 https://github.com/surgemq/surgemq/

Page 68: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

surgemqすげぇ・・・

68

message/seconds

0

1750000

3500000

5250000

7000000

pub=1/sub=1 pub=1/sub=20 pub=20/sub=1 pub=10/sub=10

mosquitto mosca rabbitmq surgemq

Page 69: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ただし

69

surgemqはもろもろ機能が足りていない 開発も手が止まっている状態

Page 70: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ベンチ結果と機能要件から

70

Mosquittoを選定 surgemqは開発途上 Mosquittoが機能的にも揃っている retain, qos, will, tls, ws plugin

性能も高い

Page 71: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto on Docker にあたって

71

追加の機能要件 userの動的変更 topic aclの動的変更 containerの識別 Auth pluginのhttps対応 resourceの管理

同時接続数やメッセージ数ではなくThroughput

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 72: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto on Docker にあたって

72

追加の機能要件 userの動的変更 topic aclの動的変更 containerの識別 Auth pluginのhttps対応 resourceの管理

同時接続数やメッセージ数ではなくThroughput

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 73: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto-auth-plug

73

Mosquitto-auth-plug https://github.com/jpmens/mosquitto-auth-plug

多彩な認証ドライバ MySQL, PostgreSQL, CDB, SQLite3 Redis, LDAP, HTTP, MongoDB

認証/su認証/aclチェックも可能

Page 74: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto on Docker にあたって

74

追加の機能要件 userの動的変更 topic aclの動的変更 containerの識別 Auth pluginのhttps対応 resourceの管理

同時接続数やメッセージ数ではなくThroughput

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 75: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto-auth-plugの課題(1)

75

情報足りない問題

Auth-plugから送信される情報 username:password

containerの識別ができない!!

Page 76: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto-auth-plugの課題(1)

76

対応しました https://github.com/jpmens/mosquitto-auth-plug/pull/64

設定書いたら環境変数が渡るようにした

こう書くと

こんなかんじでHTTPの 認証サーバに問い合わせが行く

auth_opt_http_getuser_params domain=DOMAIN,port=PORT auth_opt_http_superuser_params domain= DOMAIN,port=PORT auth_opt_http_aclcheck_params domain= DOMAIN,port=PORT

data=domain=example.com&port=8080&username=xxx&password=ax&topic=&acc=-1

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 77: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto on Docker にあたって

77

追加の機能要件 userの動的変更 topic aclの動的変更 containerの識別 Auth pluginのhttps対応 resourceの管理

同時接続数やメッセージ数ではなくThroughput

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 78: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto-auth-plugの課題(2)

78

HTTP認証でHTTPS対応してない

Page 79: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto-auth-plugの課題(2)

79

対応しました https://github.com/jpmens/mosquitto-auth-plug/pull/73

こう書くと

こういうふうに

HTTPSで飛ぶ

auth_opt_http_with_ssl true

https://example.com:443/auth/

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 80: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

これらの対応で

80

mosquitto-auth-plug + patch 2で動的に認証ユーザの変更・動的にACLの変更に対応 ちなみに(おそらく)同一の構成を持つCloudMQTTは、Userを変更したり、ACLを変更すると再起動がかかる

Page 81: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto on Docker の課題

81

追加の機能要件 userの動的変更 topic aclの動的変更 containerの識別 Auth pluginのhttps対応 resourceの管理

同時接続数やメッセージ数ではなくThroughput

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 82: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto本体の問題

82

無限に使われた困る問題 デフォルトで存在するリソース制約 max_queued_messages max_inflight_messages message_size_limit max_connection

Dockerでかけられるリソース制約 CPU memory

http://mosquitto.org/man/mosquitto-conf-5.html

Page 83: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

戦略として

83

sang◯とかCl◯udMQTTを使ってるトライアルユーザに乗り換えてほしい 十分に遊べる接続数/遊べるメッセージ数

同時接続数は100と他社と差をつけた! メッセージ数・・・メッセージサイズ・・・

Page 84: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

戦略として

84

sang◯とかCl◯udMQTTを使ってるトライアルユーザに乗り換えてほしい 十分に遊べる接続数/遊べるメッセージ数

同時接続数は100と他社と差をつけた! メッセージ数・・・メッセージサイズ・・・

めんどくさい!スループットでいいよ!

Page 85: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

Mosquitto本体の問題

85

Throughputの計測とそれによる制約パッチ 取り込まれ待ち

たくさん送ったら一定時間メッセージが送れなくなる仕様

http://git.eclipse.org/c/mosquitto/org.eclipse.mosquitto.git/commit/?id=944b9e0d

mosquittoの本家repoが eclipseでうざい

LB

API API

DOCKER

MQTT

MQTT

MQTT

MQTTAuth/ACL

Page 86: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

ニフティクラウド MQTT

86

これらの対応により無事リリースできました

Page 87: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

MQTTリリースにあたって辛かったところ

87

リリース期間の短さ MQTTの用途の見えなさ

Page 88: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

MQTTリリースにあたって辛かったところ

88

リリース期間の短さ MQTTの用途の見えなさ

Page 89: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

MQTTリリースにあたって辛かったところ

89

リリース期間の短さ MQTTの用途の見えなさ Vのヒトのマサカリ

Page 90: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

90

enjoy MQTT enjoy IoT

enjoy ニフティクラウド (トライアルカードあります)

Page 91: 20150726 IoTってなに?ニフティクラウドmqttでやったこと

We are hiring!!

91

ニフティでは IoTの「T(デバイス)」側やりたいヒト IoTの「I(インターネット)」側やりたいヒト

募集しています

R&Dもできます! 海外渡航制度など! CROSSみたいなイベント もできます!

Page 92: 20150726 IoTってなに?ニフティクラウドmqttでやったこと