検索
ホームページバックエンド開発PHPチュートリアルKing of Glory の開発における同時実行性の問題の分析

この記事では、Honor of Kings の開発における同時実行性の問題についての非常に興味深いトピックを紹介します。このような問題を解決するためのアイデアを提供できることを願っています。Honor of Kings の開発における同時実行性の問題の分析について一緒に学びましょう。キングス。

「Honor of Kings」は、膨大なユーザーベースを持ち、高い更新頻度を維持している国家レベルのモバイルゲームです。このビジネス シナリオでは、バーストが非常に頻繁になっていますが、ビジネス経験が重要であり、CDN の使用が不可欠です。同様に、ニュース速報ビデオ、大規模なライブ ブロードキャスト イベント、人気の映画やテレビ シリーズのリリース、人気のゲームやその他のアプリケーションのリリースなど、帯域幅がバーストするシナリオがよくあります。同時に、ホーム帯域幅とモバイル ネットワークの急速なアップグレードにより、バースト帯域幅はますます大きくなり、Tb レベルや 10Tb に達することもあります。ビジネスの緊急事態を迅速かつ低コストで保護する方法は、CDN にとって大きな課題となっています。

中国で最も人気のあるモバイル ゲーム「Honor of Kings」には、数億人のユーザーと数千万人の毎日のアクティブ ユーザーがいます。ビジネスの緊急事態に迅速かつ低コストで対応するにはどうすればよいでしょうか?この記事では、この問題から始まり、問題に対応する解決策について説明し、その効果を要約します。

背景

2007 年、Tencent の自社構築 CDN が開始され、最初のビジネスである Tencent.com に接続されました。これまで、CDN 帯域幅は初期の数十 Gb から現在では数十 Tb まで増加していますが、単一サービスの帯域幅もますます大きくなり、ほとんどのサービスの一定帯域幅は数百 Gb であり、一部のバースト サービスも増えています。 10TBに達します。ネットワークの急速なアップグレード、モバイル ユーザーの爆発的な増加、オンデマンドやライブ ブロードキャストなどのビデオ サービスの台頭により、ビジネス バーストがますます頻繁になり、バースト帯域幅がますます高くなり、CDN の要件が高まっています。ますます高くなってきました。

Tencent のビジネスの急成長の恩恵を受けて、自社構築された CDN は、ゲームのダウンロード、ストリーミング ビデオのアクセラレーション、春節の赤い封筒など、Tencent の社内ビジネスを継続的にサポートしてきました。2014 年、Tencent は CDN の全機能を公開し、 Tencent Cloud CDN 製品は、社内のビジネスに加えて、Kuaishou On-Demand、Douyu Live などのサードパーティ顧客とも接続し始めています。上記のサービスはすべて、緊急事態を想定しており、コスト要件が厳しいです。Tencent CDN は、ビジネスの緊急事態を低コストで実現する方法について豊富な経験を蓄積しています。次に、課題と問題点、解決策と効果を分析します。

1. 課題と問題点

以下では、事業の特徴から始まり、現在の課題と問題点を分析します。

1. ビジネスの特徴と課題

CDN の多様なシナリオには、突発的なビジネスに対する課題がたくさんあります。バースト サービスは、大容量、多様なシナリオ、および不規則性を特徴としています。

a) 大容量: ほとんどのバースト サービス帯域幅は Tb を超え、一部は 10T に達することもあります

b) 多様なシナリオ: オンデマンドでの話題のドラマやニュース速報、ゲームのライブ ブロードキャスト。 NBA/ワールドカップなどのスポーツライブブロードキャスト、コンサートなどのバラエティ番組、アプリケーションダウンロードにおけるHonor of Kingsなどのゲームダウンロード、静的Webページアクセラレーションにおけるeコマースプロモーションなど。不定期: 突発的なイベントが発生する場合があります。イベントが始まろうとしているか、ニュース速報など、すでに始まっているまではわかりません。

ボリュームが大きく、より多くのリソースを準備する必要があります。シナリオは多様であり、さまざまなリソース要件を満たす必要があるため、拡張効率に高い要件が課されます。

2. 現在の問題

突然のビジネスニーズに対応するためだけに大量のリソースを予約すると、コストがかかりすぎ、リソースの膨大な無駄が発生します。したがって、ビジネスの緊急事態に対処するためにリソースは通常再利用されます。ただし、リソースを直接再利用するには次の 2 つの問題があります:

a) 再利用できるのは一部のリソースだけです: CDN ビジネスは、一般にビジネス タイプに応じてリソースの要件が異なるため、その主な理由は次のとおりです。オンデマンド サービスなど、より多くのストレージが必要です。より多くの https リクエストを伴う静的ページ クラスには、より多くの CPU リソースが必要です。この制限により、リソースが完全に活用されなくなり、リソースの準備がより困難になります。たとえば、ビデオ バーストでは主にビデオ バッファが使用されますが、ダウンロード バッファと Web ページ バッファは直接使用できないため、バッファのサイズが制限されます。同じ種類のリソースを再利用する場合でも、複数の経営リソースを調整する必要があるため、準備期間は通常 2 日を超え、一時的な緊急事態には対応できません

b) コストを削減できない: さらに、ゲームアプリケーションのダウンロードなどの突発的なサービスの場合、帯域幅のピーク時間帯は朝と昼です。このプラットフォームのリソースのみを使用すると、決済帯域幅が大幅に増加し、コストが増加します。他のサービスのオフピーク時間帯の特性を利用して、決済帯域幅を削減することはできません。

2. ソリューション

Tencent Cloud CDN は、仮想化を通じて既存のリソースを再利用して、すべてのサービスに共通のバースト プールを構築し、すべてのプラットフォームでバッファを共有します。 バースト プール内のデバイスは Docker 仮想マシンであり、各仮想マシンの仕様は異なり、ビジネスで必要な限りオンデマンドで使用できます。バースト プールの帯域幅予約は 10Tb に達し、基本的にすべてのビジネス バースト ニーズを満たすことができます。ビジネスで突然の需要が発生した場合でも、自動リスト インターフェイスを使用すると、10 TB のバースト プールを 10 分で拡張できます。

バーストプールシステムアーキテクチャ


a) バーストプール: 各プラットフォームの物理マシンの上位層で、Docker仮想マシンで構成されるリソースプールがCPU/メモリ/ディスクなどの使用を制限し、システムへの損傷を防ぎます。物理的なマシンの影響。元のビジネスは引き続き物​​理マシンにデプロイされているため、調整する必要はありません。

b) 自動化された導入および監視システム: 需要を自動的に予測し、実際のビジネス ニーズに基づいて容量を拡張できます。突然のニーズにも 10 分以内に拡張できます。オンデマンド/ダウンロード サービスの場合、ホット ファイルは自動的に配布され、ソースへの戻り帯域幅が削減されます。

c) スケジュール システム: 突然の用事が大量に発生するため、直通列車はドメイン名スケジュール システムよりも有利です。直通列車のスケジュール設定はより柔軟で、分単位のレベルまで迅速に反映されます。

仮想マシンと物理マシンはレポートエージェントとともに展開され、ビジネス情報とサーバー負荷が毎分監視シス​​テムにレポートされます。監視システムは過去の帯域幅に基づいて値を予測し、それを現在の帯域幅と比較します。現在の帯域幅が予測値の 50% を超える場合、バーストが発生していると見なされます。帯域幅の増加の割合に応じて、システムはバースト プールからの対応するデータを使用して機器を自動的に拡張します。事前に準備された予期せぬアクティビティに備えて、運用保守が帯域幅需要を指定すると、システムが自動的に機器需要を計算して容量を拡張します。

分単位で報告されるサーバー負荷情報は、監視システムがスケジュールを決定するための基礎を提供します。システムは、コンピュータ ルームの残りの帯域幅、サーバーの帯域幅、CPU、IO などの包括的な情報に基づいて、スルー トレインから仮想マシンを有効にする必要があるか無効にする必要があるかを判断します。アクセスするとき、ユーザーはまず急行列車配車システムを要求します。急行列車はスケジュール ポリシーに従って 302 アドレスを返します。302 アドレスは実際の CDN リソース アドレスです。ユーザーは 302 アドレスにジャンプし、実際のコンテンツを取得します。

2. 技術的な最適化

仮想化テクノロジーを使用してリソースを再利用するための重要な前提条件は、既存のビジネスに影響を与えないことです。これには、CPU/ディスクや帯域幅の使用状況などのリソースを十分に分離する必要があります。以下に実装プロセスにおけるいくつかの問題と解決策を示します:

● 単一マシンの負荷を正確に制御: 過剰な負荷はサービスの品質に影響を与えるため、単一マシンの負荷は正確に制御される必要があります。

解決策:

a) クォータ システム: 特急列車にはクォータ システムがあり、各仮想マシンが使用できるリソース (CPU/IO や帯域幅など) が制限されます。監視システムで報告される情報をクォータ システムと組み合わせることで、サーバーの負荷を分単位で指定された範囲に確実に制限できます。

b) 一部のリクエストは 302 を返します。CPU/帯域幅/IO などを制限した後、アプリケーションはホスト マシンの現在の負荷に基づいてリクエストをリアルタイムで処理するかどうかを決定できます。負荷が制限内であれば直接処理され、負荷が制限を超えた場合には 302 が返されるため、ユーザーは通過列車の配車アドレスにジャンプできます。これにより、サービスに影響を与えることなく負荷を正確に制御できます。可能な限りの品質。プログラム レベルでの負荷のリアルタイム制御は、クォータ システムを効果的に補完します。

c) ネットワーク カード フロー制御: 極端な場合、ビジネス帯域幅が設定されたしきい値を超えると、仮想ネットワーク カードはマザー マシンへの影響を避けるために積極的にパケットをドロップします。

● ディスク サイズの制限: Docker は、ext3/ext4 ファイル システムのファイル/ディレクトリ レベルでディスク サイズを制限できません。

解決策:

Tencent Cloud CDN ビジネスは基本的に ext3/ext4 ファイル システムを使用するため、この場合 Docker はユーザーまたはユーザー グループに基づいてディスクを制限することしかできませんが、既存のネットワーク サービスはルート環境に直接存在します。以下を使用します。ここでは、ループ デバイスを使用してディスク サイズ制限の問題を解決します。仮想マシンのバースト サービスは、ループ デバイスにマウントされたディレクトリを使用します。これにより、ディスク サイズが間接的に制限され、過剰なディスクの使用が他のサービスに影響を与えるのを防ぐことができます。

● CPU バインド: デフォルトでは、すべての CPU がバインドされます。一部の単一 CPU の負荷が高くなると、マザー マシンのビジネスに影響します。

解決策:

頻繁な調整やグリッチデータの影響を避けるために、システムの単一 CPU 負荷を 1 分ごとに収集します。平均値は 15 分です。最後に、負荷の低いいくつかのコアが選択され、構成ファイル cpuset.cpus を通じて動的にバインドされ、ホスト マシンのビジネスに対する仮想マシンの影響を最小限に抑え、リソースを最大限に活用します。

バースト プールがオンラインになった後、キング オブ グローリーのダウンロード、NBA ライブ ブロードキャスト、KPL/LPL ゲーム ライブ ブロードキャストなど、多くの大規模なバースト イベントを効率的にサポートし、2,000 万元のコストを節約しました。バッファを共有することにより、バースト プールを構築すると、バースト機能が大幅に向上し、コストが削減されます。

概要

Tencent Cloud CDN は、Docker テクノロジーを使用してリソースを再利用し、Tb レベルのバースト プールを構築します。ライブ ブロードキャスト、オンデマンド、静的などのさまざまなビジネス バーストをサポートし、ビジネス バーストのニーズを自動的に検出して対応します。 10 分以内にリソース拡張が完了し、迅速なリリースと低コストが特徴です。リソースの再利用により、リソースの使用率が向上し、サービスに巨大なバースト プールが提供されます。ただし、これには、サーバーのリアルタイム監視とタイムリーなスケジューリングが必要であることに注意してください。また、さまざまなサービスのチューニングを容易にするためのコンテナ分離に基づくカーネル パラメータなど、改善の余地がある領域もいくつかあります。また、一部のビジネス クライアントは 302 ジャンプをサポートしておらず、スケジューリング システムはドメイン名スケジューリングをサポートする必要があります。

関連する推奨事項:

Web 開発における高同時実行の問題の解決

高同時実行下での PHP と Redis を使用したスナップアップおよびフラッシュ セール関数の例の詳細な説明

PHP 読み取りのための高同時実行ソリューションの概要-書き込みファイルの競合

以上がKing of Glory の開発における同時実行性の問題の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
王者qq微信怎么跟好友一起玩王者qq微信怎么跟好友一起玩Mar 28, 2024 pm 02:06 PM

王者上线了重大功能,qq微信互通可以一起玩了,到底怎么跟好友一起玩,需要两个人下载王者营地,匹配到一个人之后,加个联系方式,在让匹配的人帮你拉你好友,具体内容一起来看看这篇王者qq微信跟好友一起玩方法介绍。王者荣耀攻略大全王者qq微信怎么跟好友一起玩1、两个人需要下载王者营地。2、进入软件选择聊天按钮。3、接着选择右上角联系人滴哒。4、先不要急着匹配点击自定义设置自己想要匹配的人的段位和分路。5、就可以进行匹配了,QQ和微信区的人都有。6、匹配到人之后加个联系方式,让他帮忙拉你好友就可以了,双方

Nuitka简介:编译和分发Python的更好方法Nuitka简介:编译和分发Python的更好方法Apr 13, 2023 pm 12:55 PM

译者 | 李睿审校 | 孙淑娟随着Python越来越受欢迎,其局限性也越来越明显。一方面,编写Python应用程序并将其分发给没有安装Python的人员可能非常困难。解决这一问题的最常见方法是将程序与其所有支持库和文件以及Python运行时打包在一起。有一些工具可以做到这一点,例如PyInstaller,但它们需要大量的缓存才能正常工作。更重要的是,通常可以从生成的包中提取Python程序的源代码。在某些情况下,这会破坏交易。第三方项目Nuitka提供了一个激进的解决方案。它将Python程序编

我创建了一个由 ChatGPT API 提供支持的语音聊天机器人,方法请收下我创建了一个由 ChatGPT API 提供支持的语音聊天机器人,方法请收下Apr 07, 2023 pm 11:01 PM

今天这篇文章的重点是使用 ChatGPT API 创建私人语音 Chatbot Web 应用程序。目的是探索和发现人工智能的更多潜在用例和商业机会。我将逐步指导您完成开发过程,以确保您理解并可以复制自己的过程。为什么需要不是每个人都欢迎基于打字的服务,想象一下仍在学习写作技巧的孩子或无法在屏幕上正确看到单词的老年人。基于语音的 AI Chatbot 是解决这个问题的方法,就像它如何帮助我的孩子要求他的语音 Chatbot 给他读睡前故事一样。鉴于现有可用的助手选项,例如,苹果的 Siri 和亚马

ChatGPT 的五大功能可以帮助你提高代码质量ChatGPT 的五大功能可以帮助你提高代码质量Apr 14, 2023 pm 02:58 PM

ChatGPT 目前彻底改变了开发代码的方式,然而,大多数软件开发人员和数据专家仍然没有使用 ChatGPT 来改进和简化他们的工作。这就是为什么我在这里概述 5 个不同的功能,以提高我们的日常工作速度和质量。我们可以在日常工作中使用它们。现在,我们一起来了解一下吧。注意:切勿在 ChatGPT 中使用关键代码或信息。01.生成项目代码的框架从头开始构建新项目时,ChatGPT 是我的秘密武器。只需几个提示,它就可以生成我需要的代码框架,包括我选择的技术、框架和版本。它不仅为我节省了至少一个小时

解决Batch Norm层等短板的开放环境解决方案解决Batch Norm层等短板的开放环境解决方案Apr 26, 2023 am 10:01 AM

测试时自适应(Test-TimeAdaptation,TTA)方法在测试阶段指导模型进行快速无监督/自监督学习,是当前用于提升深度模型分布外泛化能力的一种强有效工具。然而在动态开放场景中,稳定性不足仍是现有TTA方法的一大短板,严重阻碍了其实际部署。为此,来自华南理工大学、腾讯AILab及新加坡国立大学的研究团队,从统一的角度对现有TTA方法在动态场景下不稳定原因进行分析,指出依赖于Batch的归一化层是导致不稳定的关键原因之一,另外测试数据流中某些具有噪声/大规模梯度的样本

摔倒检测-完全用ChatGPT开发,分享如何正确地向ChatGPT提问摔倒检测-完全用ChatGPT开发,分享如何正确地向ChatGPT提问Apr 07, 2023 pm 03:06 PM

哈喽,大家好。之前给大家分享过摔倒识别、打架识别​,今天以摔倒识别​为例,我们看看能不能完全交给ChatGPT来做。让ChatGPT​来做这件事,最核心的是如何向ChatGPT​提问,把问题一股脑的直接丢给ChatGPT​,如:用 Python 写个摔倒检测代码 是不可取的, 而是要像挤牙膏一样,一点一点引导ChatGPT​得到准确的答案,从而才能真正让ChatGPT提高我们解决问题的效率。今天分享的摔倒识别​案例,与ChatGPT​对话的思路清晰,代码可用度高,按照GPT​返回的结果完全可以开

17 个可以实现高效工作与在线赚钱的 AI 工具网站17 个可以实现高效工作与在线赚钱的 AI 工具网站Apr 11, 2023 pm 04:13 PM

自 2020 年以来,内容开发领域已经感受到人工智能工具的存在。1.Jasper AI网址:https://www.jasper.ai在可用的 AI 文案写作工具中,Jasper 作为那些寻求通过内容生成赚钱的人来讲,它是经济实惠且高效的选择之一。该工具精通短格式和长格式内容均能完成。Jasper 拥有一系列功能,包括无需切换到模板即可快速生成内容的命令、用于创建文章的高效长格式编辑器,以及包含有助于创建各种类型内容的向导的内容工作流,例如,博客文章、销售文案和重写。Jasper Chat 是该

为什么特斯拉的人形机器人长得并不像人?一文了解恐怖谷效应对机器人公司的影响为什么特斯拉的人形机器人长得并不像人?一文了解恐怖谷效应对机器人公司的影响Apr 14, 2023 pm 11:13 PM

1970年,机器人专家森政弘(MasahiroMori)首次描述了「恐怖谷」的影响,这一概念对机器人领域产生了巨大影响。「恐怖谷」效应描述了当人类看到类似人类的物体,特别是机器人时所表现出的积极和消极反应。恐怖谷效应理论认为,机器人的外观和动作越像人,我们对它的同理心就越强。然而,在某些时候,机器人或虚拟人物变得过于逼真,但又不那么像人时,我们大脑的视觉处理系统就会被混淆。最终,我们会深深地陷入一种对机器人非常消极的情绪状态里。森政弘的假设指出:由于机器人与人类在外表、动作上相似,所以人类亦会对

See all articles

ホット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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、