MQTT を使用してリアルタイム・データをストリーミング配信する  

MQTT と Kubernetes を使用して、ニューヨーク州の送電網の炭素強度に関するリアルタイム・データ・ストリームを作成する

| By Sean Dague

Description

MQTT は、効率的にデータを配信するのに最適なリアルタイムのパブリッシュ・サブスクライブ・プロトコルです。MQTT と一連のマイクロサービスを利用すれば、ニューヨーク州の送電網に関する既存のオープン・データを、オープンでリアルタイムのストリーミング・サービスに変換することができます。

Overview

このコード・パターンで取り上げる ny-power プロジェクトでは、一連のマイクロサービスを利用して、ニューヨーク州の送電網のパフォーマンスに関するオープン・データを取り込み、そのデータからおおよその炭素強度レベルを計算します。算出されたデータはリアルタイムの MQTT ストリームで配信して、他のアプリケーションでも簡単に使用できるようにします。このコード・パターンではまた、Helm を使用して Kubernetes 内で一連のデータ処理を管理する方法も説明します。

このコード・パターンを完了すると、以下の方法がわかるようになります。

  • ストリーミング方式でデータにアクセスする必要があるアプリケーション内で MQTT を使用する
  • Helm を使用して Kubernetes アプリケーションをデプロイする
  • MQTT などのクラウド・ネイティブではないサービスを Kubernetes 内でホストする
  • Kubernetes マイクロサービスを利用して、疎結合のデータ処理を行う

Flow

  1. ユーザーが Web サイトにアクセスします。
  2. Web ブラウザーが直接 MQTT サービスにアクセスします。
  3. アプリケーションのデータ・ポンプが毎分 NY ISO をポーリングして新しいデータの有無を確認します。
  4. データが MQTT サービスにプッシュされます。
  5. MQTT サービスにサブスクライブしているアーカイバーが新しいデータのすべてを Influx DB に送信します。
  6. 新しいデータを基に、現在の CO2 / kWh が計算されて、結果のデータと最近の時系列データの両方が MQTT サービスにパブリッシュされます。

Related Blogs

IBM Developer へようこそ

新しい IBM Developer へようこそ! 私たちはこの新しいプロジェクトに大いに張り切っていますが、まずは皆さんについて、つまり開発者についてお話ししたいと思います。

続けて読む IBM Developer へようこそ

Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

みなさまこんにちは! 年々、テレビのニュースや新聞を見て、異常気象による集中豪雨や猛暑が各地で発生していると感じている方は多いのではないでしょうか。自然災害による甚大な被害をもたらしているのは日本だけではありません。「自然災害」は、今、世界が立ち向かうべき最も大きな試練となっています。 IBMは、2018年5月24日、パートナー団体と共に「Call for Code」をいう取り組みを発表し、世界中のデベロッパーが最新の技術を駆使して、コードで世界にポジティブな変化を与える支援をはじめました。 2018年の Call for Code チャレンジでは、「自然災害」をテーマに自然災害を打ち破り、地域社会や自然災害対策を強化を目指し、IBM Cloud サービスを活用したソリューションを構築するコンペティッションを開催します。18歳以上の個人または最大5名までのチームで参加することができます。優勝チームには USD200,000 (2,200万円相当) が贈られます。 これを機に皆さんにも「Call for Code」にご参加いただき、クラウド、データ、AI、ブロックチェーンを活用するためのIBMのテクノロジーにも触れていただければと思います。詳しくはサイトをご覧ください。 Call for Code(日本語サイト) Call for Code への参加するまでの手引き(日本語解説資料) IBM Code Patterns : Watson を活用した AI やクラウドなどのアプリ開発に役立つサンプルコードを提供

続けて読む Call for Code Challenge 2018(9/28応募締切!)- まずは参加登録して、自然災害に役立つ IBM Cloud のサービスに触れてみよう

Related Links

IBM Cloud Kubernetes Service

Kubernetes と Docker の結集された力をアプリに提供することができます。

Data and analytics for insights and visualization

データを保管して分析し、データに関するレポートを作成する場合は、アナリティクス・エンジンを使用して実用的な洞察と視覚化を推進してください。