kafkaはいろいろなストリームサービスで使われている。
* 目次 [#f86d0707]
#contents

スケールアップの仕組みがあり、大規模化することがあらかじめ設計されている。twitterで使われている。
* このページの目的 [#y832fcb5]

知りたいことや、調べたことや、実験したことをメモしていく
自分のkafka勉強メモです。

Kafkaとは、だれだら流れてくるデータの受け渡しに特化したフレームワークです。

** 参考 twitterのシステムデザイン [#eb59eeb8]
https://pbs.twimg.com/media/FhcfAhnVIAA5ouG?format=png&name=large
これに対してREST通信は、注文リクエストなどのデータ受けわたしが向いていると思います。日本ではREST通信を使った実装の経験者ばかりで、kafkaの導入を提案しても、握りつぶされることがほとんどです。


*** 感想 [#kf2fdb98]
ユーザのデバイスとSocket通信をひらいて、やり取りするのにつかわれている
* 環境構築 [#y4ca4be3]

kafkaで集めたデータをsparkで大規模なデータとして蓄えてAIで処理させる準備をしているのかな?
JHipsterでできるところまで構築してみる

 jhipster

といれると、コマンドラインで以下の質問される

 Apache Kafka as asynchronous messages broker

これを選ぶとKafkaを非同期のメッセージ受け渡し口として利用できるようにセットアップしてくれる。

 npm install

で、

 node_modules

がインストールされる

アプリを立ち上げるのに必要なdocker-composeを立ち上げる
とおもったら、このアプリをdockerのイメージにした場合までも想定したdocker-composeファイルだったので、このアプリのdocker-composeのイメージ読込部分はコメントアウトして、without_app.yamlとした。

内容としては、DBとkafka関連が同時に起動するyamlファイルとなっている。

 docker-compose -f src/main/docker/without_app.yml up -d


 
* spring-bootアプリケーションを実行 [#x108d7d3]
spring-bootなので、IDEのSTSにプロジェクトをインポートしてspring-bootアプリケーションを実行してみる

起動するところまでは確認した。


* データを受信 [#y3c98266]

* データを送信 [#v23e03f3]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS