Autohome APP のエンドツーエンドのフルリンク ガバナンスのベスト テクニカル プラクティス

タイトル エンドツーエンドの品質向上の背景

モバイル インターネットとインテリジェンスの時代において、モバイル アプリ ソフトウェアは仕事と生活を促進する重要なツールとなっています。ユーザー エクスペリエンスを向上させ、高級車の消費者としての地位を確立するために、Autohome はアプリ サービスの品質について包括的な特別扱いを実施しました。

エンドツーエンドのフルリンクのサービス品質の問題

実際の運用では、アプリ ユーザーからサーバーまでのリンクの長さと複雑さは比較的長く、モバイル デバイス、ワイヤレス ネットワーク、コア ネットワーク、サービス ネットワークなど、多数のネットワーク リンクとノードが存在します。このような大規模な分散環境では、システムの品質とパフォーマンスがユーザー エクスペリエンスとサービスの安定性にとって非常に重要です。これらのリンクでは、一度低品質のリクエストや例外が発生すると、システム全体のパフォーマンスと安定性に影響が及び、特に接続中に応答の遅さや応答のフリーズ、エラーなど、ユーザーのアプリ側でのアクセス問題が発生します。トラフィックのピーク時間帯は、システムのクラッシュやサービスの利用不能などの問題を引き起こしやすく、ユーザー エクスペリエンスに重大な影響を与えます。したがって、エンドツーエンドのフルリンクの低品質リクエストを管理し、システムの品質とパフォーマンスを向上させる方法が緊急の必要性となっています。

エンドツーエンドリンクの低品質リクエストガバナンスのための体系的なソリューション

エンドツーエンドのフルリンクの低品質リクエスト ガバナンス ソリューションを実装するプロセスにおいて、エンドツーエンドのフルリンクの低品質リクエスト ガバナンスの包括的な分析は、グローバルかつ複雑な問題です。さまざまなテクノロジーや管理手法を総合的に活用し、さまざまなビジネス シナリオやユーザー ニーズを十分に考慮し、科学的なガバナンス手法、効果的なガバナンス手法、ツールベースの構築、体系的なアーキテクチャのアップグレードを模索する必要があります。リンクシステム全体の品質とパフォーマンスを向上させながら、システムの安全で安定した動作を保証するための時間監視、タイムリーな早期警告およびその他の管理方法。

エンドツーエンドのフルリンクの低品質リクエスト標準を確立する

低品質のリクエスト ガバナンスでは、まず、「アプリ クライアントからサーバーへのユーザー アクセス」の低品質リクエストの効果的な識別方法とロジックを決定する必要があります。コンセンサス指標、特定のリンク ノード サービス問題の定量化は、さまざまな部門やチームが低品質のリクエストの概念について合意に達するのに役立ち、ガバナンスの基礎と共通言語を提供し、システム内の関連部門や担当者の責任と権限を明確にします。これにより、ガバナンス作業の効率的な実行が保証され、ガバナンス作業が確立された基準に従って実行されていることを確認するための監視と評価が容易になります。
特定の「低品質リクエスト」LQR は、バックエンド サービスの品質基準を判断するために使用されます。メイン アプリ側の全体的な 2 番目の開始レート (1000 ミリ秒) がベンチマークとして使用され、クライアント リクエストには時間がかかります (レンダリング < 150ms) + 時間がかかるバックエンド要求 (ネットワーク応答時間 <600ms、サービス応答速度 <250ms)。つまり、バックエンド ガバナンスの方向は「低品質要求 (LQR):」によって判断されます。時間がかかります >850msまたはステータス コード !=2/3XX。

ここに画像の説明を挿入

より広範な市場を分析するために低品質のリクエスト指標を確立する

クライアントネットワークライブラリ、CDN、ロード、ソースサイトを収集・接続し、エンドツーエンドのフルリンクログを統合し、ビッグデータ分析に基づいた低品質リクエスト管理パネルを確立し、サービス品質をより正確に把握し、低品質のリクエストの問題をタイムリーに発見し、迅速な対応と処理を行います。同時に、各リンクのデータを体系的に表示、分析、監視することもでき、チームが問題を迅速に特定し、ガバナンスの効率を向上させるのに役立ちます。責任が明確に定められています。低品質リクエスト市場データには、ドメイン名、インターフェース、ネットワークタイプ、プロトコル、バージョン、モジュール、地域、オペレータ、ネットワークタイプ、負荷、送信元局、部門、担当者が含まれます。市場指標分析 リクエスト (LQR) は比較的高レベルで、全体の LQR の 7% 以上を占め、毎日数百万人のユーザーに影響を与えています; 低品質のリクエスト市場はデータドリブンな運用と情報共有を実現し、強力なサービスを提供しています低品質の問題データサポートを包括的に管理するために、すべてのチームの全体的な推進を強化します。

低品質リクエスト ガバナンス市場の全体的な分析から、低品質アプリのエンドツーエンド フル リンクのいくつかの主な問題とガバナンスに関する一般的なアイデアを示します。

クライアント側: ネットワーク ライブラリ ログの分析により、クライアント側で多数の TCP 接続が確立および解放されると、リクエストの遅延とリソース消費が増加し、アクセス速度と効率に影響を与えることがわかりました。これは、クライアントに接続の多重化と長期的な接続管理のメカニズムが欠如していることが原因である可能性があります。解決策の方向性は、長い接続を改善し、TCP 接続の確立と解放の回数を減らし、サーバーの負荷を軽減し、リクエスト処理の効率を向上させることです。

ネットワーク リンクに関して: CDN ネットワーク品質の低下、ノードの集中、過剰な負荷などの理由により、CDN ノードが不安定または異常になり、その結果、リクエスト アクセスの遅延やリクエストの失敗が発生します。ローカルのネットワーク環境が悪く、ドメイン名がローカル DNS を使用してプロセスが解決されるため時間がかかり、アクセス速度が遅く、ドメイン名が悪意をもって乗っ取られています。使用されている HTTP プロトコルのバージョンが古く、HTTP/2 が有効になっておらず、より効率的な暗号化プロトコルが使用されていないため、多重化リクエストをシリアルに送信できないため、同時処理能力、アクセス データの送信速度、安定性および信頼性に影響します。

サーバー側: ロード バランシング LB とソース サイト間のリンクは長く複雑で、アプリケーション ソース サイト インターフェイスのロジックも複雑であるため、平均応答時間が長くなり、バックエンドでのエラー率が高くなります。全体。これは、不当な負荷分散アルゴリズム、発信元サイトの高負荷、または発信元サイトのインターフェイスのボトルネックが原因である可能性があります。ソリューションには、サーバー アーキテクチャの最適化、より高度な負荷分散アルゴリズムの採用、インターフェイス ロジックの最適化、サーバーのパフォーマンスと安定性を向上させるための監視と診断の強化が含まれます。
ここに画像の説明を挿入

バックエンドシステム構築「スマートネットワーク」エンドツーエンドリンク選択管理プラットフォームを上陸

多くの既存ビジネスドメイン名の問題、接続時間の多さ、アクセスパフォーマンスの損失、CDN のスイッチングパフォーマンスの損失などを解決するために。パブリック ドメイン名コンバージェンス方式におけるクライアントとバックエンドの負荷の全体的な変換により、クライアント接続の数が削減されます。2 つ目は、複数の CDN ベンダーによって確立されたノードの品質を分析および評価し、インテリジェントな最適なスケジューリングを実行してパフォーマンスを向上させることです。 「スマートネットワーク」は、エンドツーエンド全体のリンクの最適な構成により、パフォーマンスと安定性を総合的に向上させる低品質リクエスト管理システムです。

クライアント アップグレードは、ドメイン名統一コンバージェンス テクノロジ アーキテクチャをサポートしています。中心となるアイデアは、数百のドメイン名をいくつかのドメイン名に統合し、DNS クエリを削減し、TCP 接続確立時間を削減し、ネットワーク帯域幅の使用率を向上させ、接続の再利用率を向上させることです。これらの利点は、特に次の側面でシステム リンクのパフォーマンスを向上させます。

DNS クエリの削減: クライアント ドメイン名の統合統合により、異なるサービスが同じドメイン名を共有します。これにより、DNS クエリの数が減り、ドメイン名の解決時間が短縮され、Web ページの読み込みが高速化されます。

TCP 接続の確立時間を短縮する: TCP は接続指向のプロトコルであり、接続が確立されるたびにハンドシェイクと切断の操作が必要となり、多くの時間とリソースを消費します。クライアント ドメイン名の統合収束により、複数の要求を同じ TCP 接続に統合できるため、接続の確立と切断を繰り返すことがなくなり、接続確立の時間とオーバーヘッドが削減されます。

ネットワーク帯域幅の使用率の向上: クライアント ドメイン名の統合統合により、複数の要求を同じ TCP 接続にパッケージ化できるため、要求と応答の間のネットワーク遅延が減少し、ネットワーク帯域幅の使用率が向上します。これは、ネットワーク帯域幅のコストを効果的に削減できる、トラフィックの多いエンタープライズ システムにとって特に重要です。
ここに画像の説明を挿入

ドメイン名の統合コンバージェンス アーキテクチャ

サーバー側とクライアント側の両方で対応する構成と開発作業を実行する必要があります ソリューションの主要テクノロジー: 統一ドメインネームサーバー、リバースプロキシ、および接続プールテクノロジーを使用して、クライアントドメインの統合コンバージェンスを実現します名前を付けて、システムの品質とパフォーマンスを向上させます。

統合ドメイン名サーバーを確立します。このサーバーでアクセスする必要があるすべてのサービスの IP アドレスと対応するドメイン名を構成します。クライアントが要求すると、その要求は統合ドメイン ネーム サーバーを通じて対応するサービスに転送されます。

リバース プロキシを使用する: サーバー側でリバース プロキシを構成すると、複数の異なるサービスが同じドメイン名にマッピングされます。このように、クライアントは 1 つのドメイン名を使用するだけで複数のサービスにアクセスできます。

接続プール テクノロジの使用: プログラムの開始時に一定数の接続を事前に作成し、これらの接続をプールに保存することを指します。クライアントが HTTP サービスにアクセスする必要がある場合、接続プールから使用可能な接続を選択して操作します。この方法により、頻繁な接続の確立と切断が回避され、接続の再利用率が向上します。

具体的な解決策は、統合ドメイン名の数を CDN (Baidu a.xxxxxx.cn、Jinshan b.xxxxxx.cn、Ping An c.xxxxxx.cn、Huawei d.xxxxxx.cn) の数と一致させることです。コンバージェンス ルールがリクエストされた URL の前にあります。 コンバージェンス ドメイン名を追加すると、元のドメイン名がコンバージェンス ドメイン名の第 1 レベルのパスになり、リクエストのサブパスとパラメータは変更されません。

たとえば、xx.app.autohome.com.cn/v1/args?key=xxx を a.xxxxxx.cn/xxx.app.autohome.com.cn/v8/args?key=xxx に置き換えます。
クライアントは、集中ドメイン名の置換を実行します。これにより、品質をより適切に管理できると同時に、最終的な集中という目標を効果的に達成できます。

アーキテクチャ呼び出しプロセス:

1) アプリがコールドスタートされている場合、CDN インターフェイスを呼び出して優先集中ドメイン名を取得します (優先インターフェイスへの呼び出しが失敗した場合は、非集中的な方法でビジネスの実際のドメイン名を要求します) (クライアントは追加します)キャッシュ、およびキャッシュは起動時に最初に使用されます)、インターフェイスは優先ドメイン名をすぐに有効にするために戻ります;
2) クライアントは D+ を要求し、優先ドメイン - 統合ドメイン名を分析し、CDN ノードの IP を取得します。
3) クライアントは、http2 および http3 を介して CDN ノードの IP に接続します (クライアント スイッチとサーバー CDN サポートを通じてオープンするかどうかを決定します) 維持します; 4) アプリの起動が完了したら、すぐに残りのノードの関連付けを確立します
。他の CDN メーカーに対応する集中ドメイン名を使用し、同時に一度に 45 秒間関連付けを確立し続けます。
上記のリンクを切り替えて再利用して、接続を迅速に確立します。6
) クライアントによって開始された URL リクエストは、URL を変換する必要があります。最下位層から、前にコンバージェンス ドメイン名を追加してコンバージェンス URL を形成し、リクエストを作成します; 7)
Proxy-NG がコンバージェンス URL を受信し、復元して最終ソース サイトにアクセスすると、リクエストが完了します。
ここに画像の説明を挿入

CDN リソースのインテリジェントな分析

ユーザーの地理的位置、デバイスの種類、ネットワーク環境を把握し、遅延や帯域幅などの特定領域におけるCDNベンダーのネットワーク品質指標を比較して、最適なCDNベンダーとエッジノードを決定する機能です。スケジューリング ユーザーは最適なエッジ ノードを選択します。実装計画では、アプリの起動時に、要求された埋め込みドメイン名に関する関連情報がレポートされ、異なる埋め込みドメイン名が異なる CDN ベンダーに解決され、これらのドメイン名の要求情報がネットワーク ライブラリに書き込まれます。他のアクセス ログとともにログを記録します。システムは、すべての埋め込まれたポイント データ、オペレーターを収集し、クライアント IP に応じて地域情報、時間とエラー率の情報を取得し、時間、地域、オペレーター、CDN メーカー (ソース ステーション) に応じてフリンクを介してネットワーク ライブラリ ログ データを取得します。各州と都市のデータを vm クラスターに統合し、アルゴリズムを使用して最初の 30 分における各地域のフラット応答とエラー率を 10 分ごとに取得し、その地域で最適な CDN メーカーを計算します。フラットな応答とエラー率。
ここに画像の説明を挿入

CDN 選択/災害復旧スケジュール設定

CDN 選択機能は、効率的かつインテリジェントな CDN ノード選択メカニズムです。ユーザーの地理的位置とインテリジェントに分析された CDN ノードの品質に応じて、最適な CDN ノードがインテリジェントに選択され、ネットワークのパフォーマンスと可用性が向上します。また、ユーザーが使用する CDN は、ドメイン名が表示される 問題が発生した場合、クライアントは接続を他の CDN メーカーにすぐに切り替えてビジネスを中断することができないため、サービス アクセスのパフォーマンスと信頼性が向上します。サーバー側のコアプロセス:

1) サーバーは、ユーザーの IP に基づいて現在のユーザーのおおよその地理的位置を計算します。
2) ユーザーのネットワーク ログによれば、ドメイン名解決された IP は対応する CDN ノードと一致します。
3) ユーザーのネットワーク ログに従って、次のリクエストを計算します。現在のドメイン名/IP ノードのエラー率
4) さまざまなリージョン/CDN ディメンションのエラー率に従って、現在のリージョンで最適な CDN ベンダーを決定します
5) 異常なエラー率を持つ IP ノードを選別します
6) CDN のトラフィックを切り替えます現在のリージョンで最適な CDN リストと異常 IP リストをクライアントに発行します
ここに画像の説明を挿入

エンドツーエンドのフルリンクの最適なベストプラクティス戦略

データ伝送の効率と信頼性を向上させるための包括的なネットワーク リンク、CDN 構成、および複数の技術的手段。

1) 高品質の CDN メーカーへのドメイン名解決: 高品質のリンク、リクエストの成功率と信頼性の向上;
2) エンド側でドメイン名の HTTPDNS を有効にする: DNS 解決を高速化し、不必要なドメイン名解決の時間と遅延を効果的に削減します。 DNS ハイジャックを回避し、ネットワーク リクエストの速度と応答効率を向上させ、リクエストの成功率と信頼性を向上させます; 3
) エンドのドメイン名の TTL 時間を 60 秒に調整します: DNS キャッシュの更新を高速化し、新しいデータを取得しますIP アドレスの高速化、DNS 解決の遅延時間の短縮、4
) CDN による HTTP2.0 プロトコルのオープン: テキスト プロトコルをバイナリ プロトコルに置き換え、ヘッダー圧縮、フロー制御、優先順位などのテクノロジを通じてパフォーマンスと効率を向上させます。多重化を実現し、複数のリクエストと応答を 1 つの接続で同時に処理できるようにして、ネットワーク伝送効率を向上させます。5) CDN により、GZIP および
BR 圧縮が可能になり、データ伝送のサイズを大幅に削減し、ネットワーク伝送効率を向上させ、ユーザーを削減できます。待ち時間; 説明: GZIP および BR 圧縮を有効にする; 6) CDN によりTLSv1.3 プロトコル
が有効になる
: このプロトコルはセキュリティと信頼性が高く、ネットワーク攻撃やデータ漏洩を効果的に防止できます。 1RTT は接続を確立するプロセスで、ネットワーク伝送のセキュリティと信頼性を向上させます。7
) CDN により HTTP バックトゥソースが可能になります。ソース サイトからリソースを迅速に要求してキャッシュを更新できるため、CDN とソースの時間が短縮されます。サイト SSL を使用して接続を確立し、サービスの応答速度を向上させます。8) ソース サイトはアプリケーションに負荷をかけて長時間の接続を維持します。頻繁な接続確立とシャットダウンのメンテナンスのオーバーヘッドを回避し、ネットワーク伝送遅延を削減し、ネットワーク伝送効率を向上させます。9
)
ソースステーションはリンクを合理化し、サービス伝送の中間負荷を軽減し、不必要なネットワーク伝送を削減し、データ伝送の効率と安定性を向上させ、情報のスムーズで高速な伝送を保証します。
ここに画像の説明を挿入

エンドツーエンドの完全なリンク品質管理の結果

アプリのドメイン名コンバージェンスとインテリジェントな最適選択システムの実装を通じて、CDN メーカーの障害のあるサービスのシームレスな切り替え、CDN ノードのインテリジェントな選択、最適なユーザー リンクの中から最適なものの選択、統合されたドメイン名のコンバージェンスの問題を解決します。クライアント側、およびサーバー側のトラフィックの 50% 以上が透過的かつ鈍感です。主要な 4 つの集中ドメイン名により、接続の再利用が大幅に向上し、ネットワーク オーバーヘッドが削減されます。メイン アプリの低品質リクエストは 7 つ大幅に削減されます。複数の技術チームによる協力的なガバナンスを通じて .x% から 2.x% に向上し、何百万ものユーザーのエンドツーエンドのエクスペリエンスが向上します。
ここに画像の説明を挿入

エンドツーエンドのフルリンク品質ガバナンスの将来計画

エンドツーエンドの品質管理システムとツールベースの能力構築を継続的に改善し、よりインテリジェントな機械学習やその他の技術ツールと組み合わせて、システムの各リンクにおける主要指標の自動監視を実現し、問題を迅速に発見して排除し、システム全体の信頼性と信頼性を向上させます。
アプリのエンドツーエンドのフルリンクインターフェイスの低品質リクエスト管理に基づいて、リソース品質管理プロセス全体を開始し、低品質の画像とビデオの識別および管理システムを確立し、マルチメディアを効果的に圧縮、高速化、保護しますユーザーエクスペリエンスを向上させるためのリソースアクセス速度とセキュリティ、低品質リクエストの継続的管理、メインアプリのアクセス速度の高速化、失敗率の低減、データのセキュリティと安定性の強化、ユーザーインタラクションエクスペリエンスの向上により、ユーザー満足度と市場競争力の向上、ユーザーの定着率とコンバージョン率をさらに向上させます。

おすすめ

転載: blog.csdn.net/autohometech/article/details/131912607