CLOVER🍀

That was when it all began.

Kafka

Spring Cloud StreamのReactive Programming Supportで遊ぶ

Spring Cloud Streamには、Reactor…Reactive Programmingに対するサポートがあります。Programming Model / Reactive Programming Support今まで、Reactiveでない方のAPI(詳細見てませんけど、対比してなんて言うんだ?)を使ってばかりでしたが、今回はRea…

Apache Kafkaで、実行中にBrokerを落とした時のProducer/Consumerの挙動を確認する

こちらの続きで、Apache Kafkaで、ProducerやConsumerを実行中にBrokerを落とした時にどうなるか、その挙動を見てみようと 思います。Apache Kafkaで、実行中にBrokerを追加した時のProducer/Consumerの挙動を確認する - CLOVER 環境とお題 基本的には、前…

Apache Kafkaで、実行中にBrokerを追加した時のProducer/Consumerの挙動を確認する

Apache Kafkaで、ProducerやConsumerを実行中にBrokerを追加した時にどうなるか、その挙動を見てみようと思います。 環境とお題 利用する、Apache Kafkaのバージョンは1.1.0とします。Apache ZooKeeperをひとつ、Apache KafkaのBrokerを以下のような体系で用…

Apache KafkaのConsumerを、特定のパーティションに手動で割り当てる

前に、Apache KafkaのConsumer Groupを試して動きを確認したことがあるのですが、ちょっと趣向を変えて、Consumerに対してパーティションを 指定して割り当ててみたいと思います。きっかけは、ドキュメントのこの絵。 Consumersこの絵のように、Consumer Gro…

Reactor Kafkaで遊ぶ

ReactorのApache Kafka向けのライブラリとして、Reactor Kafkaというものがあります。GitHub - reactor/reactor-kafka: Reactive Kafka Driver with Reactorこちらを使って、Apache Kafkaにアクセスしてみましょう。 Reactor Kafka? Reactor Kafkaは、Apach…

Apache KafkaでConsumerのCommitとProducerのTransactionを試す

Apache KafkaのJavaクライアントを使ったプログラムを書く時、いつもAuto Commitでやっていたので、ちょっと他のパターンも 試してみようかと思いまして。見てみると、ConsumerでCommit、ProducerではTransactionが使えるようです。参考) Design / Message …

初めてのKafka Streams

Apache Kafkaに含まれる、Apache Kafkaを使ったストリーム処理向けのライブラリ、Kafka Streamsを試してみます。Kafka Streamsについては、こちら。 Kafka Streams参考にした日本語情報。 Kafka StreamsをSpring Bootで試してみた - Mitsuyuki.Shiiba噛み砕…

Apache KafkaをKafka Topics UIで見てみる

ちょっと前なのですが、JJUG CCC 2017 Fallの時に@bufferingsさんの発表を見ていて、内容以外で気になっていたことがありまして。Spring BootとKafkaでCQRSそれは、「あのKafkaを操作しているUIなに??」すごく便利そうだったので、内容以外にもずーっとそ…

Apache Kafkaで、クラスタメンバーの増減とPartitionの再割り当てをやってみる

Apache Kafkaでクラスタのメンバーの増減や、Partitionの再割り当てみたいなことをやってみたいなぁと思い、ちょっと 試してみることにしました。 環境 Apache Kafkaのバージョンは、0.11.0.1とします。また、Apache ZooKeeper、Apache Kafka(Broker)のIP…

Apache Kafkaに、JavaScript(Node.js/kafka-node)からアクセスしてみる

Apache Kafkaに対して、たまにはJava以外からもアクセスしてみようかなと、JavaScriptのクライアントを試してみることにしました。今回使ったのは、こちら。kafka-node - npmGitHub - SOHU-Co/kafka-node: Node.js client for Apache Kafka 0.8 and later.Pr…

Spring Cloud Stream(+Apache Kafka)でDead Letter Queueを試す

Spring Cloud Streamでは、Binderのエラーハンドリングの仕組みとして、Dead Letter Queueというものがあります。Event Driven Microservices with Spring Cloud Stream #jjug_ccc #ccc_ab3 / Error HandlingRabbitMQにDead Letter Exchanges(DLX)というも…

Apache Kafka(とApache ZooKeeper)をEmbeddedに使う

最近、Apache Kafkaで遊んでいますが、こう使っているとEmbedded(組み込み)で動かしてみたくなるもの。テストとかで 使ったりとか。なんかできそうだという感じだったので、チャレンジしてみました。こちらに書いてありましたので。Unit testing / How do …

Apache KafkaのConsumer Groupを試す

Apache Kafkaには、Consumer Groupという概念があります。Introduction / ConsumersConsumerにラベル付けをすることで、Consumerをグルーピングします。こうすることで、Brokerから配信されるレコードが、そのConsumer Group内の ひとつのConsumerに配信され…

Apache Kafkaでクラスタを構成してみる

Apache KafkaをしばらくSingle Nodeで扱ってきましたが、そろそろクラスタを構成してみたいと思います。クラスタの構成の仕方は、Apache Kafkaのドキュメント、Quick Startを見ると書いてあったりします。Quick Start / Step 6: Setting up a multi-broker c…

Apache Kafkaのkafka-console-producer.shでキーを指定する

Apache Kafkaには付属のツールとして、コンソールを使ったProducer/Consumerが付いています。このうち、Producer(kafka-console-producer.sh)を使った時に、キーを指定してみようというお話。まずは、Apache Kafkaのクラスタを用意します。Brokerは3つ、A…

Spring Cloud Stream(+Apache Kafka)で、Partition Supportを試す

前に、Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の動作を見てみました。Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の挙動を確認する - CLOVERこの時にも少しパーティションは使っていたのですが、今回はより…

kafka-managerをインストールする

Apache Kafkaを管理するためのツールとしてkafka-managerというものが便利らしいので、kafka-managerを インストールして簡単に確認してみます。GitHub - yahoo/kafka-manager: A tool for managing Apache Kafka.今回使用するkafka-managerのバージョンは、…

Spring Cloud Stream+Apache Kafkaで、Consumer Groupを設定した時の挙動を確認する

Spring Cloud Streamの設定のうち、以下の部分ですが spring.cloud.stream.bindings.input.group= spring.cloud.stream.bindings.<channelName>.group=指定した方がいいよーという話は見るものの、効果のほどを自分で確認したことがなかったので、 気になって見てみること</channelname>…

Apache KafkaのQuickstartのサンプルを、JavaのClient APIで書き直してみた

Apache KafkaのClient APIを使った、いわゆる「Hello World」的なことを試してみよう…と思ったのですが、 ドキュメントを見てもそれほど書いてありません。Documentation / APISMaven Dependencyと <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>0.10.2.0</version> </dependency> Configuration…

Ubuntu Linuxに、Apache Kafkaをインストールする

今後の勉強にあたり、Apache Kafkaを使ってみようかなと思いまして。まずは、Apache Kafkaをインストールしてみたいと思います。Apache Kafkaまた、参考にしたサイトはこちら。Apache Kafka, 他とは異なるメッセージングシステムシシド・カフカさんが気にな…