Heim  >  Artikel  >  Backend-Entwicklung  >  Kann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?

Kann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?

青灯夜游
青灯夜游Original
2022-12-28 16:46:445381Durchsuche

Du kannst schreiben. Im Bereich des Internets der Dinge können mit Golang effizient auf Millionen von Geräten zugegriffen und diese verwaltet werden. Mithilfe der verschiedenen Spitzentechnologien von Golang können Daten in Echtzeit analysiert und Datenberichte erstellt werden. Die Gründe für die Verwendung von Golang zur Entwicklung der Internet-of-Things-Plattform: 1. Die drei Autoren von Go sind äußerst leistungsfähig. 2. Die Leistung von Go ist nach C/C++ zweitrangig 4. Es verfügt über gute Parallelitätseigenschaften. 6. Es verfügt über eine gute Community-Unterstützung. 7. Es kann Entwicklern helfen, schneller zu arbeiten.

Kann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, GO Version 1.18, Dell G3-Computer.

Wenn Ihr Budget relativ klein ist, sollten Sie zunächst über die Verwendung von Golang nachdenken. Die Parallelitätsfunktionen und die hervorragende Leistung von Golang können die vorhandene Hardware voll ausnutzen, im Gegensatz zu Java und Python, die eine gewisse Verschwendung verursachen und mehr Geld ausgeben müssen.

Im Bereich Internet der Dinge kann Golang genutzt werden, um effizient auf Millionen von Geräten zuzugreifen und diese zu verwalten. Und nutzen Sie die verschiedenen Spitzentechnologien von Golang, um Daten in Echtzeit zu analysieren und Datenberichte zu erstellen.

Aus folgenden Gründen haben wir Golang für die Entwicklung des IoT-Systems ThingsPanel ausgewählt:

Gründer

Die drei Autoren von Go sind: Rob Pike, Ken Thompson und Robert Griesemer.

Rob Pike: War Mitglied des Unix-Teams bei Bell Labs und des Betriebssystemprojekts Plan 9. Er arbeitete viele Jahre mit Thompson zusammen und war Mitentwickler der weit verbreiteten UTF-8-Zeichenkodierung.

Ken Thompson: Hauptsächlich Autor der B- und C-Sprachen und Vater von Unix. Gewinner des Turing Award 1983 und der National Medal of Technology 1998. Er und Dennis Ritchie sind die ursprünglichen Schöpfer von Unix. Thompson erfand auch die Programmiersprache B, die später von der Sprache C abgeleitet wurde.

Robert Griesemer: War vor der Entwicklung von Go ein wichtiger Mitwirkender an Google V8, Chubby und HotSpot JVM.

Die Leistung übertrifft nur C/C++

GoLang ist eine kompilierte Sprache, die in Maschinencode kompiliert werden kann, und die kompilierte Binärdatei kann ohne zusätzliche Abhängigkeiten direkt auf dem Zielcomputer bereitgestellt werden. Die Leistung ist besser als die von interpretierten Sprachen.

Das Bild unten ist ein Test. Es scheint, dass die Geschwindigkeit von Golang immer noch sehr stark ist.

Kann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?

Leistungsvergleich gängiger Sprachen (Bildautor: Ich möchte nicht farmen)

Wenn Sie höhere Anforderungen haben, können Sie auch C-Code in das Go-Programm einbetten, damit Sie es verwenden können viele leistungsstarke C-Tool-Bibliotheken.

Der Einstieg geht sehr schnell und die meisten Programmierer können in 1-2 Wochen loslegen.

PHP-Programmierer wechseln zu Golang und können in 2 Tagen mit der Fehlerbehebung beginnen. Nach ein paar Wochen können Sie wieder normaler arbeiten.

Wenn Sie mit verschiedenen technischen Mitarbeitern kommunizieren, fragen Sie sie, wie lange es dauern wird, bis Sie von PHP oder Java auf Golang umsteigen. Die meisten Antworten geben 1-2 Wochen an, was auch stimmt.

Parallelitätsfunktionen

Dies ist wahrscheinlich die am meisten gelobte Funktion von GoLang. Es kann die Multi-Core-Fähigkeiten voll ausnutzen. GoLang verwendet Goroutinen, um Parallelität zu erreichen, und bietet ein sehr elegantes Goroutine-Schedulersystem, mit dem problemlos Millionen von Goroutinen generiert werden können. Die Stapelnutzung kann auch dynamisch erweitert/verkleinert werden, was die Speichernutzung intelligenter macht. Dies unterscheidet sich von Java-Threads, die normalerweise nur die Erstellung von Tausenden von Threads ermöglichen.

Kompatibel mit einer großen Anzahl von Hardwaregeräten.

Verschiedene CPU-Architekturen werden unterstützt, egal ob es sich um einen X86-Server oder ein ARM-Edge-Gerät handelt, sie können direkt in Maschinencode kompiliert werden und die Bereitstellung wird durch Einwerfen einer Datei abgeschlossen.

Ein 52PHP-Benutzer sagte in seinem cnblogs-Blog: Durch supereinfache Kreuzkompilierung ändern Sie einfach die Umgebungsvariablen. (Ich habe zwei Tage gebraucht, um einen Imagemagick für die Armplattform zu kompilieren).

Wenn Sie viele Edge-Geräte haben, ist Golang eine gute Wahl.

Natürlich sagen einige Leute, dass es auch Java und PHP gibt. Das Problem ist, dass man Essen auch auf einem Esel liefern kann. Das Problem ist, wie langsam es ist.

Gute Community-Unterstützung.

Ohne fachkundige Predigten werden Anfänger keinen Meister haben, der sie anleitet. Ohne Teilen wird das Lernen noch schwieriger. Golang hat eine gute Community-Unterstützung.

Beliebtheit von Programmiersprachen auf Stack Overflow, der weltweit größten technischen Frage- und Antwort-Website:

Kann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?

Zitiert aus: 2021 Programming Language Ranking, Autor: Xiaoxin nimmt Sie mit, um Programmieren zu lernen

Sie können die Informationen finden, indem Sie fragen Eine Frage und jemand wird sie für Sie beantworten. Dies ist in der Entwicklung sehr wichtig.

Helfen Sie Entwicklern, mit sauberem Code schneller zu werden.

„Saubere Architektur“ ist ein Konzept, das Robert C. Martin (Uncle Bob) 2012 nach einer Zusammenfassung der bestehenden Systemarchitektur vorgeschlagen hat.

In dem Artikel sieht die von ihm vorgeschlagene saubere Architektur wie folgt aus:

  • Framework-unabhängig. Die Architektur ist nicht auf die Existenz einer funktionsreichen Softwarebibliothek angewiesen. Dadurch können Sie verschiedenste Frameworks als Werkzeuge nutzen.
  • Testbar. Geschäftsregeln können ohne Benutzeroberfläche, Datenbank, Webserver oder andere externe Elemente (z. B. RPC-Dienste von Drittanbietern) getestet werden.
  • Unabhängig von der Benutzeroberfläche. Die Benutzeroberfläche kann einfach geändert werden, ohne dass andere Teile des Systems geändert werden müssen. Beispielsweise kann die Web-Benutzeroberfläche durch eine Konsolenoberfläche ersetzt werden, ohne dass Geschäftsregeln geändert werden müssen.
  • Datenbankunabhängig. Sie können Oracle oder SQL Server gegen Mongo, BigTable, CouchDB
    oder etwas anderes austauschen. Ihre Geschäftsregeln sind nicht an die Datenbank gebunden.

Unabhängig von jeglicher externen Agentur (äußere Schicht im Bild unten). Tatsächlich wissen Ihre Geschäftsregeln nichts über die Außenwelt.

Kann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?

Die allgemeine Idee im Bild ist, dass die Richtung der Abhängigkeit nur von außen nach innen erfolgen kann. Mit anderen Worten: Der äußere Kreis hängt vom inneren Kreis ab, und der innere Kreis kann nicht vom Äußeren abhängen. Benennung und Datenformatierung in der äußeren Schicht können sich nicht auf die innere Schicht auswirken.

Diese einfachen Regeln und Konventionen stellen sicher, dass das System immer leicht zu verstehen, leicht zu entwickeln und leicht zu warten ist.

Das Gehäuse überzeugt

Bis auf den berühmten Docker ist es komplett mit GO umgesetzt. Kubernetes, das beliebteste Container-Orchestrierungs-Managementsystem der Branche, ist vollständig in GO implementiert. Der darauffolgende Docker Swarm wurde vollständig in GO implementiert. Darüber hinaus gibt es verschiedene bekannte Projekte wie etcd/consul/flannel, Qiniu Cloud Storage usw., die alle mit GO implementiert werden. Einige Leute sagen, dass der Grund für die Berühmtheit der GO-Sprache darin besteht, dass sie mit der Cloud-Ära Schritt gehalten hat. Aber warum nicht anders sagen? Es ist auch die GO-Sprache, die die Entwicklung der Cloud vorantreibt.

Neben Cloud-Projekten gibt es auch Unternehmen wie Toutiao und UBER, die ebenfalls die GO-Sprache genutzt haben, um ihre Geschäfte komplett neu aufzubauen.

【Verwandte Empfehlungen: Go-Video-Tutorial, Programmierunterricht

Das obige ist der detaillierte Inhalt vonKann die Go-Sprache zum Schreiben des Internets der Dinge verwendet werden?. 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