
Duktig PHP框架是Docker友好,快速且輕巧的,專門為微服務開發而編寫
使用Docker-Compose ,開發某些功能並構建Docker Image,將此項目部署在本地環境中。
docker-deployment目錄中的所有Docker圖像準備都已經包含。
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響應;)
就是這樣!現在,您可以閱讀以後步驟的示例和教程。
僅使用一個命令將項目部署在本地環境中。所有必需的第三方Docker圖像準備都已包括和配置,例如數據庫,Web服務器等...
包括良好且評論良好的代碼示例。
此示例包括RESTFUL API開發,CRUD,數據驗證,數據庫訪問,命令行工具,消息/隊列,發布/訂閱等等...
開發寧靜的API服務的非常簡單的步驟,包括 - 路由,中間件,控制器,模型和最終JSON響應。
還包括重新數據緩存機制。可以配置具有自動緩存的路由以進行響應。
使用路由和控制器開發,僅在幾分鐘內創建命令行工具。
事件訂閱,消息隊列工人和其他工具在命令行環境中起作用。
Cron Docker圖像中還包含該項目中的示例。
Duktig項目包括發布和訂閱功能,可以在不同的情況下使用。
此功能的一般目的是服務間通信,每個命令行服務都可以在其中訂閱其他服務的消息。
MQ功能允許發展工人並為他們創建任務。消費者可以接收任務並分為工人進行處理。
一旦任務完成失敗,它就可以重複直到配置瓷磚量。
Publish/Subscribe和Message/Queue之間的主要區別在於,當Message/Queue任務是每個服務唯一的時,許多訂戶可以接收服務發布的消息。消息/任務只能一次由一個工人接收和處理。
一旦我們談論微服務開發,擁有一個良好且簡單的事件驅動的架構是有道理的。如前所述,我們已經有Publish/Subscribe機制BO構建事件驅動系統。
使用Duktig Framework,可以使用REDIS發布事件並為其訂閱。您要做的是使用已經開發的酒吧/子庫。
Duktig Framework包括MySQL和PostgreSQL的數據庫庫。要開發數據庫模型,您需要遵循一些簡單的步驟並繼承一個基本模型要使用。
有可能在數據庫模型中運行Asynchronous queries 。
我們沒有從頭開始設置Cron Docker容器,而是使用自動數據庫備份系統提供了準備運行的解決方案。它將允許您使用配置的時間和副本備份MySQL數據庫。
Duktig項目包括使用Redis服務器的簡單數據緩存機制。對於Restful API開發,可以在不編寫任何代碼行的情況下設置路由配置中的自動內容緩存。
常規驗證功能使您可以驗證許多類型的數據。但是,還可以製定一系列用於RESTFUL API接口的驗證規則,並從傳入請求驗證多維JSON數據/數組。這將使您能夠快速,安全地構建API接口。
與某些人在PHP-FPM Docker容器中使用環境變量很難使用的人不同,您可以在.env文件中定義環境變量並將其直接在代碼中使用。當然,在docker-compose yaml文件中定義的所有環境變量或在docker run ..命令將覆蓋先前在文件中定義的值。
這將使您能夠在Docker部署時間中動態定義環境變量,而不會在硬編碼的配置數據上遇到麻煩。
有一種方法可以為HTTP請求配置和使用基於標題的安全訪問密鑰。當我們必須保護恢復的API接口時,這是一個簡單的情況。
但是,Duktig項目包括JWT (JSON Web令牌)庫,您可以使用該庫來為您的RESTFUL API開發安全界面。
Duktig在瑞典語中意味著熟練,有能力或勤奮的工作。
在諸如OJ之類的短語中,Vad duktig duär! (哇,你有多熟練!)這是一種稱讚。
Duktig中的版本用三個數字定義,看起來像: xxx I 1.3.8
| 第一個數字 | 第二個數字 | 第三個數字 |
|---|---|---|
| 革命 | 進化 | 錯誤修復 |
作者: Duktig Solutions [email protected]
從2019年4月4日開始的項目開發想法