分散、高同時実行性、マルチスレッドを区別できますか?

分散、高同時実行性、マルチスレッドを区別できますか?

これら 3 つの単語を見ると、分散 = 高い同時実行性 = マルチスレッドと考える人が多いのではないでしょうか。

面接官が、高同時実行システムを解決するためにどのような方法を使用できるか、または分散システムは一貫性の問題をどのように解決するかを尋ねたとき、あなたは混乱しますか?

実際、初めてこれらに接した人の多くは、いわゆる分散型高同時実行システムは多数のユーザーが同時にアクセスできるシステムであり、マルチスレッドの使用によってシステムの同時実行機能を提供できると誤解して、この 3 つを混同しています。実際、この 3 つは常に一緒に存在していますが、焦点は異なります。

[[252994]]

何が配布されますか?

分散はむしろ概念であり、単一の物理サーバーの容量とパフォーマンスのボトルネックの問題を解決するために使用される最適化方法です。この分野には、分散ファイルシステム、分散キャッシュ、分散データベース、分散コンピューティングなど、解決すべき問題が数多くあります。Hadoop、Zookeeper、MQ などの用語はすべて分散に関連しています。概念的には、分散実装には 2 つの形式があります。

水平拡張: 1 台のマシンでトラフィックを処理できない場合は、マシンを追加してトラフィックをすべてのサーバーに均等に分割し、すべてのマシンが同等のサービスを提供できるようにします。

垂直分割: フロントエンドに複数のクエリ要件がある場合、1 台のマシンですべてを処理することはできません。異なる要件を異なるマシンに分散できます。たとえば、マシン A は残りのチケットの問い合わせのリクエストを処理し、マシン B は支払いのリクエストを処理します。

高い同時実行性とは何ですか?

分散と比較すると、高並行性は問題解決に重点を置いており、同時に行われるボリュームの量を反映します。たとえば、オンラインライブブロードキャストサービスは、数万人が同時に視聴できます。

高い同時実行性は、同時トラフィックを異なる物理サーバーに分割できる分散テクノロジによって解決できます。しかし、これ以外にも、キャッシュ システムの使用、すべての静的コンテンツを CDN に配置するなど、最適化方法は数多くあります。マルチスレッド技術を使用して、サーバーのサービス容量を最大化することもできます。

マルチスレッドとは何ですか?

マルチスレッドとは、ソフトウェアまたはハードウェアから複数のスレッドの同時実行を実装する技術を指します。これは、CPU が複数のプロセスをスケジュールして、それらのプロセスが同時に実行されているように見えるようにする (実際には交互に実行される) という問題を解決することです。

これらの概念の中で、マルチスレッドが解決する問題は最も明確であり、その手段も比較的単純です。基本的に、遭遇する最大の問題はスレッドの安全性です。 JAVA 言語では、高品質のマルチスレッド コードを書くために、JVM メモリ モデル、命令の並べ替えなどを深く理解する必要があります。

要約すると:

  • 分散とは、物理リソースの観点から、異なるマシンを 1 つに統合して外部サービスを提供することを意味します。技術的な範囲は非常に広く、難易度も非常に高いです。この基盤により、高同時実行性と高スループットのシステムを簡単に構築できます。
  • 高い同時実行性は、ビジネスの観点から見たシステムの機能を表します。高い同時実行性は、分散方式、キャッシュ、CDN、そしてもちろんマルチスレッドによって実現できます。
  • マルチスレッドは、プログラミング言語を使用して CPU のスケジューリング機能を最大限に活用する方法に重点を置いています。

分散型で高度な並行システムには、多数の概念と知識ポイントが関係します。体系的な学習がなければ、概念が混同され、不明瞭になりやすく、面接や実際の仕事で困難が生じます。

<<:  サーバー仮想化オープンソース技術の主流アーキテクチャをめぐる議論

>>:  クラウドコンピューティングに続き、フォグコンピューティングがスマート消防を実現

推薦する

草の根レベルでは新しいインターネットモデルを理解する必要があるが、すべてを行う必要はない

インターネットが人々の生活に重要な役割を果たしている理由は、利便性などの本来の要素に加えて、革新のス...

Webmaster.comからの毎日のレポート:山東ウェブマスター会議が開催、Xiaomi Boxの8日間の夢は打ち砕かれる

1. 2012年山東インターネットウェブマスター会議が済南で成功裏に開催されました11月26日のAd...

【6つの主要な基準】ウェブサイトのキーワードランキングの優位性を判断する

この段階では、ウェブサイトの最適化はユーザー開発とコンテンツ開発に関するものです。コンテンツ開発には...

画像サイトのコンテンツと画像記事のレイアウトを最適化するためのポイント

多くの画像ウェブサイト、特に美しい写真を表示するウェブサイトは、Baidu のキーワードランキングに...

K8S の汚染と耐性を 5 分で理解する

K8S では、ポッドがノード上の汚れを許容できる場合、そのポッドをそのノードにスケジュールできます。...

投資を探すとき、スタートアップをどのように評価しますか?

よく、企業が資金調達をしようとしているときや買収交渉をしているときに、この質問を受けます。「私の会社...

事実と根拠を提示してフォーラム署名の有用性を分析する

最近、Baiduの外部リンク取り締まりがますます厳しくなり、Kサイトが流行っています。SEO業界は本...

ブランドマーケティングのポジショニングに関する 5 つのヒント!

自分自身を位置付ける方法はたくさんありますが、その核心はただ一つ、認知において有利な位置を占めること...

クラウドプラットフォーム・ストレージに関連するクラウドサービス(クラウドハードディスク)の使い方を一挙解説!

クラウドコンピューティング技術の段階的な成熟と急速な発展、特にデジタル変革の継続的な進歩により、企業...

phpwind9.0は9月12日にリリースされます。機能の概要

6.0 シリーズから 7.0 シリーズ、そして現在の 8.0 シリーズまで、phpwind の各バー...

#リアル VPS クラウド: vexxhost - $5/1g メモリ/40g SSD/4T トラフィック/1000M ポート

HostCat は何度も vexxhost を推奨していますが、多くの人はそれに注意を払っていません...

Baidu の新しいアルゴリズムに従って企業のウェブサイトの最適化方法を改善する

インターネットの目覚ましい発展に伴い、Baiduのアルゴリズムはますます頻繁に更新され、企業のウェブ...

企業ウェブサイトのユーザーエクスペリエンスに影響を与える要因: 400 の電話番号

企業ウェブサイトが百度プロモーションを行うにせよ、SEOを行うにせよ、最終的な目標は受注を獲得するこ...

2019年第3四半期海外アプリケーション市場レポート!

2019年第3四半期、新興市場におけるモバイルインターネットの普及率の増加により、オンライン決済とモ...