Heim  >  Artikel  >  Backend-Entwicklung  >  Praxis der PHP-Microservice-Architektur

Praxis der PHP-Microservice-Architektur

王林
王林Original
2024-06-05 14:58:09622Durchsuche

Praxis der PHP-Microservice-Architektur: LEMP-Stack installieren: Linux, Nginx, MySQL und PHP installieren. Erstellen Sie eine MySQL-Datenbank: Erstellen Sie eine Datenbank zum Speichern von Daten. Composer installieren: Verwenden Sie Composer, um PHP-Abhängigkeiten zu verwalten. Erstellen Sie den Microservice: Erstellen Sie mit Symfony ein neues Composer-Projekt und konfigurieren Sie den Service. Entitäten erstellen: Definieren Sie Entitäten für die Zuordnung zu Datenbanktabellen. Erstellen Sie ein Datenbankschema: Verwenden Sie Doctrine, um ein Datenbankschema zu erstellen. Erstellen Sie einen API-Controller: Einen Controller, der Benutzeranfragen verarbeitet. Ausführen von Microservices: Starten Sie Microservices mithilfe des in PHP integrierten Servers.

Praxis der PHP-Microservice-Architektur

PHP-Microservice-Architektur in der Praxis

Einführung
Microservices ist ein Software-Architekturstil, der Anwendungen in unabhängige und skalierbare Dienste aufteilt. PHP ist eine beliebte Backend-Sprache, die sich hervorragend zum Erstellen von Microservices eignet. Dieser Artikel führt Sie durch einen praktischen Fall, um den Aufbau der PHP-Microservice-Architektur abzuschließen.

Installieren Sie den LEMP-Stack.
Zuerst müssen Sie den LEMP-Stack (Linux, Nginx, MySQL, PHP) installieren:

# Ubuntu/Debian
sudo apt update && sudo apt install nginx mysql-server php8.1

# CentOS/Fedora
sudo yum update && sudo yum install epel-release
sudo yum install nginx mariadb php81

Composer installieren
Composer ist ein PHP-Abhängigkeitsmanagement-Tool:

CREATE DATABASE micro_services;
GRANT ALL PRIVILEGES ON micro_services.* TO 'user'@'localhost' IDENTIFIED BY 'password';

Microservices erstellen
Als nächstes erstellen Sie ein neues Composer-Projekt:

sudo curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer

Fügen Sie den folgenden Inhalt zu config/services.yaml hinzu Datei:

composer create-project symfony/skeleton micro_services
cd micro_services
Erstellen Sie die Entität src/Entity/User.php, die der Benutzertabelle in der Datenbank zugeordnet ist:
services:
    database.connection: # 数据库连接
        class: Doctrine\DBAL\Connection
        arguments:
            dsn: '%env(DATABASE_URL)%'
    monolog.logger: # 日志记录器
        class: Monolog\Logger
        arguments: [micro_services]
        calls:
            - [pushHandler, [new Monolog\Handler\StreamHandler('logs/dev.log')]]

Führen Sie den folgenden Befehl aus, um das Datenbankschema zu erstellen:

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="users")
 */
class User
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $email;

    // ...
}
config/services.yaml 文件:

composer dump-autoload &&
php bin/console doctrine:database:create

创建 src/Entity/User.php 实体,该实体映射到数据库中的用户表:

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
use Doctrine\ORM\EntityManagerInterface;

class UserController extends AbstractController
{
    /**
     * @Route("/api/users", methods={"GET"})
     */
    public function index(EntityManagerInterface $em): Response
    {
        $users = $em->getRepository(User::class)->findAll();

        return $this->json($users);
    }
}

运行以下命令来创建数据库模式:

php -S localhost:8000 public/index.php

创建 API 控制器
创建一个 API 控制器来处理用户请求:

rrreee

运行微服务
最后,启动 PHP 内置服务器来运行微服务:

rrreee

访问 http://localhost:8000/api/users

Create API-Controller🎜🎜Erstellen Sie einen API-Controller zur Verarbeitung von Benutzeranfragen:🎜rrreee🎜🎜Führen Sie den Microservice aus🎜🎜Starten Sie schließlich den in PHP integrierten Server, um den Microservice auszuführen:🎜rrreee🎜Besuchen Sie http://localhost:8000 /api /users, um die Benutzerliste abzurufen. 🎜

Das obige ist der detaillierte Inhalt vonPraxis der PHP-Microservice-Architektur. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn