分散システムのアーキテクチャの探究

分散システムのアーキテクチャの探究

分散システムを扱う場合、コンテナを使用してサービスを構築するだけでは不十分です。アーキテクチャの選択を考慮し、適切なツールを使用して支援する必要があります。

アプリケーション アーキテクチャは、大規模なモノリスの時代から分散設計パターンへと移行しています。このトレンドを推進する主な要因の 1 つは、クラウド コンピューティングの出現とその非常に優れたスケーラビリティです。モノリシック アプリケーションの構築と管理に慣れている企業の場合、この変革の過程では、全員が古い設計手法を再学習し、一連の新しいパターンに適応する必要があります。次に、分散アプリケーション モデルに切り替えるときに習得する必要があるアーキテクチャの知識について学習します。

スケジューリング/オーケストレーション管理: 数百のインスタンスの管理から数千のインスタンスの管理まで、ホスト間でサービス インスタンス/コンテナをシームレスにオーケストレーション/スケジュールできる必要があります。この規模の拡大に対応するために、ワークロードのスケジューリングとオーケストレーションは、分散システムを実装するための重要な前提条件になります。 Docker Swarm、Kubernetes、Mesos、Marathon などのツールは、この分野を代表する代表的なツールです。

サービスの検出/登録: コンテナベースのサービスは常にオンラインとオフラインを繰り返すため、実行時にサービスを登録/登録解除し、サービス エンドポイントを検出するための管理メカニズムが必要です。 Consul、Zookeeper、etcd、Confd、Eureka などの製品は、このタスクを適切に実行できます。これらの製品のほとんどは、サービス インスタンス間での着信トラフィックの負荷分散もサポートしています。

システム ステータス管理/クラスター管理: クラスターが拡張するにつれて、サービス リソース、インスタンスの数、ホストの場所、各サービスの負荷内容など、クラスターのシステム ステータスを管理する必要があります。この目標を達成するには、クラスター管理ツールを使用してシステムの状態を追跡する必要があります。このようなオプションには、Docker Swarm Agents、Kubernetes Nodes/Masters、Mesos Slaves、Containership などがあります。

データ ストレージ: コンテナー ストレージの一時的な性質により、コンテナーの寿命を超えて存続するデータは、外部に永続的に保存する必要があります。 Docker Volume Plugin、Flocker、Kubernetes Persistent Volumes などはすべて、このような問題を解決するための理想的なオプションです。

ネットワーク: 各コンテナは異なるプロセスで実行されるため、サービス間のアクセスを管理および分離する必要があります。複数のコンテナが同じホスト上で実行できるため、ネットワーク リソースを安全に共有するには、コンテナを分離して安全なグループを確立する必要があります。同様に、各コンテナは他のホストでホストされているサービスを検出し、シンプル モードを使用してアクセスする必要があります。この分野では、Flannel、Weaveworks、Calico が優れています。

監視/監査/記録: 実行中のコンテナが何千もある場合、それらを監視/監査/記録するのは明らかに簡単な作業ではありません。分析のために、各コンテナからデータ/ログ レコードを抽出する必要があります。この点では、Loggly、Fluentd、ログエントリ、datadog、ELK スタックはすべて良い選択肢です。

これらに加えて、分散アプリケーションを構築する際には、コンテナ システムやコンテナ ランタイムなどの問題も考慮する必要があります。さらに、アプリケーション ランタイム、デプロイメント管理、DNS、セキュリティ、SSO/OAuth、API ゲートウェイ、サーキット ブレーカー メカニズム、パフォーマンス/スケーラビリティ モードなども、注意を払うべき重要な問題です。

<<:  SaaSは中盤を迎え、DockerとHTML5がトレンドになる

>>:  国美オンラインのナ・グアン氏:分散ストレージとコンテナ技術は、電子商取引の第一選択肢となっている

推薦する

電子商取引戦争が迫る、必見のウェブデザインボード5選

毎年恒例の電子商取引プロモーションイベントが近づいてきました。昨年の天猫ダブル11は、私たちの記憶に...

経験:ある企業のコピーライターがインターネットのソフトテキストマーケティングについて語る

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています編集者は金...

Baiduの外部リンクデータに基づいてウェブサイトの外部リンクを操作する方法

Baidu はついに外部リンク ツールのアップグレード版をリリースしました。このツールは自社サイトの...

競合他社から学ぶのが得意なSEO担当者は、より早く自分自身を向上させることができる

かつて私はドメイン名とIPアドレスの違いも分からない初心者でした。SEOに初めて出会ったのは、インタ...

学ぶ価値のある百度百科事典の最適化手法についての簡単な説明

Baidu 傘下の重要なプラットフォームなので、ほとんどの最適化担当者がよく知っていると思います。 ...

Pinduoduoのマーケティングゲーミフィケーション!

熾烈な競争が繰り広げられる電子商取引のレッドオーシャンで道を切り開く Pinduoduo の能力は、...

SEOサービス:クライアントとあなた自身の両方が考慮すべきこと

SEO は廃れつつあり、安値で注文を受けても儲からないと多くの人が騒いでいますが、私は SEO は捨...

分散システムの原理について話しましょう

[[313163]] 1 コンセプト1.1 モデルノード特定のエンジニアリング プロジェクトでは、ノ...

KEDA を使用して Grafana Loki クエリを自動スケールする方法

導入Grafana Loki (https://grafana.com/oss/loki/?pg=b...

Hiformance: 専用サーバー/最低 49 ドル/E3-1230v2/32g/1T/13IPv4

Hiformance は、独立サーバー、ロサンゼルス データ センター、クアドラネット コンピュータ...

海外のクラウドファンディングサイトの実務経験:なぜ法的認可を得られるのか

海外のクラウドファンディングプラットフォームのいくつかのルールと、海外のクラウドファンディングが法的...

SEOウェブサイト最適化キーワード競合分析

キーワードの最適化に携わる SEO 担当者にとって、キーワードの競争力を分析することは基本的なスキル...

草の根ウェブマスターはどのようにして SEO 最適化の壁を乗り越えるのでしょうか?

すべてのウェブマスターは、光明を得て明るい未来を築く前に、長いプロモーションの道を歩まなければなりま...