
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日开始的项目开发想法