Sogou オープンソースフレームワークが自社開発の C++ Kafka クライアントをリリース

Sogou オープンソースフレームワークが自社開発の C++ Kafka クライアントをリリース

Sogou は今年 7 月に C++ 非同期スケジューリング サーバー エンジンである Workflow をリリースしました。コンピューティングと通信を統合する高性能特性に加えて、Http、Redis、MySQL など、一般的に使用されるさまざまなネットワーク プロトコルも統合されています。すべてのプロトコルは、サードパーティのライブラリに依存せず、完全に自社開発および自社分析されています。特定のプロトコルに対応するリソースの再利用とスレッドのスケジューリングは、Workflow によって統一的に管理され、ますます多くの開発者の支持と認知を得ています。最近、Workflow は複雑なユニバーサル ネットワーク プロトコルである Kafka をサポートし、リリースしました。これにより、Workflow とそのエコシステム プロジェクトを使用するすべての開発者が、統一された簡単な方法で Kafka と対話できるようになります。これは業界で唯一 C++ で実装された Kafka クライアントでもあり、オープンソース コミュニティの開発者の注目に値します。

1. 開発の背景

Workflow が Kafka クライアントをリリースする前は、業界では librdkafka が広く使用されていました。ただし、この純粋な C Kafka クライアントには多くの欠点があります。使用中に発生した問題の一部を以下に示します。

1. スレッドリソースとネットワークリソースの消費量が増える

2. インターフェースのデザインが複雑で肥大化しており、使用コストが比較的高い

3. Kafka バージョンの互換性はあまり良くない

4. リソース消費は多いがパフォーマンスは低い

5. ブローカーのマスター/スレーブ切り替えにより、下位バージョンを使用するとサービスがハングし、上位バージョンではデータが失われることがある

6. 非同期同期中に時々データが失われる

これらの問題に対するより良い代替手段は、Workflow の Kafka クライアントです: https://github.com/sogou/workflow

Workflow ベースで実装されているため、Kafka クライアントとしては、超高性能、超大容量のスループット、極めて低いリソース使用量という特徴を持っています。他のプロトコルのインターフェースと同様に、この Kafka クライアントにも、明確なインターフェースと強力なコード可読性という利点があります。機械コストを節約できるだけでなく、人的メンテナンスコストも節約できます。試してみる価値はあります。

2. 新世代の高性能 C++ Kafka クライアント

Workflow の Kafka クライアント インターフェースは非常にシンプルです。まず、クライアント オブジェクトを作成する必要があります。

その他の使用方法は、フレームワーク内の他のタスクと変わりません。ワークフローを使用する学生はすぐに始めることができます。

Workflow の Kafka クライアントに上記の利点があるのはなぜでしょうか?主な理由は次の 3 つです。

1. ワークフローに基づく内部タスクフローの実装。ワークフローの中心的な設計概念は、タスクを「タスク フロー」の概念に抽象化することです。これにより、任意の複雑なタスクを複数の並列タスク フローとシリアル タスク フローに分割し、それらを直列または並列に接続して 1 つ以上のシリアル パラレル グラフを形成し、ワークフロー内のエンジンによって効率的かつ非同期的に実行できます。

Kafka プロトコルのフェッチ メッセージを例にとると、次の図は実行プロセス中のタスク フローのシリアルおよび並列図です。

メッセージのフェッチ タスクは、Kafka ブローカーを取得するメタ タスク、一連のコンシューマー グループ関連のタスク、オフセットを取得するタスク、実際にメッセージをプルするタスクなど、一連のタスクで構成されます。前の複数のタスクは、依存関係によりシリアル タスクを形成します。メッセージをプルする最終タスクはブローカーの数に関連しているため、同じ数のブローカーを持つ並列タスクに変換できます。そうすることでロジックが明確になり、効率的な実行が保証されます。

2. 接続の多重化。従来のネットワーク通信では、プログラムの初期化時にネットワーク スループットを向上させるために、大規模な接続プールが作成されることがよくあります。この方法の欠点は、システム リソースを大量に消費し、プログラムの堅牢性が低下することです。現在、Kafka クライアントはワークフロー フレームワークに基づいており、接続管理に対して多くの最適化が行われています。高効率、高スループットを確保しながら、合理的な範囲内でリソースを制御できます。

3. メモリ管理。ユーザーの利便性のため、すべての内部オブジェクトはカウントに基づいて実装されています。ファクトリ メソッドを通じてタスクを作成した後、処理ロジックをコールバック関数に実装できます。メモリの割り当てと解放はフレームワークによって自動的に完了します。プロセス全体を通じてタスクレベルのメモリを手動で操作する必要がないため、非常に便利です。同時に、そのロジックは完全かつ自己一貫性があり、高い効率性と信頼性を保証します。

3.プラグインの公開、ワークフローとの完全な統合

ワークフローの洗練された階層構造に基づいて、Kafka プロトコルはプラグイン形式でリリースされます。つまり、Kafka をインストールする必要のないユーザーは、Kafka 関連のコードをコンパイルする必要はありません。これは、ワークフロー自体のアーキテクチャの分離とモジュールの対称性が優れていることを示しています。

Kafka プロトコルでは複数のインタラクションが必要であり、ワークフロー複合タスクは内部インタラクションの非表示を自然にサポートするため、全体的な使用は非常にシンプルで、ユーザーにとって透過的です。 2 レベル ファクトリー モデルに基づいて、大量のグローバル情報もメモリ内で統一的に管理できます。これもエンジニアリング統合のハイライトです。

Kafka プロトコルとワークフローの統合は非常に完璧であり、Sogou で広く使用されており、産業グレードの検索システムの大規模なリクエストの実際のテストに耐えることができると言えます。必要とする業界の開発者の皆様は、ぜひ積極的にお試しいただき、弊社の熱心な開発チームと技術交流を行っていただければ幸いです。

<<:  最新の! 2021 年のクラウド コンピューティングに関するトップ 10 の予測。クラウド業界は大きな変化を遂げるでしょうか?

>>:  クラウド アプリケーション (SaaS) の設計方法

推薦する

電子商取引へのアドバイス: 在庫が増えても在庫削減が容易になるわけではなく、在庫が減っても規模が縮小するわけではない

ショッピングモールやオンラインストアでSKU(編注:SKUとは在庫の単位で、入庫・出庫を計る最も基本...

広州は電子商取引を支援:オンラインストアを開設する個人は登録不要

私のオンラインストアは工商登録をする必要がなく、多くのグリーンチャネルサービスが提供されており、素晴...

RedSwitches-55 ユーロ/E3-1230/16 GB RAM/4X1 TB HDD/100 TB Flow/オランダ

Redswitches は 6 歳だと言われていますが、実際のところはわかりません。現在はサーバーレ...

ウェブコンテンツの重複に関する議論

現在でも、Web コンテンツの重複は SEO において依然としてホットな話題です。これは、分散モデル...

エッジからクラウドへの進化における4つの大きな課題

エッジツークラウド設定の使用は大幅に増加していますが、レイテンシー、データセキュリティ、スケーラビリ...

大銀希生はGoogleとBaiduのホームページからウェブサイトのプロモーションを見る

春節までまだ1週間ありますが、春節のウェブサイトのメンテナンスとマーケティングはすでに一部のウェブサ...

クラウドネイティブSIEMでセキュリティ成果を加速

組織が IT インフラストラクチャを近代化し、クラウド サービスの導入を増やすにつれて、セキュリティ...

cloudsilk: ドイツ本土のプレミアム最適化 BGP クラウド サーバーが販売中、10% 割引、月額 35 元から

新しいドイツのクラウド サーバーの立ち上げを記念して、CloudSilk (Baisi Networ...

ウェブサイトのデザイン: シンプルで使いやすいデザインのヒント 10 選

[編集者注] この記事の著者である Mark Praschan は、約 10 年の経験を持つ Web...

VMware の Xinlei Zheng: オープンソースの採​​用、イノベーション = 創造性 × 実装

今日のデジタル時代において、イノベーションは企業の魂となり、持続可能な発展を促進するための重要な保証...

雲紅は重い責任を担い、新しい国有クラウド政策の下で国有企業が安全にクラウドに移行できるよう支援しています。

最近、「国有資産クラウド」が人気を集め、業界では白熱した議論を巻き起こしています。天津市国有資産監督...

cloudcone: $130/E5-1650v3/64g/2*2T/ロサンゼルスMCデータセンター | 高防御サーバー

私たちは、常に cloudcone の安価な VPS に注目してきました。今日は、cloudcone...

ウェブマスターのゴールドラッシュが始まりました。QQスーパーマーケットはDiscuzに接続されています!ローミングプラットフォーム

Discuz!の公式ニュースによると、テンセントのオープンプラットフォームコミュニティゲーム「QQス...

メーデー後の新たな始まり

メーデー後の新たな始まり - ウェブサイトをランク付けするには?この間、私のサイトの多くはランキング...

ホット検索はWeiboのトラフィックを束ねるロープですか?

「ハイキングに連れて行ってあげるよ」は他人をあざけるためによく使われるキャッチフレーズになった。 「...