配信とネットワークの原則について話しましょう

配信とネットワークの原則について話しましょう

同時実行性はどのようにして発生するのでしょうか?

周知のとおり、中国は10億人を超える大規模な人口と豊富な人口資源を有しています。インターネット/モバイルインターネットは今日急速に発展しています。人が多いので、全員がアプリを使っていると混雑が起こります。スーパーマーケットと同じように、人が多くて物が少ないと混雑します。何かを買う必要がある場合、遅いと買うことができません。朝、おじいちゃんやおばちゃんが卵を買いに急いでいる光景を目にしたことはありませんか?さらに、チェックアウトのプロセスが通常よりも遅くなり、購入制限が設けられる場合もあります。これは実際には、インターネット環境における高い同時実行性と同じ原理です。

それどころか、数千万人という人口基盤の小さい国もあり、それは我が国とは比較になりません。混雑は緩和されましたが、結局人が少ないのです。人数が増えれば、リソースも増えます。したがって、私たちのビッグデータは非常に急速に発展しています。人数が増えれば、ユーザーポートレート分析やユーザー行動分析も行いやすくなります。他の国では人口が数千万人、アクティブユーザーも数百万人程度しかいないため、ビッグデータをうまく活用することができません。

人が多いか少ないかで何が変わるのでしょうか?消費。国の人口が非常に多いため、開発できる資源もより多くあります。ある程度の手段があれば、それを活用して消費することができます。私は電子商取引プラットフォームです。運営・マーケティング・プロモーションをうまく行えば、より多くのユーザーを引きつけ、市場シェアを拡大​​し、消費量を増やすことができます。電子商取引会社が人口の少ない国で展開する場合、市場が小さすぎて消費レベルを上げることができず、人口が多い国と人口が少ない国とでは比較になりませんよね~友よ。では、皆さんなら何を思い浮かべやすいでしょうか?

  1. 有名人が結婚するとWeiboはクラッシュ
  2. 春節の旅行ラッシュの時期に12306がダウン、またはチケットが手に入らない
  3. これらはすべて、人口の多さによって生じる避けられない現象です。

さらに、ファンエコノミーと呼ばれるものもあります。今では誰もがセルフメディアです。たくさんのトラフィックとファンがいれば、Li JiaqiやLuo Pangのようにお金を稼ぐことができますよね?ライブショッピングは商品を宣伝する一つの方法です。このようにして、人々の購買意欲を刺激し、eコマースプラットフォームにトラフィックを送信することができます。

このとき、ライブ放送ルームの一部のユーザーは、eコマースプラットフォームにアクセスして買い物をします。それで、おおよそのトラフィック比率はどのくらいでしょうか?一般的に言えば、それは 28 または 37 の原則です。ユーザーの 20% またはそれ以下が参加するでしょう。ユーザーが 1,000 万人いるとすると、この時点でのトラフィックの流入は 200 万人になります。あなたのプラットフォームはそれを処理できますか?同時実行のサポートは十分ですか?負荷分散があるかどうか、高同時処理が可能かどうか、高可用性が実現されているかどうか、これらすべてを考慮する必要があり、ネットワークにも関連しています。したがって、多数のユーザーをサポートし、企業が大きな利益を上げたいのであれば、テクノロジーをビジネスに合わせ、システム全体の同時実行性、高可用性、安定性をすべて保証する必要があります。何らかのショートボード効果により問題が発生した場合、ユーザー損失は深刻となり、プラットフォームや企業への影響は甚大なものとなります。 12306 でない限り、ユーザーはそれを使用する必要があります。そうしないと、ユーザー トラフィックは他のさまざまなチャネルや電子商取引プラットフォームに分散されます。

そのため、テクノロジーは市場を牽引し、ユーザーを安定させるために使用されます。同時実行シナリオはどこにでもあるため、このプロセス全体が実際には分散システム アーキテクチャの開発となります。例えば:

モノリス --> 分散 --> クラスターの高可用性 --> 高同時実行性 --> マイクロサービス --> コンテナ化。

分散アーキテクチャの進化

負荷分散

ラウンドロビン、加重ラウンドロビン、ip_hash(一貫性ハッシュ)、url_hash、最小接続数

負荷分散は、7 層負荷分散と 4 層負荷分散に分けられます。

OSIネットワークモデルの原則

本質的に、上記のすべてはインターネットに基づいています。インターネットを通じてのみ、私たちは交流することができます。インターネット通信は私たちの生活に深く関係しています。ネットワーク通信に関しては、7 層モデルについて話す必要があります。これが実際にネットワークの基盤となります。多くの友人は、nginx とクラスターに触れると少し混乱します。これは実際にはよりネットワーク指向です。ここでそれについて話しましょう。

人と人との対面での会話は音声を通じて行われ、電話は電話回線を通じて行われます。したがって、2 人のユーザーがコンピューター (または携帯電話) 画面の両側で通信する場合、ユーザー A はコンピューターと対話し、次にコンピューターはユーザー B と対話して通信の目的を達成します。実際、人間とコンピュータの相互作用であろうと、コンピュータとコンピュータの相互作用であろうと、コミュニケーション プロセスが存在します。

通信にはコンピュータ ネットワークが関与し、インターネットに関連します。これは私が大学に通っていたときに必須の知識だったことを覚えています。これには OSI 7 層ネットワーク モデルが関係します。

写真

OSI とは何ですか?仕様として考えることができます。コンピュータ間の通信とデータ交換は、OSI 標準に準拠して、データを一方から他方に送信し、別のユーザーがそれを確認できるようにして、対話を実現する必要があります。また、階層化によって、各レイヤーの目的が明確になり、MVC と同様に、各レイヤーが独自の役割を実行して分離し、各レイヤーによって実行内容が決定されます。そして、各レイヤーの開発者はより集中的になります。異なる開発者が異なるレベルで保守を行っており、それらは相互に結合されていません。したがって、階層化された分離はあらゆる場所で行われ、開発プロセス中にさらに考慮される必要があります。簡単に見てみましょう:

写真

  1. アプリケーション層(レイヤー7):上図に示すように、2人のユーザーがQQまたはWeChatを介して通信し、コンピューターまたはスマートフォンに依存しています。そして、アプリケーション ソフトウェアは最初のレイヤー、つまりアプリケーション レイヤーにあります。このレイヤーは、呼び出しの http プロトコル、データ形式などを指定します。ソフトウェア アプリケーションである限り、それらはすべて、ソフトウェア、qq/WeChat/ブラウザー/idea/eclipse など、人々と通信するための最も直接的な媒体であるアプリケーション層に基づいています。
  2. プレゼンテーション層(第6層):プロトコル、文字列表現、暗号化
  3. セッション層(レイヤー5):セッションの確立と維持、アプリケーション間の通信の確立と管理
  4. トランスポート制御層(レイヤー4):接続を確立する方法、データを送信する方法、データ処理が正常か失敗か
  5. ネットワーク層(3層):データルーティング、処理するノードを見つける方法、データの通信方法、送信方法
  6. データ リンク層 (レイヤー 2): 通信プロトコルとその送信方法は何ですか?
  7. 物理層(レイヤー 1):WiFi、2g/3g/4g、ネットワーク ケーブルなど、目で見て触れることができる物理的な伝送機器。

7層モデル(プロトコル)の分類と統合

7 層モデルは、実際にはいくつかのプロトコルの定義と区分です。各層は異なる機能を実行し、異なるプロトコルに対応します。次の図に示すように、それらを再度結合することができます。 4層、5層、7層に分けることができます。

写真

各レイヤーは、次のようにのみ異なります。

  1. 物理層: WiFi、2g/3g/4g、ネットワークケーブルなど、目で見て触れることができる物理的な伝送設備。 WeChat で友達とチャットするとき、コンピューターをネットワーク ケーブルに接続し、友達が携帯電話で WiFi に接続する場合、これらはすべて物理層に属します。電話をかける場合も同様で、電話回線が必要です。
  2. したがって、コンピュータ間の伝送は物理層を通過します。どのような形式で伝達されるのでしょうか?それらはすべて 1010001001 のようなバイナリ データです。
  3. データリンク層: コンピュータが 1010001 などのバイナリ データを受信すると、そのデータは非常に長く、解析する必要があるため、8 ビットのグループに分割できます。各グループが 8 ビットの場合、データの計算と処理を実行できます。では、8 ビット (または 16 ビット/64 ビット) の各グループに対してこの作業を実行するのは誰でしょうか?リンク層で分割されており、物理層では機能が不十分なため実行できません。
  4. リンク層処理の標準プロトコルは、標準および仕様であるイーサネット プロトコルです。初期の頃は、多くの企業がバイナリ データをさまざまなグループにグループ化していましたが、これは使いやすかったものの、煩雑すぎました。より標準化するために、イーサネット プロトコルが採用されました。
  5. コンピュータ通信では、ヘッドとデータの 2 つの部分を含むデータ パケットが送信されます。
  6. ヘッドには送信者、受信者、データタイプ(送信元MACアドレス、宛先MACアドレス)が含まれます。
  7. データにはデータパケットの特定の内容が含まれます
  8. 休憩リクエストと非常に似ていますね。 :-)
  9. データを送信する場合は、ヘッドとデータが一緒に送信されます。一定の長さ制限がありますが、具体的な長さは忘れてしまいました。長すぎる場合は、切り取られて断片的に送信されます。断片化とは何かについては、Baidu で検索することができます。私たちはそれについて以前にも何度も話しました。
  10. したがって、このデータ パケットは、実際には通常の電話通話と同じです。発信者はデータの送信者、着信者はデータの受信者、会話の内容はデータ パケット、ということになりますね。
  11. ちなみに、パソコン内のアドレスは皆さんの携帯電話番号と同じです。これは MAC アドレスと呼ばれ、ネットワーク カードに関連しています。
  12. MAC アドレスについて: 以前、イーサネット プロトコルについて説明しました。このプロトコルでは、インターネットで通信するためには MAC アドレスが必要であることも規定されており、MAC アドレスはネットワーク カード内に存在するため、ネットワーク カードでのみインターネットにアクセスできます。各ネットワーク カードは、MAC アドレスに対応しています (知識ポイント、アーキテクト コースの Keepalived と LVS でこれについて説明しました。仮想 IP は、仮想マシンのネットワーク カードを通じて新しい VIP を仮想化できます)。携帯電話のカードと同じです。電話をかけたい場合は、携帯電話カードを購入する必要があります。各携帯電話カードには固有の携帯電話番号があり、その携帯電話番号を通じて電話をかけたり受けたりすることができます。
  13. したがって、このレベルのリンク層は主にデータ転送の形式を定義するために使用されます。一方の端がそれを送信し、もう一方の端がそれを受信して​​パケット分析を行います。
  14. ネットワーク層: この層は実際に IP プロトコルを定義します。ゲートウェイという概念があります。ネットワーク カードといえば何を思い浮かべますか? nginx ですか?ズール?ゲートウェイ?それで、それらはすべて何らかのコンピュータ ノード上に存在するのでしょうか?それらはすべて IP アドレスを持っています。実際、コンピュータのデータが送信されると、ゲートウェイを通過し、受信されるときもゲートウェイを通過します。仲介業者に相当します。簡単に言えば、電話をかけるときにはオペレーターを介さなければなりません。呼び出しから受付までの中間処理はオペレーターが行います。このとき、オペレータはゲートウェイ(データルーティングの役割も担う)と考えることができます。それは特定のアドレス、つまり IP アドレスに存在します。そして、地域ごとに異なるオペレーターが存在し、異なるオペレーターがさまざまな原産地を担当しています。すると、ローカルエリアネットワークでは地域(発信地)がわかり、携帯電話ではそれぞれのMACアドレスになります。同じエリア内のローカルエリアネットワークのIPアドレスは同じですが、携帯電話番号に対応するMACアドレスは異なりますよね?下の写真を見て理解してください(追加の食事)

写真

写真

4. トランスポート層: ポート間の通信を確立します。これはどういう意味ですか?つまり、IP アドレスと MAC アドレスを通じて対応するターゲット コンピュータ ノードを見つけることができるということです。では、今 WeChat や QQ でチャットしていて、そのデータが相手のコンピューターに送信された場合、相手の QQ や WeChat はどのようにしてデータを受信するのでしょうか?あるいは、データをWeChat QQに渡してユーザーに表示するにはどうすればよいでしょうか?このとき、ポートの概念が登場します。各アプリケーションにはポートがあります。アプリケーションを複数回開く必要がある場合は、ポート番号が異なる必要があります。原理はTomcatと同じです。各ポートはネットワーク カードに関連付けられています。コンピュータとやりとりするときは、常に 8080 などのポートを使用します。これにより、相手側の対応するアプリケーションがデータを受信して​​表示します。わかりました。

  • たとえば、電話をかける場合、多くの場合、誰も電話に出ないので、電話をかけるだけでは無駄になります。最後に内線番号を追加する必要があります。たとえば、8080 は内線番号で、人事部に電話をかけることができます。 8088 は上司やガールフレンドに電話をかけるのに使えます。これがポートの意味です。
  • トランスポート層のプロトコルは TCP と UDP です。 LVS はトランスポート層に属し、レイヤー 4 の負荷分散です。

5. アプリケーション層: アプリケーション層 + プレゼンテーション層 + セッション層を総称してアプリケーション層と定義します。 QQ、WeChat、ブラウザ、idea、eclipse など、ユーザーが使用するすべてのアプリケーションは、アプリケーション層に基づいています。これは、コンピュータと人間の間の最も直感的なやり取りです。アプリケーションごとにデータ形式やデータ構成形式が異なる場合があるため、アプリケーション層ではアプリケーションのデータ形式を指定します。たとえば、QQ/WeChat/メール/ブラウザなど、これらのアプリケーションがデータを送信する場合、プロトコルが異なり、データ形式も異なります。プロトコルの違いはプレゼンテーション層で標準化されます。セッション層はトランスポート層の上に構築され、セッションと呼ばれるものと一致します。これは、2 点間の通信を維持するため、つまり、アプリケーション間の通信を確立および管理するために使用されます。コンピュータを再起動した場合は、ソフトウェアを再度開いたときに接続を再確立する必要があります。つまり、セッションを再確立する必要があります。

<<:  Kubernetes RBAC とは何ですか?なぜそれが必要なのですか?

>>:  Kubernetes クラスター ネットワーク: k8s がサービスを外部に公開する方法

推薦する

人人動画と射殺ネットワークを閉鎖:司馬昭の野望

世界インターネット会議が開催され、有名なインターネット界の巨人たちが、FacebookやTwitte...

SEOWHY 創設者 Fu Wei 氏の「統合と集約」について

2012年9月、傅偉氏は深圳の麒麟ホテルで会員集会を開催しました。この集会のテーマは「新しい環境で考...

わずか 60 秒で k3s を使用してマルチノード K8S クラスターを作成します。

最近、Kubernetes 上でさまざまなテストとデプロイメントを行っています。その結果、Kuber...

世界のエッジコンピューティング市場 2020-2026: IoT アプリケーションの急速な成長

ResearchAndMarkets が発表したエッジ コンピューティング分析レポートによると、世界...

新しいウェブサイトを立ち上げるときに4つのことをすれば、5分以内にインデックスされることも夢ではありません。

みなさんこんにちは。私は先週、4 つのウェブサイトを立ち上げました。これらの 4 つのウェブサイトを...

クラウドとオンプレミス間のセキュリティギャップを埋める方法

ただし、東西トラフィック、つまり内部ネットワークとデータセンターを通過するがネットワーク境界を越えな...

Ramnode-128m メモリ openvz 簡易評価

本日、Host Cat は Ramnode から 128M メモリの VPS [Ramnode-VP...

ウェブサイトの最適化を成功させるための良い習慣

良い習慣があれば、何をするにしてもスムーズに完了できるようになります。昔から、「良い習慣があなたの人...

古い企業のウェブサイトを引き継いだ後に正しく最適化する方法

月収10万元の起業の夢を実現するミニプログラム起業支援プラン多くの SEO 実践者は企業で働いている...

エッジコンピューティングに関する誤解

エッジ コンピューティングの出現は、より広範なクラウド コンピューティングおよびインフラストラクチャ...

張朝陽はWeiboでSogouの3B戦争への参加が3SB戦争にアップグレードされたと発表した。

最近、360とBaiduの争いがインターネット業界で話題になっており、この戦いは業界では冗談めかして...

OVH-カナダ/2GメモリVPSシンプルレビュー

OVHが通常のVPSとVPSクラウドを正式に開始しました。価格は大きく異なりますが、共通点は10Tト...

オペレーター必読: Kubernetes プラットフォーム アーキテクチャ

Kubernetes は、大規模な分散コンテナ化されたソフトウェア アプリケーションを管理するオープ...

伝統的な大物たちはインターネットで飾り付けをしたいので、まず頭の後ろの三つ編みを切る

『易経』には「君子は豹のように変わり、悪人は顔つきを変える」という格言がある。翻訳すると、状況が変わ...

アメリカ人の「漢字おじさん」が漢字の知識を広めるために語源ウェブサイトを作成

漢字の起源ウェブサイトはスティーブの人生において最も重要な目的です。写真は記者劉星による記者の高思偉...