とあるIT屋の独白

ITや経営について主に書きます

Apache Kafkaとは何か

最近、仕事でApache Kafkaを触ることになって、その内容についてメモ書きですが今回書いてみたいと思います。
まずKafkaとはなんぞやという話ですが、一言でいうとデータ(メッセージ)のブローカーです。下記の記事に分かりやすくまとめられています。

Apache Kafka ―入門からTrifectaを用いた可視化まで―】
https://qiita.com/travelist/items/06ccf4859620d244026

実際に私が今いる現場では、Webサーバにアクセスされるログの中継です。最終的にログは集計してレポーティングするのですが、リアルタイムでどんどん溜まるログをすぐに集計するのは困難なので、一回Kafkaをはさんでから一定時間の単位で集計するという形です。
さて、もう少し細かい仕様などは下記の記事にまとめられています。メッセージはTopicと呼ばれるデータの形式を定めたものを介して、Producer(出力側)とConsumer(受取側)でやりとりします。このデータのやり取りをする際のブローカーの処理が高速であることも、kafkaの特徴として挙げられています。

Apache Kafkaに入門した】
https://deeeet.com/writing/2015/09/01/apache-kafka/

最近だとAWSでkafkaが使えるサービスが、発表されたそうです。AWSでも独自のブローカーサービスはあるそうですが、kafkaを使っているデベロッパーが圧倒的だそうで今回対応したとのこと。


AWSがマネージドKafkaサービスをローンチ、難しいセットアップや管理からデベロッパーを解放】
https://jp.techcrunch.com/2018/11/30/2018-11-29-aws-launches-a-managed-kafka-service/