Heim > Artikel > Backend-Entwicklung > Empfehlung für praktische Video-Tutorial-Ressourcen im Laravel5.2-Blog
Laravel ist ein einfaches und elegantes PHP-Webentwicklungs-Framework (PHP Web Framework). Es kann Sie von unordentlichen Codes wie Nudeln befreien; es kann Ihnen helfen, eine perfekte Netzwerk-APP zu erstellen, und jede Codezeile kann prägnant und ausdrucksstark sein. Aus diesem Grund haben wir „Laravel5.2 Blog Practical Video Tutorial“ zusammengestellt, eine Reihe praktischer Laravel5.2-Entwicklungs-Tutorials, die sich auf den tatsächlichen Kampf im Projekt konzentrieren und eine echte Einführung in die Meisterschaft darstellen. Ich hoffe, es kann jedem helfen, das Laravel-Framework besser zu lernen.
Adresse für die Kurswiedergabe: http://www.php.cn/course/283.html
Der Unterrichtsstil des Lehrers:
Die Vorträge sind freundlich und natürlich, unprätentiös, nicht anmaßend oder absichtlich übertrieben, sondern sprechen eloquent und sorgfältig zwischen Lehrern und Schülern. In einer Atmosphäre der Gleichberechtigung, Zusammenarbeit und Harmonie, stiller emotionaler Austausch werden durchgeführt und der Wunsch und die Erforschung von Wissen werden in einfache und reale Unterrichtssituationen integriert. Die Schüler erlangen Wissen durch stilles Denken und stille Zustimmung.
Der schwierigere Teil In diesem Video handelt es sich um HTTP-Middleware:
-- Was ist Middleware?
1. Warum Middleware benötigt wird
Die Computertechnologie entwickelt sich rasant. Aus Sicht der Hardwaretechnologie werden die CPU-Geschwindigkeiten immer höher und die Verarbeitungskapazitäten werden immer stärker. Aus Sicht der Softwaretechnologie nimmt der Umfang der Anwendungen weiter zu, insbesondere durch das Aufkommen des Internets und des WWW Der Umfang der Computeranwendungen ist breiter und viele Anwendungen Das Programm muss auf heterogenen Plattformen in einer Netzwerkumgebung ausgeführt werden. All dies stellt neue Anforderungen an eine neue Generation der Softwareentwicklung. In dieser verteilten heterogenen Umgebung gibt es normalerweise mehrere Hardwaresystemplattformen (z. B. PCs, Workstations, Minicomputer usw.) und eine Vielzahl von Systemsoftware (z. B. verschiedene Betriebssysteme, Datenbanken usw.) auf diesen Hardwareplattformen Compiler usw.) sowie eine Vielzahl von Benutzeroberflächen mit unterschiedlichen Stilen. Diese Hardwaresystemplattformen können auch unterschiedliche Netzwerkprotokolle und Netzwerkarchitekturen für die Verbindung verwenden. Die Integration dieser Systeme und die Entwicklung neuer Anwendungen ist ein sehr reales und schwieriges Problem.
2 Was ist Middleware?
Um das Problem der verteilten Heterogenität zu lösen, wurde das Konzept der Middleware vorgeschlagen. Middleware ist ein universeller Dienst, der zwischen der Plattform (Hardware und Betriebssystem) und der Anwendung liegt, wie in Abbildung 1 dargestellt. Diese Dienste verfügen über Standardprogrammschnittstellen und -protokolle. Für unterschiedliche Betriebssysteme und Hardwareplattformen können sie über mehrere Implementierungen verfügen, die den Schnittstellen- und Protokollspezifikationen entsprechen.
Es kann schwierig sein, eine strenge Definition von Middleware zu geben, aber Middleware sollte die folgenden Eigenschaften haben:
Erfüllen Sie die Anforderungen einer großen Anzahl von Anwendungen
Laufen Sie auf einer Vielzahl von Hardware- und Betriebssystemplattformen
Unterstützt verteiltes Computing und bietet transparente Anwendungs- oder Dienstinteraktion über Netzwerke, Hardware und Betriebssystemplattformen hinweg
Unterstützt Standardprotokolle
Unterstützt Standardschnittstellen
Da Standardschnittstellen für Portabilität und Standardprotokolle wichtig sind Aufgrund der Bedeutung der Interoperabilität ist Middleware zu einem wichtigen Bestandteil vieler Standardisierungsbemühungen geworden. Für die Entwicklung von Anwendungssoftware ist Middleware weitaus wichtiger als Betriebssysteme und Netzwerkdienste. Die von Middleware bereitgestellte Programmschnittstelle definiert eine relativ stabile Anwendungsumgebung auf hoher Ebene, unabhängig davon, wie die zugrunde liegende Computerhardware und Systemsoftware aktualisiert wird Bei Middleware handelt es sich um ein Upgrade und eine Aktualisierung. Da die Definition der externen Schnittstelle der Middleware unverändert bleibt, sind nahezu keine Änderungen an der Anwendungssoftware erforderlich, wodurch die erheblichen Investitionen des Unternehmens in die Entwicklung und Wartung von Anwendungssoftware geschützt werden.
3. Klassifizierung der Haupt-Middleware
Middleware deckt ein sehr breites Spektrum ab, und für unterschiedliche Anwendungsanforderungen ist eine Vielzahl unterschiedlicher Middleware-Produkte entstanden. Bisher gibt es jedoch keine genauere Definition von Middleware. Daher wird die Klassifizierung von Middleware aus verschiedenen Perspektiven oder Ebenen unterschiedlich sein. Da Middleware heterogene Betriebssysteme und Netzwerkprotokolle in einer verteilten Umgebung abschirmen muss, muss sie in der Lage sein, Kommunikationsdienste in einer verteilten Umgebung bereitzustellen. Wir nennen diesen Kommunikationsdienst eine Plattform. Basierend auf den unterschiedlichen Zwecken und Implementierungsmechanismen unterteilen wir die Plattform in die folgenden Hauptkategorien:
Remote Procedure Call (Remote Procedure Call)
Message-Oriented Middleware (Message-Oriented Middleware)
Object Object Request Brokers
Sie können verschiedene Formen von Kommunikationsdiensten bereitstellen, einschließlich Synchronisierung, Warteschlangen, Abonnementveröffentlichung, Übertragung usw. Zusätzlich zu diesen grundlegenden Kommunikationsplattformen können verschiedene Frameworks erstellt werden, die Dienste in verschiedenen Bereichen bereitstellen für Anwendungen wie Transaktionsverarbeitungsmonitor, verteilten Datenzugriff, Objekttransaktionsmanager OTM usw. Die Plattform schirmt die Unterschiede zwischen heterogenen Plattformen für Anwendungen der oberen Schicht ab, und das darauf befindliche Framework definiert die Systemstruktur, Standarddienstkomponenten usw. von Anwendungen in den entsprechenden Feldern. Benutzer müssen dem Framework lediglich die Ereignisse mitteilen, die sie betreffen , und stellen Sie dann die Verarbeitung für diese Ereignisse bereit. Wenn ein Ereignis auftritt, ruft das Framework den Code des Benutzers auf. Benutzercode muss das Framework nicht aufrufen, und Benutzerprogramme müssen sich nicht um die Framework-Struktur, den Ausführungsprozess, Aufrufe von APIs auf Systemebene usw. kümmern, die alle vom Framework erledigt werden. Daher weisen auf Middleware entwickelte Anwendungen eine gute Skalierbarkeit, einfache Verwaltung, hohe Verfügbarkeit und Portabilität auf.
Das Folgende ist eine kurze Einführung in mehrere wichtige Arten von Middleware.
1. Remote-Prozeduraufruf
Remote-Prozeduraufruf ist eine weit verbreitete Methode zur verteilten Anwendungsverarbeitung. Eine Anwendung verwendet RPC, um einen Prozess, der sich in einem anderen Adressraum befindet, „remote“ auszuführen und hat die gleiche Wirkung wie die Ausführung eines lokalen Aufrufs. Tatsächlich ist eine RPC-Anwendung in zwei Teile unterteilt: Server und Client. Der Server stellt eine oder mehrere Remote-Prozeduren bereit; der Client führt Remote-Aufrufe an den Server durch. Server und Client können sich auf demselben Rechner befinden, auf unterschiedlichen Rechnern oder sogar auf unterschiedlichen Betriebssystemen. Sie kommunizieren über das Netzwerk. Entsprechende Stubs und Laufzeitunterstützung stellen Datenkonvertierungs- und Kommunikationsdienste bereit und schirmen so unterschiedliche Betriebssysteme und Netzwerkprotokolle ab. Hier ist die RPC-Kommunikation synchron. Threads können für asynchrone Aufrufe verwendet werden.
Solange Client und Server im RPC-Modell über die entsprechende RPC-Schnittstelle und RPC-Laufunterstützung verfügen, können sie die entsprechende Interaktion durchführen, ohne auf einen bestimmten Server beschränkt zu sein. Daher bietet RPC starke Unterstützung für verteiltes Client/Server-Computing. Gleichzeitig bietet der Remote-Prozeduraufruf RPC einen prozessbasierten Dienstzugriff. Der Client und der Server sind direkt verbunden, und es gibt keine Zwischenagentur zur Verarbeitung der Anforderung, sodass auch bestimmte Einschränkungen bestehen. Beispielsweise benötigt RPC normalerweise einige Netzwerkdetails, um den Server zu lokalisieren. Wenn der Client eine Anfrage stellt, muss der Server aktiv sein usw.
2. Nachrichtenorientierte Middleware
MOM bezieht sich auf die Verwendung effizienter und zuverlässiger Nachrichtenübermittlungsmechanismen für den plattformunabhängigen Datenaustausch und die Integration verteilter Systeme auf Basis der Datenkommunikation. Durch die Bereitstellung eines Message-Passing- und Message-Quuing-Modells erweitert es die prozessübergreifende Kommunikation in einer verteilten Umgebung und unterstützt mehrere Kommunikationsprotokolle, Sprachen, Anwendungen, Hardware- und Softwareplattformen. Zu den derzeit beliebten MOM-Middleware-Produkten gehören MQSeries von IBM, MessageQ von BEA usw. Die Messaging- und Warteschlangentechnologie weist die folgenden drei Hauptmerkmale auf:
Kommunikationsprogramme können nicht direkt im Netzwerk miteinander kommunizieren, sondern Nachrichten indirekt in die Nachrichtenwarteschlange stellen, da dies der Fall ist keine direkte Verbindung zwischen den Programmen. Sie müssen also nicht gleichzeitig laufen. Das Zielprogramm muss nicht einmal ausgeführt werden, wenn eine Nachricht in die entsprechende Warteschlange gestellt wird. Auch wenn das Zielprogramm ausgeführt wird, ist es nicht dazu gedacht, die Nachricht sofort zu verarbeiten.
Es gibt keine Einschränkungen für die Struktur von Anwendungsprogrammen. In komplexen Anwendungsszenarien können Kommunikationsprogramme nicht nur eine Eins-zu-Eins-Beziehung, sondern auch Eins-zu-Viele- und Viele-zu-Eins-Methoden oder sogar eine Kombination davon haben die oben genannten Methoden. Der Aufbau mehrerer Kommunikationsmethoden erhöht nicht die Komplexität der Anwendung.
Programme sind von der Netzwerkkomplexität isoliert
Programme stellen Nachrichten in Nachrichtenwarteschlangen ein oder nehmen Nachrichten aus Nachrichtenwarteschlangen für die Kommunikation und alle damit verbundenen Aktivitäten, wie z. B. die Pflege von Nachrichtenwarteschlangen und die Aufrechterhaltung der Beziehung Die Aufgaben von MOM zwischen Programmen und Warteschlangen, die Handhabung von Netzwerkneustarts und das Verschieben von Nachrichten über das Netzwerk sind nicht mit der Komplexität der Netzwerkkommunikation verbunden.
3. Objektanforderungs-Proxy
Mit der Entwicklung der Objekttechnologie und der verteilten Computertechnologie verbinden sich beide zu verteiltem Objektcomputing, das sich zur Mainstream-Richtung der heutigen Softwaretechnologie entwickelt hat. Ende 1990 brachte die Object Management Group OMG erstmals die Objektmanagementarchitektur OMA (Object Management Architecture) auf den Markt. Der Object Request Broker ist die Kernkomponente dieses Modells. Seine Aufgabe besteht darin, einen Kommunikationsrahmen für die transparente Bereitstellung von Objektanforderungen in heterogenen verteilten Computerumgebungen bereitzustellen. Die CORBA-Spezifikation umfasst alle Standardschnittstellen von ORB. CORBA 1.1 wurde 1991 eingeführt und definierte die Schnittstellenbeschreibungssprache OMG IDL und die API, die Client/Server-Objekte für die Zusammenarbeit mit bestimmten ORBs unterstützt. Die CORBA 2.0-Spezifikation beschreibt die Interoperabilität zwischen ORBs verschiedener Anbieter.
Object Request Broker (ORB) ist ein Objektbus, der den Kern der CORBA-Spezifikation bildet. Er definiert den grundlegenden Mechanismus für das transparente Senden von Anforderungen und den Empfang von Antworten in heterogenen Umgebungen Client/Server zwischen Objekten. ORB ermöglicht es Objekten, transparent Anfragen an andere Objekte zu stellen oder Antworten von anderen Objekten zu empfangen, die sich lokal oder auf Remote-Computern befinden können. ORB fängt Anforderungsaufrufe ab und ist dafür verantwortlich, Objekte zu finden, die Anforderungen implementieren können, Parameter zu übertragen, entsprechende Methoden aufzurufen, Ergebnisse zurückzugeben usw. Das Client-Objekt kennt weder den Mechanismus zur Kommunikation mit dem Server-Objekt, zum Aktivieren oder Speichern des Server-Objekts, noch muss es wissen, wo sich das Server-Objekt befindet, in welcher Sprache es implementiert ist, welches Betriebssystem verwendet wird oder ähnliches Systemkomponenten, die nicht Teil der Objektschnittstelle sind.
Es ist erwähnenswert, dass die Client- und Serverrollen nur dazu dienen, die Interaktion zwischen Objekten zu koordinieren. Je nach Anlass kann das Objekt auf dem ORB ein Client, ein Server oder sogar beides sein. Wenn ein Objekt eine Anfrage stellt, befindet es sich in der Client-Rolle; wenn es eine Anfrage empfängt, befindet es sich in der Server-Rolle. Die meisten Objekte spielen sowohl Client- als auch Serverrollen. Da ORB außerdem für die Übertragung von Objektanforderungen und die Serververwaltung verantwortlich ist, besteht keine direkte Verbindung zwischen Client und Server. Daher kann ORB im Vergleich zur einfachen Client/Server-Struktur, die von RPC unterstützt wird, komplexere Strukturen unterstützen.
4. Überwachung der Transaktionsverarbeitung
Transaktionsverarbeitungsmonitore erschienen erstmals auf Großrechnern und stellten ihnen eine zuverlässige Betriebsumgebung zur Verfügung, die die Verarbeitung umfangreicher Transaktionen unterstützt. Mit der Entwicklung der verteilten Computertechnologie haben verteilte Anwendungssysteme Anforderungen an die Verarbeitung großer Transaktionen gestellt, beispielsweise eine große Anzahl wichtiger Transaktionsverarbeitungen bei kommerziellen Aktivitäten. Die Überwachung der Transaktionsverarbeitung findet zwischen dem Client und dem Server statt und führt Transaktionsverwaltung und -koordinierung, Lastausgleich, Fehlerbehebung usw. durch, um die Gesamtleistung des Systems zu verbessern. Man kann es sich als „Betriebssystem“ für Anwendungen zur Transaktionsverarbeitung vorstellen. Im Allgemeinen hat die Überwachung der Transaktionsverarbeitung die folgenden Funktionen:
Prozessmanagement, einschließlich Starten des Serverprozesses, Zuweisen von Aufgaben, Überwachen seiner Ausführung und Ausgleichen der Last.
Das Transaktionsmanagement stellt die Atomizität, Konsistenz, Unabhängigkeit und Dauerhaftigkeit der Transaktionsverarbeitung unter seiner Aufsicht sicher.
Das Kommunikationsmanagement bietet eine Vielzahl von Kommunikationsmechanismen zwischen Client und Server, einschließlich Anforderungsantwort, Sitzung, Warteschlange, Veröffentlichung und Übertragung von Abonnements usw.
Die Überwachung der Transaktionsverarbeitung kann Dienste für eine große Anzahl von Kunden bereitstellen, beispielsweise für Flugticketsysteme. Wenn der Server jedem Client die benötigten Ressourcen zuweist, ist der Server überlastet (wie in Abbildung 2 dargestellt). Tatsächlich müssen jedoch nicht alle Kunden gleichzeitig Dienstleistungen anfordern, und wenn ein Kunde eine Dienstleistung anfordert, hofft er auf eine schnelle Antwort. Die Überwachung der Transaktionsverarbeitung stellt eine Reihe von Diensten über dem Betriebssystem bereit, verwaltet Clientanforderungen und weist ihnen entsprechende Dienstprozesse zu, sodass der Server Dienste für Großkunden mit begrenzten Systemressourcen effizient bereitstellen kann.
Das obige ist der detaillierte Inhalt vonEmpfehlung für praktische Video-Tutorial-Ressourcen im Laravel5.2-Blog. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!