Heim > Schlagzeilen > Hauptteil

Eine kurze Diskussion über Back-End-Technologietrends im Jahr 2018

小云云
Freigeben: 2018-01-25 14:06:50
Original
2411 Leute haben es durchsucht

In diesem Artikel werden wir hauptsächlich über die Trends der Back-End-Technologie im Jahr 2018 sprechen und hoffen, Ihnen dabei zu helfen, eine klarere Vorstellung von der Back-End-Technologie zu bekommen.

Asynchroner Modus

Go-Sprache erfreut sich immer größerer Beliebtheit und viele große Internetunternehmen setzen für ihre Backends auf GO. Dubbo, ein im Java-Kreis bekanntes serviceorientiertes Framework, kündigte ebenfalls seine Umstellung auf den asynchronen Modus an. Dies ist ein wichtiger Trend und das asynchrone Modell wurde vom Markt verifiziert und anerkannt.

Bei der Auswahl eines Webservers haben die meisten Menschen vor einigen Jahren begonnen, sich für asynchrones, nicht blockierendes Nginx statt für synchrones, blockierendes Apache zu entscheiden. Aufgrund asynchroner Programme wie Nginx verfügt es über eine bessere Anpassungsfähigkeit und stärkere Parallelitätsfähigkeiten. Im Hinblick auf die Back-End-Geschäftsentwicklungsprogrammierung haben Teams mit starken technischen Fähigkeiten damit begonnen, den Technologie-Stack vom synchronen Modus auf den asynchronen Modus umzustellen.

Der synchrone Blockierungsmodus weist viele Mängel auf, darunter schwache Parallelität, schlechte Anpassungsfähigkeit und langsame Anfragen, was zur Nichtverfügbarkeit des Dienstes führt. Beispiel: Im Szenario des Aufrufs einer Drittanbieter-API in der Hintergrundschnittstelle hat der Synchronisierungsmodus eine äußerst schlechte Wirkung. In der Vergangenheit verwendeten immer weniger Menschen die Frameworks für den synchronen Blockierungsmodus, die mit den Sprachen Java, PHP, C++, Python und Ruby entwickelt wurden.

Node.js

Obwohl Node.js ebenfalls sehr beliebt und beliebt ist, kommt es immer noch selten vor, dass Unternehmen Node.js als Hauptprogrammiersprache für das Backend des Unternehmens verwenden. In den Sprachen C++, Java, PHP und Python gibt es auch einige ähnliche Lösungen, darunter Swoole-1.0, das ebenfalls auf einem asynchronen Rückrufmodus ähnlich Node.js basiert.

Der wesentliche Grund ist, dass die technische Lösung des asynchronen Rückrufs und einige darauf basierende Optimierungslösungen, darunter Promise, Future, Yield/Generator, Async/Await usw., den Stil und die Gewohnheiten der Programmentwicklung verändert haben . Wenn Sie diese Technologien nutzen möchten, müssen Ingenieure zusätzlich lernen, wie diese Schlüsselwörter und Funktionen verwendet werden.

Die Verwendung dieser technischen Lösungen ist nicht mit bestehenden Programmen kompatibel. Man kann sagen, dass die F&E-Kosten enorm sind und es schwierig ist, einen reibungslosen Übergang zu schaffen. Beeinflusst die Popularität des asynchronen Callback-Technologie-Stacks. Dieses Programmiermodell ist für alle schwer zu akzeptieren.

Coroutine

Der Coroutine-Modus berücksichtigt die Wartbarkeit des synchronen Blockierens und die hohe Parallelitätsfähigkeit des asynchronen Nichtblockierens. Es wird in Zukunft zur gängigen technischen Lösung im Bereich der Backend-Entwicklung werden.

Das Wichtigste ist, dass der Coroutine-Modus nur wenige Anpassungen am vorhandenen Projektcode erfordert, um ausgeführt zu werden, und sogar vollständig kompatibel mit alten Projekten ist. Aus Kompatibilitätsgründen ist nur die Framework-Schicht erforderlich. Dies ermöglicht einen reibungslosen Übergang für das Team.

Mit dem Coroutine-Modus müssen Entwickler überhaupt keine zusätzlichen Schlüsselwörter und die Verwendung von Funktionen erlernen. Der Codierungsstil ist genau der gleiche wie im synchronen Modus.

Unter den verschiedenen Coroutine-Technologien ist GO die schillerndste. Coroutinen, Kanäle, statische Sprachen, Leistung, umfangreiche Kompilierung, umfangreiche Standardbibliotheken, vollständiges Ökosystem, Google usw. Es gibt zu viele Vorteile. GO-Sprache ist meiner Meinung nach die lernenswerteste unter allen aktuellen Programmiersprachen .

Swoole 2.x Lassen Sie PHP, eine erfahrene Backend-Programmiersprache mit einer mehr als 20-jährigen Geschichte, auch über Coroutine-Funktionen verfügen. Im Vergleich zu Technologien wie Go eignet sich der Technologie-Stack von PHP + Swoole besser für schnelle Entwicklung, schnelle Iteration und geschäftsorientierte Szenarien. Schließlich sind dynamische Sprachen flexibler und effizienter in der Entwicklung als statische Sprachen. Und Go eignet sich besser zum Schreiben von Software auf Systemebene und für das Kerngeschäft.

Im Jahr 2018 habe ich das Swoole-Framework, ein sehr altes Projekt, überarbeitet und die unterste Ebene unterstützt den Swoole 2.x Coroutine-Modus. Der Hauptgrund ist, dass es innerhalb des Radunternehmens viele Projekte gibt, die auf diesem Framework basieren, insbesondere die Serviceschicht, die alle das Swoole-Framework verwenden. Wir hoffen, dass der Geschäftscode keine einzige Zeile verändert und mit einem Klick in den Coroutine-Modus gewechselt werden kann. Theoretisch können andere synchron blockierende PHP-Frameworks wie Laravel und Yii nur die zugrunde liegende kompatible Swoole 2.x-Coroutine ändern, um einen nahtlosen Wechsel des Coroutine-Modus im Projektcode zu erreichen.

Nach der Verwendung von Coroutinen wurden die Leistung, Parallelität und Stabilität des gesamten Systems erheblich verbessert. Das Problem, dass eine langsame Anfrage oft dazu führte, dass der gesamte Server online hängen blieb, besteht in der Vergangenheit nicht mehr.

PHP & Swoole

Obwohl Swoole 2.0 erst weniger als zwei Jahre alt ist, hat es im Vergleich zu den 10 Jahren harter Arbeit an der Go-Sprache noch einen langen Weg vor sich. Aber im Vergleich zu statischen Sprachen wie GO hat PHP + Swoole immer noch viele Vorteile: PHP ist eine dynamische Sprache und ist flexibler zu verwenden.

Wenn es sich um ein neues Projekt handelt, empfiehlt es sich natürlich, Swoft zu verwenden, ein speziell für Swoole 2.x entwickeltes Framework. Es hat weniger historisches Gepäck und weist daher eine bessere Stabilität auf.

Mit den Swoole 2.0-Coroutinen sind wir weiterhin zuversichtlich für die Zukunft von PHP.

Verwandte Empfehlungen:

Sieben Dinge, die angehende Programmierer tun müssen

Der Wachstumspfad von PHP-Programmierern

Ein kurzer Vortrag über die Zukunft der PHP-Programmierer


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!