ASP.NETコア2.1リモデリングの概要とサービスゲートウェイ

序文

APIゲートウェイのために、業界は以下の分類/シーン、その下に分かれているようです。

  • 指向のWebアプリケーション
  • モバイルアプリの場合
  • 指向パートナーOpenAPIを
  • 指向パートナーExternalAPI
  • その他。

.NETのコアを持つ名誉2.1は、外部サービス・ゲートウェイプロジェクトを再構築8月、18年間で、このプロジェクトのデータ容量の役割は、実際に企業内困窮企業を許可する、パブリックを提供することができます。

このプロジェクトの分類によると、ために分類されるべきであるOpenAPIのパートナーに直面しています

このプロジェクトは、使用を開始ナンシーそれが本当に外部に提供するためにリリースした後、コードの能力を高めることである、時間外の新しい機能を提供するために、その時に書いたが、何かが、比較的、小規模な責任の両方を提供することでした同僚は、人々をフラッシュする必要があるので、それはまだ許容です。

7月、毎回外部を提供し、コードを変更するには、より多くの能力の18年間で、私が提案した再建に立つことはできません。

このプロジェクトは、のCentOSの6 4c4g上に展開する仮想マシンの上に(実際には、多くのマシンは、各マシンは、基本的には約20%と、CPUのメモリの10%であることを使用して、コールは約15万ドルの日に有効な量についてです)、Jexusでホスティングします。グランドエントランスはnginxのであるので、最終的に流れは以下のとおりです。

要求 - > nginxの - > Jexus - > DOTNET

ここに関与このゲートウェイのために言うべきことがいくつかあります。

統一認証

この1による認証は、ユーザー名とパスワードがに対処するための方法であると、これは検査工程の徴候として理解することができ、まだ非常に古代の習慣です。

ここでは、送信を暗号化パラメータがあり、一つのパラメータが明確に伝達され、二つの形式をサポートしています。

実際には、いくつかの企業は、私はパスの暗号化、復号化の後に123〜123のプレーンテキストであなたに直接渡すことができないと感じ、その後、あなたが取引を行ってみましょう。

サービスを制限

機能を制限すること、あまりにも頻繁に呼び出すための発信者を制限することで、この制限は、ビジネスシナリオに基づい秒、日、月3つのレベルに分かれています。

別の発信者、異なるデータ・サービスは、さまざまな制約があり、これはRedisのに基づいて行われます。

ルートの転送

HttpClientFactoryを使用して転送をルーティング。

開始時または使用steeltoeをサービス登録と発見を処理するために、しかし、調査結果は、使用することは容易ではないし、その後、多くのサービスもあるユーレカにアクセスしないので、最終的にはそこには処理サービスの登録と発見がありませんが、ドメイン名を直接使用することが要求されています。

リストラパラメータ

ユーザーのリクエストパラメータは、基本的には、もちろん、我々はいくつかの特別なニーズを排除することはできません、下流のサービスを経由して渡されます。

ここで説明する簡単な例があり、発信者がちょうど広州の天気をチェックするように、深センは彼が天気予報をチェックしたくなかった、とサービスは、チェックインすることができ、これらの二つの都市の下流にあるので、下流伝えるために、いくつかの特別なパラメータが存在しなければなりませんサービス。

この時間は、我々は再編成を行うために上院にユーザーを必要とする、再構築に対処するためにjオブジェクトを使用して、下流のサービスのための固定パラメータ形式の特殊な状況に相当するだろう、JSONパラメータは、下流のサービスを投げました。

リンクトレース

時々チェーンは非常に複雑で呼び出すので、呼び出しチェーンを完了するために、発信者の要求を記録するために、ここでのゲートウェイは、時間のルーティングおよび転送が一緒に、過去に発行される、リクエストヘッダにTRACEIDを生成します。

ログからのすべてのログが、このシステムTRACEIDを通じて見つけることができるようにロギングが、また一緒に統一され、このTRACEIDを記録します別のサービス。

ヒューズダウングレード

ダウンストリームサービスは、必ずしも、時にはデータベース処理のタイムアウトので、ネットワーク要求がタイムアウトし、一定の期間で、その結果、通常の状態に応答しない、通常のサービスの7 * 24時間を保証するものではありません。

ゲートウェイは、すべて実際のサービス要求に行かなければならないはず、といくつかの時間のために切断する。この時間は、障害は、呼び出し元に直接戻ります。

この1はの組み合わせですHttpClientFactoryポリー達成するために、多くの問題を保存します。

合計タイムサービス

合計時間は、あなたがお金を作りたいので、呼び出し側にお金を払う必要があり、このゲートウェイの大きなコアであると言うことができます。アウトカウントごとのお金は基本です。

実装は似ている、前にブログを書きました。

ペイ・パー・インターフェースのアイデアを簡単に実現

ビジネス指標のモニタリング

最後の時間に一定の範囲を知っている必要があり、別の呼び出し側の状況を呼び出し、異なるデータサービス(など効果的に成功、失敗、合計数、)

ここでプロメテウス、プロメテウス、インデックスデータを書き込み、その後、このデータを引き出す組み合わせていく責任があるGrafanaを別の看板を示すことにします。

ロギング

ロギングは1ログを呼び出すことで、一つはログで、2つのカテゴリに分類されます。

ログが現在拡大しているNLogを、カフカ投げたデータは、その後、Elasticsearchに運用・保守データをポンプがあるでしょう。

それはカフカに失敗した場合にデータが失われるので、ログファイルに注文を配置します、カフカの換気を避けるため、その後、Filebeatによって収集するには、その後、Elasticsearchを投げました。

graylogの形で最後のショー、のようなもの

コールログには、基地の一つで、呼び出し元の集落であるので、この重要性はまだ高価なことができます。

現在使用して非同期は、フォールトトレランスを追加書き込み。最終的に落ちるデータベースのログのアーカイブを呼び出します。

反復更新

プログラムを更新することは避けられないので、困難の一部を減らすことができ、良好なリリースプロセスがあります。再建後が、プロジェクトはまた、3回更新します。

ここで公開し、植物に試験前からのパイプラインを動作させるために、次に送信するために移動しますCDです。

概要

このプロジェクトは非常に小さいが、と記述することもできますが、「小さいながらも完全に形成さ。」

最後に、最近ギャング弟行う募集人、頼みますか?どれでも、あなたはヘクタール私に連絡することができます。

おすすめ

転載: www.cnblogs.com/catcher1994/p/11456994.html