English

リンク

メッセージングシステムの概念

SINETStreamは トピックベースのPublish/Subscribeモデル のメッセージングシステムである。 Brokerを実現するバックエンドのメッセージングシステムとしてKafkaまたはMQTTを利用している。

SINETStreamではPublisherをWriterと呼び、SubscriberをReaderと呼ぶ。

メッセージングシステムの概念図

Brokerの構成情報やBrokerとの通信パラメータをまとめたものをSINETStreamではサービスと呼ぶ。 WriterやReaderはサービスを指定するだけでブローカーに接続してメッセージの送受信ができる。

トピックとはブローカーにおける論理的なチャンネルであり、 Writer/Readerはトピックを指定してメッセージの送受信を行うことで異なる種類のメッセージ配信を1つのブローカー上で行える。

ファイル構成

動作環境

Python/Java版

Python/Java版のSINETStream APIは、以下のプログラム言語で実装される。

Python/Java版のSINETStreamは、以下のメッセージングシステムに対応する。

Python/Java版のSINETStreamが対応するOS条件は以下の通り。

Android版

Android版のSINETStream APIは、以下のプログラム言語で実装される。

Android版のSINETStreamは、以下のメッセージングシステムに対応する。

Android版のSINETStreamが対応するOS条件は以下の通り。

準備

Python/Java版

SINETStreamでは、Brokerを実現するバックエンドのメッセージングシステムとしてKafkaまたはMQTTを利用している。 そのため、SINETStreamとともに、これらのメッセージングシステムのどちらかをインストールする必要がある。 チュートリアルパッケージでは、Dockerコンテナを利用して必要なソフトウェア一式(SINETStream, Kafka, MQTT)をインストールする方法を用意している。

  1. Kafkaブローカーの設定
  2. MQTTブローカーの設定
  3. SINETStreamのインストール
    • Python: pip3 install --user sinetstream-kafka sinetstream-mqtt
    • Java: Java版READMEを参照

Dockerコンテナをつかった クイックスタートガイド (Python/Java版) も参考のこと。

Android版

Android版のSINETStream APIは、メッセージングシステムのうちMQTTのみに対応し、 クライアント機能(WriterReader)を提供する。 このため、Android版のSINETStreamクライアントと対向するバックエンド側のBrokerはMQTT一択となる。 上記Python/Java版の記述内容に沿って導入したバックエンドに関して、 MQTTブローカー部分をAndroid対向用に流用することで構わない。

Dockerコンテナをつかった クイックスタートガイド (Android版) も参考のこと。

ライセンス

Apache License, Version 2.0.