Member-only story

Kafkaを用いた非同期通信によるスケーラビリティの高いマイクロサービスアプリケーションのデモ

gavin.zhou
Oct 30, 2020

--

シリーズの内容

本連載では、異なる技術を使って同じScalable Microservice Applicationを作成しています。

1.(この記事)

2.AWS Lambda Kinesisを使ったスケーラブルなサーバレスマイクロサービスのデモ

3.KnativeとKafkaを使ったスケーラブルなサーバレスマイクロサービスのデモ(計画通り)

What’s this about?

Kubernetes、Istio、Kafkaを使ったHighly Scalable Microservice Demoアプリケーションについて説明します。同期的なREST APIコールを介してユーザーを作成することができます。内部では、すべての通信はKafkaを介して非同期で行われます。

Kafkaのコンシューマ/プロデューサーであるUserApprovalServiceは、Kafkaトピック内の未処理メッセージの数に基づいて自動的にスケーリング(HPA)されます。ノード/クラスタのスケーラーも用意されています。

1秒間に23000件のKafkaイベント、11台のKubernetesノード、280台のポッドにまでスケールアップする予定です。

このアプリケーションはTerraformの助けを借りて完全にスクリプト化されており、1つのコマンドで実行することができます。

技術スタック:

・ Terraform

・(Azure) K8s、MongoDB、コンテナレジストリ

・(ConfluentCloud) Kafka

・ Istio

・Grafana, Prometheus, Kafka Exporter, Kiali

・ Python, Go

リポジトリ

--

--

No responses yet