目次
質問内容
回避策
ホームページ バックエンド開発 Golang (Kafka からの) メッセージ ストリームを使用し、REST API リクエストを読み取るサービスを Go で作成することは可能ですか?

(Kafka からの) メッセージ ストリームを使用し、REST API リクエストを読み取るサービスを Go で作成することは可能ですか?

Feb 12, 2024 pm 06:06 PM
フロントエンドアプリケーション

是否可以在 Go 中创建一个既使用消息流(来自 Kafka)又读取 REST API 请求的服务?

質問内容

最近「大規模マイクロサービス間でのデータ共有」という記事を読みました

この図は非同期接続に関するものです。

私の記憶が正しければ、この図の 注文ページ このサービスは、Kafka からメッセージ ストリームを読み取ることができ、また、フロントエンド アプリケーションから REST API リクエストを読み取ることができるようです。

そこで、両方のタスクを同時に実行できるサービスを作成できないか考えています:

  • Kafka からのメッセージ ストリームを読む
  • REST API リクエストの読み取り

Go など、1 つのサービス内のみ。

これは良いアイデアですか?

回避策

はい、Kafka から消費して REST エンドポイントを公開する Go サービスを作成することは間違いなく可能です。ただし、これは理想的な設計上の決定ではありません。

Kafka ベースのストリーミング システムにより、プロデューサーとコンシューマー間の非同期通信が可能になります。ただし、REST API ベースのシステムは、呼び出し元と呼び出し先の間で同期的に通信します。

可用性の保証は、同期通信と同期モード通信で異なります。 Kafka Streams に基づくシステムには、REST API とは異なる可用性保証があります。ストリーミング システムでは、メッセージ処理のスループットに重点を置きますが、エンドツーエンドの同期通信では、遅延が主な懸念事項になります (呼び出し元が結果を取得するまで長時間待たされることは望ましくありません)。

この 2 種類のシステムを 1 つのサービスにまとめてしまうと、サービスの可用性がわかりにくくなります。さらに、サービスの非同期部分または同期部分が、反対側のノイズの多い隣人に影響を及ぼし、サービスが使用できなくなる可能性があります。

したがって、一般に、REST ベースの API と Kafka ストリームを 2 つの独立したサービスとして扱うことをお勧めします。

以上が(Kafka からの) メッセージ ストリームを使用し、REST API リクエストを読み取るサービスを Go で作成することは可能ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Nodejsはフロントエンドを書くことができますか? Nodejsはフロントエンドを書くことができますか? Apr 21, 2024 am 05:00 AM

はい、Node.js はフロントエンド開発に使用でき、主な利点には、高性能、豊富なエコシステム、クロスプラットフォーム互換性が含まれます。考慮すべき点は、学習曲線、ツールのサポート、コミュニティの規模の小ささです。

mongodbデータベースの利点は何ですか mongodbデータベースの利点は何ですか Apr 07, 2024 pm 05:21 PM

MongoDB データベースは、その柔軟性、スケーラビリティ、および高いパフォーマンスで知られています。その利点には、データを柔軟かつ非構造化された方法で保存できるドキュメント データ モデルが含まれます。シャーディングによる複数サーバーへの水平スケーラビリティ。クエリの柔軟性により、複雑なクエリと集計操作をサポートします。データ レプリケーションとフォールト トレランスにより、データの冗長性と高可用性が確保されます。 JSON サポートにより、フロントエンド アプリケーションと簡単に統合できます。大量のデータを処理する場合でも高速な応答を実現する高いパフォーマンス。オープンソースでカスタマイズ可能で無料で使用できます。

jsとvueの関係 jsとvueの関係 Mar 11, 2024 pm 05:21 PM

js と vue の関係: 1. Web 開発の基礎としての JS、2. フロントエンド フレームワークとしての Vue.js の台頭、3. JS と Vue の補完関係、4. JS と Vue の実用化ビュー。

vue はフロントエンドですか、それともバックエンドですか? vue はフロントエンドですか、それともバックエンドですか? Apr 02, 2024 am 12:15 AM

Vue は、主にクライアント側のコード開発に焦点を当てた、ユーザー インターフェイスを構築するためのフロントエンド JavaScript フレームワークであり、その特徴としては、1. コンポーネント化: コードの保守性と再利用性の向上、2. レスポンシブ データ バインディング: UI の自動更新、3. 仮想 DOM が挙げられます。 : レンダリング パフォーマンスを最適化します; 4. 状態管理: アプリケーションの共有状態を管理します。 Vue は、シングル ページ アプリケーション、モバイル アプリケーション、デスクトップ アプリケーション、Web コンポーネントの構築に広く使用されています。

Golang とフロントエンド テクノロジーの組み合わせ: Golang がフロントエンド分野でどのような役割を果たすかを探る Golang とフロントエンド テクノロジーの組み合わせ: Golang がフロントエンド分野でどのような役割を果たすかを探る Mar 19, 2024 pm 06:15 PM

Golang とフロントエンド テクノロジーの組み合わせ: Golang がフロントエンド分野でどのような役割を果たしているかを調べるには、具体的なコード例が必要です。インターネットとモバイル アプリケーションの急速な発展に伴い、フロントエンド テクノロジーの重要性がますます高まっています。この分野では、強力なバックエンド プログラミング言語としての Golang も重要な役割を果たします。この記事では、Golang がどのようにフロントエンド テクノロジーと組み合わされるかを検討し、具体的なコード例を通じてフロントエンド分野での可能性を実証します。フロントエンド分野における Golang の役割は、効率的で簡潔かつ学びやすいものとしてです。

jQueryはvueでも使えるのでしょうか? jQueryはvueでも使えるのでしょうか? May 02, 2024 pm 09:27 PM

はい、Vue で jQuery を使用できます。 jQuery を使用する一般的な理由には、レガシー コードとの統合、特定の jQuery プラグインの使用、および複雑な DOM 操作の処理が含まれます。 Vue プロジェクトで jQuery を使用するには、jQuery ライブラリをインストールし、コンポーネントにインポートする必要があります。ただし、Vue との競合を避けるために、絶対に必要な場合にのみ、慎重に使用することをお勧めします。

ウェブストームでプロジェクトを開始する方法 ウェブストームでプロジェクトを開始する方法 Apr 08, 2024 pm 02:03 PM

WebStorm を使用してプロジェクトを開始する手順は次のとおりです: WebStorm IDE を開き、プロジェクトを開くか作成します。プロジェクト ファイルを右クリックして [実行] を選択し、[実行/デバッグ構成] ウィンドウで起動構成を選択します。プロジェクトの起動に使用されます; 構成 構成の開始 (オプション); 「実行」ボタンをクリックしてプロジェクトを開始します; 必要に応じて、WebStorm のデバッグ ツールを使用してプロジェクトをデバッグできます。

フロントエンド開発において vue はどのような役割を果たしますか? フロントエンド開発において vue はどのような役割を果たしますか? Apr 06, 2024 am 12:39 AM

Vue.js は、主にフロントエンド開発プロセスを簡素化するために使用される進歩的な JavaScript フレームワークです。その機能には、読みやすさを向上させる宣言型テンプレート構文、インターフェイスとデータを自動的に同期する応答性の高いデータ バインディング、保守性を向上させるコンポーネント開発、状態管理を簡素化する状態管理 (Vuex)、単一ページ アプリケーションの管理、ルーティング (Vue Router) が含まれます。開発を加速するためのツールとエコシステム。

See all articles