SwooleDistributedがswoole分散システムを実現することで、彼はswoole拡張子ベースの分散通信フレームワークを提供します。回路図:
だけでなくSwooleDistributedスタンドアロンモードもディスパッチモジュールのクラスタシステムを構築することができるとして配布を構築するために必要な施設を提供するだけでなく、あなたが書くコードの効率を改善するための4つの主要なコンポーネントを提供し、あなたが展開されることができます。
私たちの余分の開発を容易にするために、ほかにSwooleDistributedで唯一のモデルとコントローラーがあるので、従来のMVCアーキテクチャとは異なり、RPCサービスや通信サービスとの主要な取引をSwooleDistributed、それはMVCビューモジュールに言うことですが、議論の余地があります追加の2つの構成要素は、タスクとタイマーです。
彼は多くの場合、複雑で時間のかかるコールを望まないようなタスク・コンポーネントは、主に、部品あなたがする場合は、複雑ではありません、単純な処理の非同期操作swoole労働者支援のためにのみ適しているため、簡単な構造のタスクの設計プロセスに、非同期タスクを処理しますA。
タイマータイマーは、あなたはタイマーによってスケジュールされたタスクを実行することができ、彼とタスクのコンポーネントが密接に関連して、パッケージ化されています。
現在、非同期接続プールのRedisが促進されて、あなたは単に私たちが優雅に解決して、接続プールを気にせずに便利Redisの非同期サービスを使用することができます。しかし、それはすべての非同期サービス呼び出しが唯一のワーカープロセスに許可されていることは注目に値する、タスクの同期プロセスは、サービスを呼び出すことができます。
将来的には達成されます。
1.非同期サービスのMySQLは、MySQLは、管理接続プールを確立します。
2.mysql文法ビルダー、すばやくmysqlのステートメントを構築するのに役立ちます。
分散非同期タスクを実装するメッセージ・キューイング・システムを組み合わせた開発3.Jobサービスコンポーネント、。
インストール手順:
-
7.0 PHP
2. swooleの最新バージョンを必要とし、githubのコンパイルswooleをダウンロードしてください、1.8.7のバグがphp7.0での使用は推奨されていない
非同期のRedisのRedisのサポートについては選択オプション3.インストールRedisの拡張swooleはコンパイル
4.必要性を作曲支援、設置作曲、作曲はインストールインストールを実行依存し
、独自のクラスタLVSをビルドするには5.実行します。
-
PHPはスタートstart_swoole_server.php
サーバswooleサーバ起動する
起動start_swoole_dispatch.php 2.php
swooleディスパッチサーバを起動
3.スタートswooleサーバが別々の分散性を持っていない、物理マシンにのみ開始swooleサーバーことができます
4.swooleディスパッチサーバはswooleできます物理サーバマシン上で、単一の物理マシンのみswooleディスパッチを開始させる
システム(少なくとも一つのステーションLVS、2組swooleサーバ、swoole発送ステーション、ブート複数swooleサーバ5と、複数swooleディスパッチ建物は、分散します1つのRedisの)
独立したスタンドアロンサーバーとして起動swooleサーバ6。
7.コンフィギュレーションのconfigディレクトリを変更し、独自の構成を変更してください。
8.swooleサーバーとswoole発送が同じネットワークセグメント上に存在する必要があります。swooleは何も設定を派遣しない、swooleサーバが自動的に検出
9.swooleサーバーとswooleディスパッチサポートダイナミック弾性展開、プラグアンドプレイする準備を。行が見つけて接続を確立するために30秒以内swoole swooleディスパッチサーバした後
10内蔵コントローラ、モデル、タスク3つの大モジュールは
11.swooleサーバswooleディスパッチはステートレスサーバーであるように設計され、すべての情報がRedisのを通して共有します
12.最新バージョンでは、この問題を解決する、エレガントな非同期のsendMessage技術を、新しい接続プールのRedisのプロセスを開くことで、非同期Redisのデータストレージを使用しaddProcessを使用して、結果を配布します。
負荷を使用する場合13.注taskproxy単一の場合は、変数のメンバーになりません。
SDドッカーはPHP7.1の拡張機能やツールだけでなく、すべての必要なフレームワークを含む画像・デプロイメント環境のためのフレームワークを提供します。
また、それはすぐにSDクラスタ環境を構築するために、レイアウトテンプレートを支援するためのリソースを提供します。
ドッカー書籍
ドッカーとドッカー-作曲はダウン詰め込むに精通していないことができます。
ドッカー-エントリから実践へインストールドッカー
私は、あなたが最初にアリクラウドアカウントを登録示唆、アリクラウドドッカーミラー倉庫訪問
ドッカーイメージウェアハウスを次のドキュメントがインストールされ、ドッカー設定されていることによって、アプリケーション固有のアクセラレータは、対応しています。
画像を選択
SDフレームワークは、2つのミラーを提供しています
このバージョンでは、画像フレームのSD動作環境を含むベース画像であるが、コード作曲のインストールが含まれていません。
このバージョンは、完全なSD画像フレームであり、インストールのCode Composerのインストールを備え、実行することができます。
どのようにミラーを選択するには?
あなたのcomposer.json場合は余分な依存関係は、そうでない場合swooleベースイメージによって生成され、直接ミラーリングSD選択することはできません。
ミラーリング
swooleベースイメージでオペレーティング環境を調整。
1.テンプレートをダウンロード
gitの クローンます。https://github.com/tmtbe/swoole-docker.git
SDのフォルダがcomposer.jsonカバレッジにコピーされます検索します。
2.ミラーを作る
SDファイルディレクトリに、次のコードを実行します。ドッキングウィンドウは、-t mysdを構築します。
最後は「」、無視しないことに注意してください。
3.ミラーを実行します
ドッキングウィンドウの実行mysd
4.マウントカタログコード
あなたのコードは、/アプリケーションディレクトリにコピー、またはいくつかの調整を行うことが適切であろう、私たちはsrcディレクトリをマウントする必要があります。
ドッキングウィンドウ-v実行/アプリケーション/ SRC:/アプリケーション/のsrc mysd
リソーススケジューリング
私たちは、環境がリソーススケジューリングによって展開することができ、クラスタ化
-
上記工程により製造さ排他的画像
-
ドッキングウィンドウ-compose.ymlを編集するためのオープンディレクトリにAPPファイル、
-
実行展開をアップドッカ、作曲
ここで説明する注意
-
DVCデータボリュームコンテナは、コードが動的に更新マウントします。
-
領事サーバ自身がクラスタパターンとして展開することができ、テンプレートは、単一の実施形態です。
-
画像は上記mysdような生成のための画像のSDは、あなたの名前を記入します。
-
SDフレームワークは、環境変数を提供します
環境変数
SDフレームワークは、ドッカーの展開を使用して簡単に、環境変数を提供します
SD_NODE_NAME
NODE_NAME領事の交換
SD_CONFIG_DIR
設定し、サブディレクトリconfig設定ファイル
SD枠組み文書住所:http://docs.youwoxing.net
-