Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9541

Pulsar C#クライアントライブラリ(DotPulsar)を使ってみた

$
0
0
はじめに こんにちは。 本稿では、PulsarのC#クライアントライブラリ(DotPulsar)(以下、DotPulsar)を使って、簡単なメッセージの送受信をしていきます。 今回は、Windows10上に以下のサーバとクライアントを構築します。 サーバ Pulsar in Docker (standaloneモード) v2.9.1 クライアント .NET SDK 6.0.101(x64) DotPulsar 2.0.1 サーバの準備 PowerShellを開き、以下のコマンドを実行して、 Docker上に、Pulsarのstandaloneモードを構築します。 PS> docker run -it -p 6650:6650 -p 8080:8080 ` --mount source=pulsardata,target=/pulsar/data ` --mount source=pulsarconf,target=/pulsar/conf ` apachepulsar/pulsar:2.9.1 bin/pulsar standalone -nss -nfw クライアントの準備 Consumer PS> dotnet new console -o Consumer PS> cd Consumer PS> dotnet add package DotPulsar Program.csを開いて、以下のコードに修正する。 using DotPulsar; using DotPulsar.Extensions; using System.Text; using System.Buffers; await using var client = PulsarClient.Builder() .ServiceUrl(new Uri("pulsar://localhost:6650")).Build(); await using var consumer = client.NewConsumer() .SubscriptionName("MySubscription") .Topic("persistent://public/default/mytopic") .Create(); await foreach (var message in consumer.Messages()) { Console.WriteLine("Received: " + Encoding.UTF8.GetString(message.Data.ToArray())); await consumer.Acknowledge(message); } Producer PS> dotnet new console -o Producer PS> cd Producer PS> dotnet add package DotPulsar Program.csを開いて、以下のコードに修正する。 using DotPulsar; using DotPulsar.Extensions; using System.Text; using System.Buffers; await using var client = PulsarClient.Builder() .ServiceUrl(new Uri("pulsar://localhost:6650")).Build(); await using var producer = client.NewProducer() .Topic("persistent://public/default/mytopic") .Create(); var text = "Hello World"; _ = await producer.Send(Encoding.UTF8.GetBytes(text)); Console.WriteLine("Sent: " + text); メッセージの送受信 Consumer側の画面 PS> dotnet run Producer側の画面 PS> dotnet run と実行すると、ProducerからConsumerにメッセージが流れ、 Consumer側の画面にReceived: Hello Worldと表示されます。 おわりに 本稿では、DotPulsarを使ったメッセージの送受信を行いました。 今回、シンプルなProducer、Consumerを作成して試しましたが、他にも様々な機能が実装されています。 公式ドキュメントが参考になるかと思います。 参考URL Apache Pulsar DotPulsar

Viewing all articles
Browse latest Browse all 9541

Trending Articles