この記事では
、Hivextクラウドプラットフォームの低レベルのアーキテクチャソリューション、つまりデータセンターのレベルとさまざまなタイプのサーバーの相互作用について説明します。
Hivextプロジェクトは、「リッチ」インターネットアプリケーション(リッチインターネットアプリケーション)を開発する際のリソース(時間と資金)のより効率的な使用を目的としており、幅広い既製の相互接続サービスを提供します。
IT-GRADのおかげで、サンクトペテルブルクのデータセンター(DC)にプラットフォームの追加コピーを無料で展開する機会を得ました。 VMware vSphere 4に基づいた仮想ホスティングが割り当てられています。Webインターフェースとデスクトップクライアントの両方を使用して、このようなホスティングを操作できます。すべてが非常に便利です。
現在、Hivextは、地理的に分散した3つのDCに展開されています。キエフ(ウクライナ)、ジトームィル(ウクライナ)、サンクトペテルブルク(ロシア)です。 各DC内のプラットフォームの構成は、特定の構造に従って構築されます。
私たちのプラットフォームの内部を見るといわば、私は提案します。
したがって、
ITスタートアップコンペでの勝利に関連して、プラットフォームの最新のコピーは、高いレベルの信頼性TIER3を備えた
IT Grad DCのサイトにある機器に配置されています。 これにより、99.95%の可用性、バックアップディーゼル発電機、水冷、ガス消火システム、24時間サポートサービスが確保されます。 すべてが一緒になって、銀行、通信会社、および当社のプラットフォームが配置されたフォールトトレラントプラットフォームを作成します。
DC相互作用スキーム
クライアントからのすべてのリクエストは、中央DCにある一般サイト
http://api.hivext.com/に送られます。 このノードには、要求が行われている特定の各アプリケーションの配置に関する情報が含まれています。 アプリケーションが別のDCにある場合、現在のDCはプロキシとして機能します。 ほとんどの場合、クライアントSDK(JavaScript、ActionScript、j2me、j2se、Qt)はプラットフォームのAPIを操作するために使用されます。プラットフォームのAPIは、最初に連絡したときに、アプリケーションがある特定のアプリケーションセンターを尋ね、その後のすべてのリクエストは目的のデータセンターに直接送られます。 したがって、2つの問題が解決されます-クライアントバランシングとDC間の簡単なアプリケーション移行。
1つのDC内でのコンピューターの相互作用
必要な機能を提供するために、4種類のコンピューターが使用されます。
- バランサー
- アプリケーションサーバー(Cloudlets)
- ファイルサーバー
- データベースサーバー
理想的な場合、一般的なスキームは、HA(高可用性)+ LB(負荷分散)の混合原理に従って機能します。 実際の場合(開発時)、HAは制限モードで使用され、バックアップサーバーはアプリケーションサーバーのみに使用されます。
クラウドプラットフォームの分野では、新しい概念Cloudletを導入します。これは、1 GBの固定メモリサイズを持つWebサーバー(この場合はTomcat)の1つのインスタンスです。
以下は、DCの1つにおけるさまざまな種類のプラットフォームコンピューターの相互作用の概略図です。
IT-GRADデータセンターでは、空きボリュームのリソースが割り当てられ、そこから次の構成を収集しました。
バランサー -1 vCPU、1 Gbメモリ、8 Gb HDD-Apache 2 + AJP(修正mod_jk)
Node1-3 vCPU、4Gbメモリ、52 Gb HDD-(マスター)tomcat 6(3pcs)+ NIS + NFS + FTP
Node2-3 vCPU、4 Gbメモリ、36 Gb HDD-Tomcat 6(3個)
DB -2 vCPU、8 Gbメモリ、200 Gb HDD-MySQL 5.1
残念ながら、競争で勝ったリソースは、個別のファイルストレージサーバーを編成するのに十分ではなかったため、一時的にノードの1つと結合されました。
バランサーは 、「スティッキー」セッション(スティッキーセッション)を使用して、Apache 2 + AJP(mod_jkによって変更)に基づいて実装されます。 Apache 2は、すべての静的ファイルが直接送信され、残りの要求がアプリケーションサーバーに転送されるように構成されています。 新しいアプリケーションの追加とドメイン名の割り当ては、Apache 2を再起動することなく行われます。
Cloudlet(アプリケーションサーバー)は tomcat 6に基づいており、Node1とNode2に6個の量でデプロイされ、DeltaManager + SimpleTcpCluster(インメモリレプリケーション)を使用して3つの別々のクラスターで構成されます。 これら3つのクラスター間でバランシングが行われます。
ファイルサーバーは静的ファイルを格納します。 静的ファイルはWebから直接アクセスでき、アプリケーションサーバー内のアプリケーションスクリプトからアクセスできます。
NFS 4を使用
すると、他のサーバーでのファイルの可用性が確保され
ます 。 FTPを使用して同じファイルにアクセスできます。
NISは 、コンピューター間でユーザーを同期するために使用されます。
データベースサーバーは 、マスタースレーブレプリケーションを使用するMySQL 5.1に基づいています。 アプリケーションごとに個別のデータベースが割り当てられます。 アプリケーションデータベースへのアクセスは、アプリケーションスクリプトおよびPhpMyAdmin Webインターフェースから利用できます。
ソフトウェアレベルでのプラットフォームの構成スキームを以下に示します
プラットフォームコアは、2つのSpring FrameworkとHibernateキットを使用します。
この記事では、Hivextクラウドプラットフォームの低レベルアーキテクチャについて簡単に説明しました。
-
次の記事で
、Quercusに
基づいてPHPを開く 、クライアントSDKの操作の説明。
Hivextに関する以前の記事
オンラインクラウド開発環境私たちのフォーラムメリットに関する質問やコメントを歓迎します。