
Duktig PHP FrameworkはDockerフレンドリーで高速で軽量で、マイクロサービスの開発用に特別に書かれています
このプロジェクトは、Docker-Composeを使用して地元の環境に展開し、いくつかの機能を開発し、Docker画像を構築します。
ローカル環境の展開のためのすべてのDocker画像の準備は、すでにdocker-deploymentディレクトリに含まれています。
git clone https://github.com/duktig-solutions/Duktig-microservice-php.git
cd Duktig-microservice-php/docker-deployment
docker-compose up -d展開が成功した後、アクセシビリティを確認しましょう。
curl --request GET --url http://localhost:8088/system/pingご覧ください: pong反応;)
それでおしまい!これで、将来の手順の例とチュートリアルを読むことができます。
1つのコマンドだけでローカル環境にプロジェクトを展開します。必要なすべてのサードパーティのドッカー画像の準備は、データベース、Webサーバーなどなど、既に含まれており、構成されています...
フォローすべき素敵で非常によくコメントされたコードの例が含まれています。
この例には、RESTFUL API開発、CRUD、データ検証、データベースアクセス、コマンドラインツール、メッセージ/キュー、公開/購読などが含まれます...
ルート、ミドルウェア、コントローラー、モデル、最終的なJSON応答を含む、RESTFUL APIサービスを開発するための非常に簡単な手順。
Redisデータキャッシュメカニズムも含まれています。応答のために自動キャッシュを使用してルートを構成することができます。
ルーティングとコントローラーの開発を使用して、数分でコマンドラインツールを作成します。
イベントサブスクリプション、メッセージキューワーカー、およびその他のツールは、コマンドライン環境で機能します。
このプロジェクトには、例があるCron Docker画像も含まれています。
Duktigプロジェクトには、さまざまなシナリオで使用できる公開および購読機能が含まれています。
この機能の一般的な目的は、各コマンドラインサービスが他のサービスからのメッセージをサブスクライブすることができるサービス間通信です。
MQ機能により、労働者を開発し、タスクを作成できます。消費者はタスクを受け取り、労働者に分割して処理できます。
タスクが故障で終了すると、構成された量のタイルまで繰り返されます。
Publish/SubscribeとMessage/Queueの主な違いは、 Message/Queueタスクが各サービスにユニークである場合、多くのサブスクライバーがサービスによって公開されたメッセージを受信できることです。メッセージ/タスクは、一度に1人の労働者のみが受信および処理できます。
マイクロサービスの開発について話すと、イベント駆動型の素晴らしいアーキテクチャを持つことは理にかなっています。前述のように、私たちはすでにPublish/SubscribeメカニズムBOビルドイベント駆動型システムを持っています。
Duktigフレームワークを使用すると、イベントを公開し、Redisを使用してそれらを購読することができます。あなたがしなければならないことは、すでに開発されたパブ/サブ図書館を使用することです。
Duktigフレームワークには、MySQLおよびPostgreSQL用のデータベースライブラリが含まれています。データベースモデルを開発するには、いくつかの簡単な手順に従い、使用するベースモデルを継承する必要があります。
データベースモデルでAsynchronous queriesを実行する可能性があります。
Cron Dockerコンテナをゼロからセットアップする代わりに、自動データベースバックアップシステムを使用してReady To Run Solutionを提示します。構成された時間とコピーでMySQLデータベースをバックアップすることができます。
Duktigプロジェクトには、Redisサーバーを使用したシンプルなデータキャッシュメカニズムが含まれています。 RESTFUL API開発の場合、コードを記述することなく、ルーティング構成で自動コンテンツキャッシュを設定することができます。
定期的な検証関数を使用すると、多くの種類のデータを検証できます。ただし、Restful APIインターフェイスのために一連の検証ルールを作成し、着信要求から多次元JSONデータ/配列を検証することもできます。これにより、APIインターフェイスを迅速かつ安全に構築できます。
PHP-FPM Dockerコンテナで環境変数を使用するのに問題がある人とは異なり、 .envファイルに環境変数を定義し、コードで直接使用できます。確かに、Docker-Compose YAMLファイルで定義されているすべての環境変数またはdocker run ..コマンドは、ファイルで以前に定義された値を上書きします。
これにより、ハードコード化された構成データに問題がないことなく、Docker展開時間の環境変数を動的に定義できます。
HTTPリクエストにヘッダーベースのセキュアアクセスキーを構成して使用する方法があります。これは、Restful APIインターフェイスを保護する必要がある場合の簡単なケースです。
ただし、Duktigプロジェクトには、 JWT (JSON Webトークン)ライブラリが含まれており、RESTFUL APIのセキュリティで保護されたインターフェイスを開発するために使用できます。
Duktigは、スウェーデン語で熟練した、能力、または勤勉なことを意味します。
oj、vad duktig duärなどのフレーズで! (うわー、あなたはどれほど熟練しているか!)それは褒め言葉です。
duktigのバージョンは、次のように見える3つの数字で定義されています: xxx IE 1.3.8
| 最初の番号 | 2番目の番号 | 3番目の番号 |
|---|---|---|
| 回転 | 進化 | バグ修正 |
著者: Duktig Solutionsフレームワーク@duktig.solutions
2019年4月4日からのプロジェクト開発のアイデア