Heim >Backend-Entwicklung >PHP-Problem >Was sind PHP-Microservices?
Was sind Microservices?
Microservice besteht darin, ein vollständiges System entsprechend den Geschäftsfunktionen in unabhängige Subsysteme aufzuteilen. In der Microservice-Struktur wird jedes Subsystem als „Service“ bezeichnet. Diese Subsysteme können unabhängig voneinander in Webcontainern ausgeführt werden und über RPC miteinander kommunizieren.
Angenommen, Sie müssen ein Online-Einkaufszentrum entwickeln. Gemäß der Idee von Microservices müssen wir diese nach Funktionsmodulen in mehrere unabhängige Dienste aufteilen, z. B.: Benutzerdienste, Produktdienste, Bestelldienste, Hintergrundverwaltungsdienste, Datenanalysedienste usw. Jeder dieser Dienste ist ein unabhängiges Projekt und kann unabhängig ausgeführt werden. Wenn Abhängigkeiten zwischen Diensten bestehen, werden diese über RPC aufgerufen.
Vorteile:
1. Die Kopplung zwischen Systemen wird erheblich reduziert und sie können unabhängig voneinander entwickelt, bereitgestellt und getestet werden. Die Grenzen zwischen den Systemen sind sehr klar, das Debuggen wird ganz einfach und die Entwicklungseffizienz wird erheblich verbessert.
2. Die Kopplung zwischen Systemen wird reduziert, wodurch das System einfacher zu erweitern ist. Wir können bestimmte Dienstleistungen gezielt ausbauen. Gehen Sie davon aus, dass in diesem Einkaufszentrum eine große Werbeaktion stattfinden wird und das Bestellvolumen stark zunehmen kann. Daher können wir die Anzahl der Knoten im Bestellsystem und im Produktsystem gezielt erhöhen , die Anzahl der Knoten bleibt gleich.
3. Die Wiederverwendbarkeit von Diensten ist höher. Wenn wir beispielsweise das Benutzersystem als separaten Dienst verwenden, können alle Produkte des Unternehmens dieses System ohne wiederholte Entwicklung als Benutzersystem verwenden.
Dann kommt das Problem, dass ein komplettes System aus vielen unabhängigen Subsystemen bestehen kann. Darüber hinaus wird die Beziehung zwischen diesen Subsystemen kompliziert Um die Verarbeitungskapazität bestimmter Dienste gezielt zu erhöhen, können einige Dienste durch ein Clustermodell bestehend aus mehreren Knoten unterstützt werden, was zweifellos die Schwierigkeit des Betriebs und der Wartung erheblich erhöht. Die Idee von Microservices ist gut, aber die Komplexität der Entwicklung sowie des Betriebs und der Wartung ist zu hoch. Um diese Probleme zu lösen, wurde Dubbo von Alibaba geboren.
Dubbo
Dubbo ist der Koordinator eines Microservice-Systems. In seinem System gibt es drei Arten von Rollen: Service Anbieter (im Folgenden Anbieter genannt), Dienstleistungsverbraucher (im Folgenden Verbraucher genannt) und Registrierungsstelle.
Sie müssen das JAR-Paket von Dubbo in Ihr Projekt einführen, wenn Sie es verwenden. Das heißt, jeder Dienst muss das JAR-Paket von Dubbo einführen. Wenn diese Dienste dann initialisiert werden, sendet Dubbo die Dienste, die vom aktuellen System veröffentlicht werden müssen, sowie die IP- und Portnummer des aktuellen Systems an das Registrierungszentrum, und das Registrierungszentrum zeichnet sie auf. Dies ist der Prozess der Serviceveröffentlichung. Gleichzeitig scannt Dubbo bei der Initialisierung des Systems auch die Dienste, auf die das aktuelle System verweisen muss, und fordert dann die IP- und Portnummern dieser Dienste vom Registrierungszentrum an. Dann kann das System normal laufen. Wenn System A den Dienst von System B aufrufen muss, richtet A einen RPC-Kanal mit B ein und ruft dann den entsprechenden Dienst auf System B auf.
Empfohlenes Tutorial: PHP-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas sind PHP-Microservices?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!