
Duktig PHP 프레임 워크는 Docker 친화적이고 빠르고 가벼우 며 마이크로 서비스 개발을 위해 특별히 작성되었습니다.
Docker-Compose를 사용하여 지역 환경 에이 프로젝트를 배포하고 일부 기능을 개발하고 Docker 이미지를 구축하십시오.
로컬 환경 배포를위한 모든 Docker 이미지 준비는 이미 docker-deployment Directory에 포함되어 있습니다.
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 응답;)
그게 다야! 이제 향후 단계에 대한 예제와 튜토리얼을 읽을 수 있습니다.
하나의 명령으로 지역 환경에 프로젝트를 배포하십시오. 필요한 모든 제 3 자 Docker 이미지 준비는 데이터베이스, 웹 서버 등과 같이 이미 포함되고 구성되었습니다 ...
따라야 할 멋진 코드 예제가 포함되어 있습니다.
이 예제에는 RESTFUL API 개발, CRUD, 데이터 검증, 데이터베이스 액세스, 명령 줄 도구, 메시지/대기열, 게시/구독 등이 포함됩니다.
루트, 미들웨어, 컨트롤러, 모델 및 최종 JSON 응답을 포함하여 편안한 API 서비스를 개발하기위한 매우 쉬운 단계.
Redis 데이터 캐싱 메커니즘도 포함됩니다. 응답을 위해 자동 캐싱으로 경로를 구성 할 수 있습니다.
라우팅 및 컨트롤러 개발을 사용하여 몇 분만에 명령 줄 도구를 만듭니다.
이벤트 구독, 메시지 대기열 작업자 및 기타 도구는 명령 줄 환경에서 작동합니다.
이 프로젝트에 포함 된 예제가있는 Cron Docker 이미지.
Duktig Project에는 다양한 시나리오에서 사용할 수있는 게시 및 구독 기능이 포함되어 있습니다.
이 기능의 일반적인 목적은 각 명령 줄 서비스가 다른 서비스의 메시지를 구독 할 수있는 서비스 간 통신입니다.
MQ 기능을 통해 작업자를 개발하고 작업을 만들 수 있습니다. 소비자는 작업을 받고 작업자로 분할하여 처리 할 수 있습니다.
작업이 실패하면 구성된 양의 타일이 될 때까지 반복 할 수 있습니다.
Publish/Subscribe 및 Message/Queue 의 주요 차이점은 많은 가입자가 Message/Queue 작업이 각 서비스마다 고유 할 때 서비스에서 게시 한 메시지를받을 수 있다는 것입니다. 메시지/작업은 한 번에 한 명의 근로자 만 받고 처리 할 수 있습니다.
마이크로 서비스 개발에 대해 이야기하면 멋지고 쉬운 이벤트 구조 아키텍처를 갖는 것이 합리적입니다. 앞에서 언급했듯이 이미 Publish/Subscribe 메커니즘 BO 빌드 이벤트 구동 시스템이 있습니다.
Duktig 프레임 워크를 사용하면 이벤트를 게시하고 Redis를 사용하여 구독 할 수 있습니다. 당신이해야 할 일은 이미 개발 된 펍/서브 라이브러리를 사용하는 것입니다.
Duktig 프레임 워크에는 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 요청에 대한 헤더 기반 보안 액세스 키를 구성하고 사용하는 방법이 있습니다. RESTFUL API 인터페이스를 보호 해야하는 경우 간단한 경우입니다.
그러나 Duktig Project에는 JWT (JSON Web Token) 라이브러리가 포함되어 있으며 RESTFul API를위한 보안 인터페이스를 개발하는 데 사용할 수 있습니다.
Duktig는 스웨덴어에서 숙련, 능력 또는 열심히 일하는 것을 의미합니다.
OJ, Vad Duktig du är과 같은 문구로! (와우, 당신이 얼마나 숙련되었는지!) 칭찬입니다.
Duktig의 버전은 다음과 같은 세 가지 숫자로 정의되었습니다. xxx IE 1.3.8
| 첫 번째 숫자 | 두 번째 숫자 | 세 번째 번호 |
|---|---|---|
| 혁명 | 진화 | 버그 수정 |
저자 : Duktig Solutions [email protected]
2019 년 4 월 4 일부터 프로젝트 개발 아이디어