Hivext Cloud Platform-低レベルアーキテクチャ



この記事では、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種類のコンピューターが使用されます。

  1. バランサー
  2. アプリケーションサーバー(Cloudlets)
  3. ファイルサーバー
  4. データベースサーバー


理想的な場合、一般的なスキームは、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に関する以前の記事



オンラインクラウド開発環境

私たちのフォーラム



メリットに関する質問やコメントを歓迎します。



All Articles