Angesichts der kontinuierlichen Beschleunigung der Urbanisierung und der steigenden Anforderungen der Menschen an Fortbewegungsmittel ist Taxi-Hailing-Software zu einem wichtigen Bestandteil des modernen städtischen Transports geworden. Die Implementierung einer Taxi-Hailing-Software ähnlich wie Uber ist ein Projekt, an dem viele Programmierer interessiert sind. In diesem Artikel wird erläutert, wie Sie mit Golang eine einfache Taxi-Hailing-Software schreiben.
- Projektübersicht
Die Grundfunktion dieser Taxi-Hailing-Software besteht darin, dass Benutzer den Startpunkt, das Ziel und das erforderliche Automodell auf dem Mobiltelefon auswählen können, und das System passt den entsprechenden Fahrer entsprechend den Bedürfnissen des Benutzers an Schließen Sie die Bestellung ab. Mit dieser Grundfunktion können wir nach und nach weitere Funktionen erweitern, wie z. B. die Kommunikation zwischen Fahrer und Passagieren, die Anzeige der Verkehrslage in Echtzeit usw. Dieser Artikel konzentriert sich jedoch auf die Implementierung der grundlegendsten Funktionen.
- Technologieauswahl
Um dieses Projekt zu realisieren, haben wir die folgenden Technologien ausgewählt:
- Golang: Mit Ausnahme der in diesem Artikel erläuterten Teile verwendet das gesamte Projekt Golang.
- MySQL: Wird zum Speichern von Benutzerinformationen, Bestellinformationen, Fahrzeuginformationen usw. verwendet.
- Redis: Wird zum Speichern des Online-Status von Benutzern und Treibern verwendet.
- Nginx: wird für Reverse-Proxy und Lastausgleich verwendet. 3.1 Kunde Hier gehen wir davon aus, dass der Benutzer angemeldet und registriert ist und die Alipay- oder WeChat-Zahlung gebunden hat.
Wenn der Benutzer auf die Schaltfläche „Bestellen“ klickt, sendet der Client eine Anfrage an den Server, einschließlich Längengrad, Breitengrad, Fahrzeugmodell und anderen Informationen zu Herkunft und Ziel. Der Server speichert diese Informationen in MySQL und fragt qualifizierte Treiber von Redis ab. Die abgefragten Fahrerinformationen werden an das Fahrerterminal gesendet und der Fahrer kann am Kundenterminal auswählen, ob er die Bestellung annehmen möchte. Wenn der Fahrer den Auftrag annimmt, kann der Kunde den Standort, das Kennzeichen und andere Informationen des Fahrers sehen. Wenn die Bestellung abgeschlossen ist, benachrichtigt der Kunde den Server, um die Zahlung vorzunehmen. Nach Abschluss der Zahlung endet die Bestellung.
- 3.2 Fahrerterminal
Die Funktionen, die das Fahrerterminal implementieren muss, sind: Empfangen von Bestellungen, Bestätigen von Bestellungen, Bezahlen und Beenden von Bestellungen usw. Wenn der Fahrer die entsprechende Bestellung erhält, sendet der Kunde eine Anfrage und stellt die Bestellinformationen bereit. Nachdem der Fahrer die Bestellung bestätigt hat, benachrichtigt der Client den Server, um mit der Abrechnung zu beginnen. Wenn die Bestellung abgeschlossen ist, benachrichtigt der Client den Server, um die Abrechnung zu beenden und die Abrechnungsinformationen zu senden.
3.3 Serverseite
Die Hauptfunktionen, die auf der Serverseite implementiert werden müssen, sind: Auftragsabgleich, Abrechnung, Kommunikation mit Kunden und Fahrern usw.
Die erste Funktion, die der Server implementieren muss, besteht darin, qualifizierte Fahrer basierend auf den vom Passagierterminal bereitgestellten Start- und Zielbedingungen abzugleichen und die Bestellinformationen in MySQL zu speichern. Während der Server darauf wartet, dass der Fahrer die Bestellung erhält, muss er kontinuierlich qualifizierte Fahrer von Redis abfragen und die Bestellinformationen an die Fahrerseite senden. Der Fahrer kann entsprechend seiner eigenen Situation entscheiden, ob er die Bestellung annimmt.
Wenn die Bestellung angenommen wird, muss der Server den Kunden benachrichtigen, um mit der Abrechnung zu beginnen. Abrechnungsregeln können je nach Faktoren wie Region, Automodell, Uhrzeit usw. unterschiedlich festgelegt werden. Nach Abschluss der Bestellung muss der Server Rechnungsinformationen an beide Clients senden und die Rechnungsinformationen in MySQL speichern. Hat der Fahrer die Rechnung bestätigt, kann der Server eine Zahlungsaufforderung an das Zahlungssystem initiieren.
Der Server muss außerdem eine sofortige Kommunikation mit dem Kunden und dem Fahrer implementieren, damit Benachrichtigungen rechtzeitig initiiert werden können, wenn wichtige Änderungen an der Bestellung auftreten.
Zusammenfassung
In diesem Artikel haben wir den grundlegenden Prozess zum Schreiben einer einfachen Taxi-Anrufsoftware mit Golang vorgestellt. Durch dieses Projekt können wir lernen, wie man MySQL und Redis für die Datenspeicherung verwendet und wie man Golang für die serverseitige Entwicklung verwendet. Allerdings ist die eigentliche Taxi-Hailing-Software viel komplizierter als dieses Projekt und es müssen viele Funktionen implementiert werden. Bei Interesse können Leser dieses Projekt weiter vertiefen und verbessern und perfektionieren.
Das obige ist der detaillierte Inhalt vonGolang implementiert Taxirufe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!