Inhaltsverzeichnis
Asynchroner Modus
Node.js
Coroutine
PHP & Swoole
Heim Schlagzeilen Eine kurze Diskussion über Back-End-Technologietrends im Jahr 2018

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

Jan 25, 2018 pm 02:06 PM
技术 趋势

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


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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Das Stable Diffusion 3-Papier wird endlich veröffentlicht und die architektonischen Details werden enthüllt. Wird es helfen, Sora zu reproduzieren? Das Stable Diffusion 3-Papier wird endlich veröffentlicht und die architektonischen Details werden enthüllt. Wird es helfen, Sora zu reproduzieren? Mar 06, 2024 pm 05:34 PM

Der Artikel von StableDiffusion3 ist endlich da! Dieses Modell wurde vor zwei Wochen veröffentlicht und verwendet die gleiche DiT-Architektur (DiffusionTransformer) wie Sora. Nach seiner Veröffentlichung sorgte es für großes Aufsehen. Im Vergleich zur Vorgängerversion wurde die Qualität der von StableDiffusion3 generierten Bilder erheblich verbessert. Es unterstützt jetzt Eingabeaufforderungen mit mehreren Themen, und der Textschreibeffekt wurde ebenfalls verbessert, und es werden keine verstümmelten Zeichen mehr angezeigt. StabilityAI wies darauf hin, dass es sich bei StableDiffusion3 um eine Reihe von Modellen mit Parametergrößen von 800 M bis 8 B handelt. Durch diesen Parameterbereich kann das Modell direkt auf vielen tragbaren Geräten ausgeführt werden, wodurch der Einsatz von KI deutlich reduziert wird

Dieser Artikel reicht aus, um etwas über autonomes Fahren und Flugbahnvorhersage zu lesen! Dieser Artikel reicht aus, um etwas über autonomes Fahren und Flugbahnvorhersage zu lesen! Feb 28, 2024 pm 07:20 PM

Die Trajektorienvorhersage spielt eine wichtige Rolle beim autonomen Fahren. Unter autonomer Fahrtrajektorienvorhersage versteht man die Vorhersage der zukünftigen Fahrtrajektorie des Fahrzeugs durch die Analyse verschiedener Daten während des Fahrvorgangs. Als Kernmodul des autonomen Fahrens ist die Qualität der Trajektorienvorhersage von entscheidender Bedeutung für die nachgelagerte Planungssteuerung. Die Trajektorienvorhersageaufgabe verfügt über einen umfangreichen Technologie-Stack und erfordert Vertrautheit mit der dynamischen/statischen Wahrnehmung des autonomen Fahrens, hochpräzisen Karten, Fahrspurlinien, Fähigkeiten in der neuronalen Netzwerkarchitektur (CNN&GNN&Transformer) usw. Der Einstieg ist sehr schwierig! Viele Fans hoffen, so schnell wie möglich mit der Flugbahnvorhersage beginnen zu können und Fallstricke zu vermeiden. Heute werde ich eine Bestandsaufnahme einiger häufiger Probleme und einführender Lernmethoden für die Flugbahnvorhersage machen! Einführungsbezogenes Wissen 1. Sind die Vorschaupapiere in Ordnung? A: Schauen Sie sich zuerst die Umfrage an, S

DualBEV: BEVFormer und BEVDet4D deutlich übertreffen, öffnen Sie das Buch! DualBEV: BEVFormer und BEVDet4D deutlich übertreffen, öffnen Sie das Buch! Mar 21, 2024 pm 05:21 PM

In diesem Artikel wird das Problem der genauen Erkennung von Objekten aus verschiedenen Blickwinkeln (z. B. Perspektive und Vogelperspektive) beim autonomen Fahren untersucht, insbesondere wie die Transformation von Merkmalen aus der Perspektive (PV) in den Raum aus der Vogelperspektive (BEV) effektiv ist implementiert über das Modul Visual Transformation (VT). Bestehende Methoden lassen sich grob in zwei Strategien unterteilen: 2D-zu-3D- und 3D-zu-2D-Konvertierung. 2D-zu-3D-Methoden verbessern dichte 2D-Merkmale durch die Vorhersage von Tiefenwahrscheinlichkeiten, aber die inhärente Unsicherheit von Tiefenvorhersagen, insbesondere in entfernten Regionen, kann zu Ungenauigkeiten führen. Während 3D-zu-2D-Methoden normalerweise 3D-Abfragen verwenden, um 2D-Features abzutasten und die Aufmerksamkeitsgewichte der Korrespondenz zwischen 3D- und 2D-Features über einen Transformer zu lernen, erhöht sich die Rechen- und Bereitstellungszeit.

„Minecraft' verwandelt sich in eine KI-Stadt und NPC-Bewohner spielen Rollenspiele wie echte Menschen „Minecraft' verwandelt sich in eine KI-Stadt und NPC-Bewohner spielen Rollenspiele wie echte Menschen Jan 02, 2024 pm 06:25 PM

Bitte beachten Sie, dass dieser kantige Mann die Stirn runzelt und über die Identität der „ungebetenen Gäste“ vor ihm nachdenkt. Es stellte sich heraus, dass sie sich in einer gefährlichen Situation befand, und als ihr dies klar wurde, begann sie schnell mit der mentalen Suche nach einer Strategie zur Lösung des Problems. Letztendlich entschloss sie sich, vom Unfallort zu fliehen, dann so schnell wie möglich Hilfe zu suchen und sofort Maßnahmen zu ergreifen. Gleichzeitig dachte die Person auf der Gegenseite das Gleiche wie sie... In „Minecraft“ gab es eine solche Szene, in der alle Charaktere von künstlicher Intelligenz gesteuert wurden. Jeder von ihnen hat eine einzigartige Identität. Das zuvor erwähnte Mädchen ist beispielsweise eine 17-jährige, aber kluge und mutige Kurierin. Sie haben die Fähigkeit, sich zu erinnern und zu denken und in dieser kleinen Stadt in Minecraft wie Menschen zu leben. Was sie antreibt, ist ein brandneues,

Rezension! Tiefe Modellfusion (LLM/Basismodell/Verbundlernen/Feinabstimmung usw.) Rezension! Tiefe Modellfusion (LLM/Basismodell/Verbundlernen/Feinabstimmung usw.) Apr 18, 2024 pm 09:43 PM

Am 23. September wurde das Papier „DeepModelFusion:ASurvey“ von der National University of Defense Technology, JD.com und dem Beijing Institute of Technology veröffentlicht. Deep Model Fusion/Merging ist eine neue Technologie, die die Parameter oder Vorhersagen mehrerer Deep-Learning-Modelle in einem einzigen Modell kombiniert. Es kombiniert die Fähigkeiten verschiedener Modelle, um die Verzerrungen und Fehler einzelner Modelle zu kompensieren und so eine bessere Leistung zu erzielen. Die tiefe Modellfusion bei groß angelegten Deep-Learning-Modellen (wie LLM und Basismodellen) steht vor einigen Herausforderungen, darunter hohe Rechenkosten, hochdimensionaler Parameterraum, Interferenzen zwischen verschiedenen heterogenen Modellen usw. Dieser Artikel unterteilt bestehende Methoden zur Tiefenmodellfusion in vier Kategorien: (1) „Musterverbindung“, die Lösungen im Gewichtsraum über einen verlustreduzierenden Pfad verbindet, um eine bessere anfängliche Modellfusion zu erzielen

Mehr als nur 3D-Gauß! Aktueller Überblick über modernste 3D-Rekonstruktionstechniken Mehr als nur 3D-Gauß! Aktueller Überblick über modernste 3D-Rekonstruktionstechniken Jun 02, 2024 pm 06:57 PM

Oben geschrieben & Nach persönlichem Verständnis des Autors ist die bildbasierte 3D-Rekonstruktion eine anspruchsvolle Aufgabe, bei der aus einer Reihe von Eingabebildern auf die 3D-Form eines Objekts oder einer Szene geschlossen werden muss. Lernbasierte Methoden haben wegen ihrer Fähigkeit, 3D-Formen direkt abzuschätzen, Aufmerksamkeit erregt. Dieser Übersichtsartikel konzentriert sich auf modernste 3D-Rekonstruktionstechniken, einschließlich der Generierung neuartiger, unsichtbarer Ansichten. Es wird ein Überblick über die jüngsten Entwicklungen bei Gaußschen Splash-Methoden gegeben, einschließlich Eingabetypen, Modellstrukturen, Ausgabedarstellungen und Trainingsstrategien. Auch ungelöste Herausforderungen und zukünftige Ausrichtungen werden besprochen. Angesichts der rasanten Fortschritte auf diesem Gebiet und der zahlreichen Möglichkeiten zur Verbesserung der 3D-Rekonstruktionsmethoden scheint eine gründliche Untersuchung des Algorithmus von entscheidender Bedeutung zu sein. Daher bietet diese Studie einen umfassenden Überblick über die jüngsten Fortschritte in der Gaußschen Streuung. (Wischen Sie mit dem Daumen nach oben

Redis: die Schlüsseltechnologie zum Aufbau eines Echtzeit-Rankingsystems Redis: die Schlüsseltechnologie zum Aufbau eines Echtzeit-Rankingsystems Nov 07, 2023 pm 03:58 PM

Redis ist ein Open-Source-Hochleistungs-Schlüsselwert-Datenbanksystem, das aufgrund seiner schnellen Lese- und Schreibgeschwindigkeit, der Unterstützung mehrerer Datentypen und der umfangreichen Datenstrukturen häufig in Echtzeit-Ranking-Systemen verwendet wird. Das Echtzeit-Ranking-System bezieht sich auf ein System, das Daten nach bestimmten Bedingungen sortiert, wie z. B. Punkterankings in Spielen, Verkaufsrankings im E-Commerce usw. In diesem Artikel werden die Schlüsseltechnologien vorgestellt, die Redis beim Aufbau eines Echtzeit-Rankingsystems verwendet, sowie spezifische Codebeispiele. Der Inhalt umfasst die folgenden Teile: Berechnung der Redis-Datentypsortierung

Eine ausführliche Analyse der Spurwechselstrategie von Apollo und ihrer praktischen Anwendung Eine ausführliche Analyse der Spurwechselstrategie von Apollo und ihrer praktischen Anwendung Nov 07, 2023 am 11:37 AM

1. Einleitung 1.1. Die Funktion des Spurwechsels besteht darin, eine der Referenzlinien auszuwählen, die von nachfolgenden Planungsmodulen verwendet werden sollen Open Source von Apollo. Es wurde stark reduziert, so dass nur noch ein einfaches Framework übrig blieb. Viele Funktionen wie aktiver Spurwechsel, passiver Spurwechsel (aufgrund von Hindernissen), relativ vollständige Zustandsmaschine, Spurwechselfenster und Lückenauswahl usw. fehlen. Dieser technische Artikel zeigt nur Inhalte zum bestehenden Framework. Was den Inhalt anderer Spurwechselfunktionen betrifft, freuen Sie sich bitte auf den Folgeartikel 1.2 Spurwechsel-Zustandsmaschine Apollos aktuelle Spurwechsel-Zustandsmaschine sieht wie folgt aus: Es gibt einige erwähnenswerte Punkte zur Zustandsmaschine: IN_CHANGE_LAN