導入 最近、私は Pulsar と Kafka の比較を調べています。ちょっと検索してみると、最も有名な 2 つのオープン ソース メッセージング システム間で「戦争」が続いていることがわかります。 Kafka ユーザーとして、私は Kafka のいくつかの問題に確かに困惑しており、Pulsar には非常に失望しています。それで、ようやく時間をかけて調査することができ、たくさんの調査をしました。この記事では、Pulsar の利点を強調し、Kafka よりも Pulsar を検討する理由をいくつか紹介します。ただし、製品の使用方法、サポート、コミュニティ、ドキュメントなどについては明確にしてください。 Kafka は明らかに Pulsar より優れているため、この記事で説明した利点のほとんどが自分のユースケースに適している場合にのみ Pulsar を検討してください。さあ始めましょう!
Kafka の基礎 Kafka はメッセージング システムの王様です。これは 2011 年に LinkedIn によって作成され、Confluent のサポートにより広く配布されるようになりました。 Confluent は、スキーマ進化のための Schema Registry、他のデータ ソースからの簡単なストリーミングのための Kafka Connect など、オープン ソース コミュニティに多くの新機能とアドオンをリリースしました。データベースから Kafka、分散ストリーム処理用の Kafka Streams、最近では Kafka トピックに対する SQL のようなクエリ用の KSQL などがあります。また、多くのシステム用のコネクタも多数あります。詳細については、Confluent Platform をご覧ください。 Kafka は高速で、インストールが簡単で、非常に人気があり、幅広い範囲やユースケースに使用できます。 Apache Kafka は開発者の観点からは常に使いやすいものでしたが、運用面では混乱していました。それでは、Kafka の問題点のいくつかを見てみましょう。 > Kafka の例。出典: https://talks.rmoff.net/pZC6Za/slides カフカの問題点
ご覧のとおり、ほとんどの問題は運用面と関連しています。 Kafka はインストールが比較的簡単ですが、管理と調整が困難です。さらに、柔軟性と回復力はまだ十分ではありません。 パルサーの基礎 Pulsar は 2013 年に Yahoo によって作成され、2016 年に Apache Foundation に寄贈されました。現在、Pulsar は Apache のトップレベル プロジェクトとなっています。 Yahoo、Verizon、Twitter などの企業では、何百万ものメッセージを処理するために実稼働で使用されています。多くの機能があり、非常に柔軟性があります。 Kafka よりも高速で、実行コストが安いと言われています。 Kafka の問題点のほとんどを解決し、スケーリングを容易にすることを目的としています。 Pulsar は非常に柔軟性があります。 Kafka のような分散ログや、RabbitMQ のような純粋なメッセージング システムも可能です。複数のタイプのサブスクリプション、複数の配信保証、保持ポリシー、およびスキーマの進化を処理する複数の方法があります。機能も多数あります... > Pulsar アーキテクチャ: https://pulsar.apache.org/docs/en/concepts-architecture-overview/ パルサーの特徴
> 機能一覧: https://pulsar.apache.org/ ご覧のとおり、Pulsar には興味深い機能が多数あります。 パルサーハンズオン Pulsar を使い始めるのはとても簡単です。 JDK がインストールされていることを確認してください。
Pulsar は、クラスターと対話するために使用できる pulsar-client と呼ばれる CLI ツールを提供します。 メッセージの生成:
メッセージを読む:
Akka ストリームの例 クライアントの例として、Akka で Pulsar4s を使用しましょう。 まず、データ ストリームを消費するためのソースを作成する必要があります。必要なのは、要求に応じてコンシューマーを作成し、メッセージ ID を検索する関数だけです。
次に、consumerFn 関数を渡してソースを作成します。
Akka ソースの具体化された値は Control のインスタンスであり、メッセージの消費を停止するために使用できる "close" メソッドを提供します。これで、通常どおり Akka Streams を使用してデータを処理できます。 受信機を作成するには:
完全な例は Pulsar4s から引用したものです: パルサー関数の例 Pulsar 関数は、1 つ以上のトピックからのメッセージを処理し、変換して、結果を別のトピックに出力します。 > パルサー関数。出典: https://pulsar.apache.org/docs/en/functions-overview/ 関数を記述するための 2 つのインターフェースから選択できます。
言語ネイティブ インターフェイスの使用は非常に簡単で、メッセージを変換するための簡単な関数を記述するだけです。
Python で記述されたこの単純な関数は、すべての受信文字列に感嘆符を追加し、結果の文字列をトピックに公開するだけです。 SDK を使用するには、依存関係をインポートする必要があります。たとえば、Go では次のように記述します。
サーバーレス関数をクラスターに公開してデプロイするには、pulsar-admin CLI を使用します。 Python を使用する場合は、次のようにします。
Pulsar Functions の優れた機能の 1 つは、関数を公開するときに配信保証を設定できることです。
オプションは次のとおりです: パルサーの利点 Kafka と比較した主な利点を見てみましょう。
パルサーの問題 Pulsar は完璧ではありませんが、Kafka が人気があるのには理由があります。Kafka は 1 つのことだけをうまくこなします。 Pulsar は、あまりにも多くの領域に対処しようとしていますが、いずれか 1 つの領域を超えることはありません。 Pulsar の問題点をいくつかまとめてみましょう。
Confluent には Pulsar と Kafka の比較があり、そこでさらに詳しく説明されています。このブログでは、Kafka と Pulsar に関するいくつかの質問にも答えていますが、これらの質問には偏りがある可能性があることに注意してください。 パルサーの使用例 Pulsar は幅広いユースケースに使用できます。
Pulsar を検討すべきなのはいつですか?
なお、クラウドの場合は、クラウドベースのソリューションを検討してください。クラウド プロバイダーには、特定のユース ケースをカバーするさまざまなサービスがあります。たとえば、キュー メッセージングの場合、クラウド プロバイダーは Google pub/sub などの多くのサービスを提供しています。分散ログには、Confluent Cloud または AWS Kinesis があります。クラウドプロバイダーは非常に優れたセキュリティも提供します。 Pulsar の利点は、単一のプラットフォームで多くの機能を提供できることです。チームによっては、これをマイクロサービスのメッセージング システムとして使用する場合もあれば、データ処理用の分散ログとして使用する場合もあります。 結論は 私はカフカの大ファンなので、Pulsar にとても興味があります。競争は良いことであり、イノベーションを促進します。 Kafka は、世界中で大きな成功を収めた、成熟した、回復力のある、実戦でテストされた製品です。それがない会社は想像できません。しかし、Kafka は自身の成功の犠牲者になりつつあると私は考えています。Kafka は、多くの大企業をサポートする必要があったため、急成長によって機能開発が遅くなっているのです。 ZooKeeper 依存関係などの重要な機能を削除するのに時間がかかりすぎました。これにより、Pulsar のようなツールが繁栄する余地が生まれました。 Kafka のいくつかの問題を修正し、さらに機能を追加します。 しかし、Pulsar はまだ非常に未熟なので、生産に投入する前には細心の注意を払う必要があります。 Pulsar を組織に導入する前に、分析、ベンチマーク、調査を実行し、概念実証を作成します。小規模から始めて、Kafka から移行する前に概念実証を行い、完全な移行を決定する前に影響を評価します。 |
<<: 中小企業がクラウドに移行する際に考慮すべき問題は何ですか?
>>: テンセントがWeMapをリリース、産業用インターネットマップの新時代を切り開く
クリプトデータセンターが直営するクラウドサーバー(VPS)ブランド「ion cloud」が、ちょうど...
インターネット時代において、マーケティングイノベーションはビジネスエコシステムにおける最も一般的な運...
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています企業のウェ...
国内外の規制当局には、IP が物理マシンによってサポートされているか仮想マシンによってサポートされて...
Oracle は、Oracle Enterprise Resource Planning Cloud...
検索エンジンの発展に伴い、企業は徐々にオンライン市場に注目するようになり、多くの企業が独自の企業ウェ...
ウェブサイトプロモーションの最終的な目標は、一定数のユーザーを呼び込み、これらのユーザーに利益をもた...
ウェブサイトをいじるのが好きな私は、昔からホスティングスペース付きのトップレベルドメイン名や、自分の...
中小企業のウェブサイトにSEOサービスを導入するのは現実的ではないという記事を目にすることがあります...
近接性によってデータの重力から逃れるTensorFlow 上で大規模な機械学習モデルをデプロイして実...
ドイツはヨーロッパネットワークにおいて最も重要なコアハブの一つです。ヨーロッパナンバーワンと言っても...
2012年5月29日、cnドメイン名が個人登録に開放され、中国のインターネットに神秘的な色を添えたと...
Alpharacks のバレンタインデー プロモーションでは、超格安の再販ホスト、低価格の Open...
SaaS に関する記事を読んだり書いたり、何人かの SaaS 起業家と会って話をしたりしてきましたが...
treudler.net は、最近設立されたばかりの小規模な新しい VPS ビジネスです。KVM ベ...