LoginSignup
1
0

More than 5 years have passed since last update.

[読書メモ]Pattern-Oriented Software Architecture(下準備) - 分散システムとは?

Last updated at Posted at 2018-01-24

(What)分散システムとは?

ネットワークに繋がれた複数のコンピュータを使って、プログラムを同時並行的に実行するシステムのこと。

(Why)なぜ分散システムを使うのか?

以下三つの観点がある

  1. Scalability
    • より多くのPCリソースを使うことで、計算処理をより早く終わらせるため。
  2. Resilience
    • 処理を担当できるPCが複数台あることで、その中のどれかがクラッシュなどで処理不能になった場合でも、処理自体は完遂可能にするため。
  3. Location
    • ネットワーク通信は時間がかかる(特に日本とブラジルのように物理的にも距離が遠いとなおさら)が、物理的にユーザとサーバを近づけることでネットワーク通信の速度を短縮するため。

特徴(分散システムをうまく動作させるために)

  • 個々のプログラムを疎結合にする必要がある。
    個々のプログラムはAPI経由で連携を取り合い、それぞれの実装については知っていてはならない。

  • データを重複して持っている必要がある。
    それぞれのプログラムが同じデータを参照すると、分散させている効力が発揮できない?
    だが、重複してデータを持つことは潜在的なバグの温床になるので、難しいところ。

参考

http://container-solutions.com/what-is-a-distributed-system/
https://ja.wikipedia.org/wiki/%E5%88%86%E6%95%A3%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0