API-Gateway-Lösungen für die Automobilindustrie
November 2, 2022
Unter der Welle der Digitalisierung und Intelligentisierung stehen die Fertigungs- und Automobilindustrie vor beispiellosen Chancen und Herausforderungen. Autos sind nicht mehr nur ein mechatronisches Produkt für den Transport, sondern ein dritter Raum neben Zuhause und Unternehmen. Autos haben sich weiterentwickelt und sind durch die tiefe Integration von Software und Hardware intelligenter geworden.
Aus Sicht der Verbraucher sind Manövrierfähigkeit und Sicherheit zur Standardausstattung von Automobilen geworden. Jeder hat höhere Anforderungen an Autos, ein Industrieprodukt, das seit über 100 Jahren existiert: intelligente Automobile. Dies spiegelt sich nicht nur in der Fahrerassistenz wider, sondern auch in OTA-Programmierung (Over-the-air), Sprachsteuerung, Touchscreen-Zentralcontroller usw., was höhere Anforderungen an die Echtzeitdatenverarbeitung, Rechenleistung und Produktiteration von Automobilsoftware stellt.
Aus Sicht der Geschäftsanwendungen werden das Internet der Fahrzeuge (IoV) und die Daten der Lieferkette immer komplexer. Daher ist es zu einem Schmerzpunkt für Fertigungs- und Automobilunternehmen geworden, die Informationssilos zu durchbrechen, Daten aus verschiedenen Systemen zu öffnen und die Geschäftsinnovation zu beschleunigen.
Aus Sicht des technologischen Wandels bieten Cloud-native und Open-Source-Software technische Unterstützung für Fertigungs- und Automobilunternehmen, um die digitale Transformation zu beschleunigen. Diese Unternehmen können die Gelegenheit in der Umstellung nutzen, indem sie Cloud-native-Technologien effektiv einsetzen.
Heute befinden sich in einem Elektroauto mit Fahrerassistenzfunktion mehr als 5.000 Chips, die Hunderte von Millionen Codezeilen ausführen. Die neue Ära der „Software Defined Vehicles (SDV)“ steht allmählich vor der Tür.
Durch die Analyse der Statistiken und Forschungen der Apache APISIX Open-Source-Community haben wir festgestellt, dass Apache APISIX in der Vierten Industriellen Revolution weit verbreitet ist und digitale Fabriken, intelligente Fahrzeuge, KI-Chips, autonomes Fahren, Microservices-Governance in Automobilunternehmen, Autofinanzierung, Automotive-B2B-Verkauf, Gebrauchtwagen-B2C-Verkauf und andere Bereiche abdeckt.
Im Folgenden finden Sie einige Beispiele:
- Digitale Fabrik: European Factory Platform
- Automobilunternehmen: Geely Auto, XPeng Motors, Lotus Cars, Li Auto, BeyonCa Autos
- KI & Autonomes Fahren: Horizon Robotics, Momenta
- Autofinanzierung: BMW Financial Services
- Spracherkennung: AiSpeech
Als Cloud-native-API-Gateway ist Apache APISIX eine grundlegende Komponente, die API-Anfragen von verschiedenen Endgeräten wie Autos, IoT-Geräten, mobilen Apps usw. verarbeiten kann. Die weit verbreitete Nutzung von Apache APISIX in der Automobilindustrie treibt auch Open-Source-Projekte voran, um die Bedürfnisse von mehr Unternehmenskunden zu erfüllen.
Wir werden akkumulierte Branchenlösungen über API7 Enterprise und API7 Cloud bereitstellen. Kontaktieren Sie uns gerne: https://api7.ai/contact.
Im Folgenden werden wir anhand einiger typischer Anwendungsfälle herausfinden, wie API-Gateway und Apache APISIX Unternehmenskunden dabei helfen, praktische Probleme zu lösen.
European Factory Platform verwendet APISIX als Sicherheitsgateway
EFPF (European Factory Platform) ist ein Verbund digitaler Fertigungsplattformen (DMPs), der durch das Horizon 2020-Programm der Europäischen Kommission finanziert wird. Der Verbund umfasst 30 Unternehmen und Organisationen aus 10 europäischen Ländern, darunter Siemens, Airbus SE, Forschungsinstitute und Universitäten usw. Er bietet innovative Lösungen aus Industrie 4.0, IoT, künstlicher Intelligenz, Big Data und digitaler Fertigung.
EFPF bietet eine Reihe von Tools und Diensten, von denen viele eine oder mehrere APIs bereitstellen, die andere Tools und Dienste nutzen können. Die EFPF-Plattform kann die API-Nutzung über ein API-Gateway überwachen, steuern und analysieren. Darüber hinaus ermöglicht das API-Gateway die Definition von Richtlinien, wie Benutzer mit APIs interagieren, die von verschiedenen Unternehmen in der Plattform bereitgestellt werden.
Das API-Management-Tool oder API-Sicherheitsgateway (ASG), das in der EFPF-Plattform verwendet wird, ist eine Komponente in Data Spine. ASG ist das Grenzgateway für alle API-Aufrufe und bietet extern verfügbare Dienste im EFPF-Ökosystem. Während es als Proxy-Dienst fungiert, erzwingt es auch Sicherheitsrichtlinien für laufende Dienstaufrufe. In EFPF wird ASG mit Apache APISIX implementiert.
Hier sind einige Gründe, warum Apache APISIX gewählt wurde:
- Geschwindigkeit: Da das ASG Aufrufe von Data Spine zu anderen Plattformen im Ökosystem weiterleitet, wird die Latenz für die Aufrufe minimiert.
- Benutzerdefinierte Plugins: Das ASG sollte von minimalem Code/Konfiguration abhängen, um benutzerdefinierte Sicherheitsplugins zu entwickeln.
- Lizenz: Eine freizügige Lizenz (Apache / MIT) wird für die Implementierung des ASG bevorzugt.
- Unterstützung für MQTT.
Darüber hinaus werden auch die folgenden Probleme des API-Managements angegangen:
- API-Konfiguration, Lebenszyklusmanagement und Service-Erkennung
- Einheitlichkeit und Vollständigkeit der API-Spezifikationen
- Schnittstellenvertragsmanagement zwischen Dienstleistern und Verbrauchern
Durch das von EFPF bereitgestellte API-Gateway können die 30 Unternehmen im Verbund verschiedene Arten von Daten über APIs bereitstellen, abrufen und austauschen und auf dieser Grundlage API-Rechteverwaltung und Sicherheitskontrolle durchführen.
XPeng Motors verwendet APISIX zur Erstellung eines intelligenten Cockpits
XPeng Motors ist ein Benchmark-Automobilunternehmen unter den neuen chinesischen Automobilherstellern. Seit seiner Gründung hat es auf die eigenständige Forschung und Entwicklung von „intelligenten Autos“ gesetzt und 20 % in Forschung und Entwicklung investiert, den höchsten Anteil im Vergleich zu Li Auto Inc. und Nio Inc.
Es war umstritten, ob die Software und Hardware von Autos von Automobilunternehmen eigenständig entwickelt werden müssen. Viele glauben, dass Automobilunternehmen sich nur auf die Integration konzentrieren müssen, da es nicht kosteneffizient ist, viel Geld und Zeit in die Eigenentwicklung zu investieren. Aus einer anderen Perspektive kann die Eigenentwicklung von Software und Hardware jedoch eine einheitliche und perfekte Benutzererfahrung der Produkte ermöglichen und eine vorteilhafte Position in späteren Iterationen nach Erfahrungsakkumulation aufrechterhalten.
Nehmen wir das „intelligente Cockpit“ von XPeng Motors als Beispiel, um die Rolle von Apache APISIX darin zu erläutern.
Auf dem Touchscreen-Zentralcontroller von XPeng Motors müssen Benutzer mit dem Internet verbunden sein, um alle Funktionen zu bedienen und zu nutzen, einschließlich Spracherkennung und -steuerung, Karten und Navigation, Musik, Filme usw., deren APIs über Apache APISIX verarbeitet werden.
Für die Anwendungen und Dienste des IoV gibt es keine hohe Parallelität und starken Datenverkehr wie bei Weibo, WeChat und anderen Internetprodukten, sondern es wird mehr Wert auf Stabilität und niedrige Latenz gelegt. Wenn kritische Dienste wie Spracherkennung und Navigation ausfallen und verzögert werden, würden Benutzer dies auf ein Problem von XPeng Motors zurückführen, was die Benutzerzufriedenheit und -erfahrung erheblich verringert.
Darüber hinaus muss XPeng Motors auch mehr Datenübertragung und -analyse entwickeln, um das „Gehirn“ der Cloud mit dem des Autos zu verbinden:
-
Fahren sicherer machen: Die zugrunde liegenden Autodaten wie Fahrgewohnheiten, Geschwindigkeit, Batterielebensdauer, Batterieladung, Reifendruck usw. können zusammen mit Echtzeitdaten wie Temperatur, Wetter und Straßenverstopfung kombiniert werden, um die Sicherheit des Autofahrens zu verbessern;
-
Fahren komfortabler machen: Die Funktionen von Fahrerassistenz, OTA, automatischem Parken usw. sind untrennbar mit der Verarbeitung von Echtzeitdaten und der Analyse von Big Data, die im Hintergrund gesammelt werden, verbunden.
Um die Darstellung der oben genannten Funktionen perfekt zu machen, ist es auf technischer Ebene notwendig, die Verfügbarkeit und niedrige Latenz des Dienstes sicherzustellen, woran intelligente Autos derzeit arbeiten.
Vor der Verwendung von Apache APISIX war unter der Funktion des intelligenten Cockpits von XPeng Motors die Ausführungsreihenfolge einer API, die vom Fahrzeug ausgegeben wurde, Client API -> Alibaba Cloud SLB (Server Load Balancer) (Schicht 4) -> NGINX (Schicht 7) -> Zuul -> Service.
Ganz links im obigen Bild befindet sich die Client-Seite von XPeng Motors. Es gibt drei Hauptquellen für Client-Anfragen: gewöhnliche Fahrzeugclients, Webseiten oder Browser aus dem Internet und offizielle XPeng-Apps oder andere Apps und Mini-Programme.
Der gesammelte Datenverkehr wird dann schließlich durch das Betreibermodul geleitet und an den SLB des internen Rechenzentrums zur Standard-Weiterleitung der Schicht-4-Protokolle gesendet. Wir können dies als einen Empfangsport für Datenverkehr betrachten, der den Datenverkehr an den ersten NGINX, den zweiten NGINX und schließlich an Zuul zur Verarbeitung weiterleitet.
Diese Architektur stieß schnell auf Probleme:
-
API-Anfragen durchlaufen zwei API-Gateways, NGINX und Zuul, was die Übertragungszeit der API erhöht. Jede Anpassung beeinflusst jedoch die Dienstverfügbarkeit und Latenzleistung.
-
Wenn diese Funktion für die sekundäre Entwicklung zur Anbindung an das interne System des Unternehmens verwendet wird, muss NGINX mit C-Modulen entwickelt werden, während Zuul in Java ist. Der Sprachunterschied verlängert den Entwicklungszyklus und die Inkrementalkosten für die spätere Wartung.
-
Nach der Aktualisierung der Route und des SSL-Zertifikats muss NGINX neu gestartet werden. Darüber hinaus gibt es eine Lücke, in der Dienste nicht verfügbar sind, was die Darstellung der Dienste bis zu einem gewissen Grad beeinträchtigt.
Darüber hinaus ist das API-Gateway als grundlegende Komponente auch eine der Komponenten, die vom Infrastrukturteam von XPeng Motors gewartet werden müssen. Unter Berücksichtigung einiger der aktuellen Schmerzpunkte auf funktionaler Ebene hofft XPeng Motors, ein Projekt mit einer aktiven Community, langfristiger Iteration und gesunder Entwicklung zu finden, um die Nutzungs- und Wartungskosten des eigenen Geschäfts auf Architekturebene zu reduzieren.
Nach der Verwendung von APISIX wurde ihre Architektur wie unten gezeigt angepasst.
Es ist zu sehen, dass sich der Verarbeitungsfluss der Szene nach der Verwendung von APISIX geändert hat. Die Ausführungsreihenfolge einer API, die vom Fahrzeug ausgegeben wird, wurde wie folgt geändert: Client API -> Alibaba Cloud SLB (Schicht 4) -> APISIX (Schicht 7) -> Service.
Wie aus der Änderung der Ausführungsreihenfolge ersichtlich ist, wurden der zweite NGINX und Zuul im vorherigen Verarbeitungsfluss durch APISIX ersetzt, sodass der Link nur noch 4 Komponenten durchlaufen muss.
APISIX-DP spielt in der neuen Architektur zwei Rollen. Die erste Rolle ist die eines K8s Ingress, der als Datenverkehrseingang und -ausgang fungiert; die zweite ist die eines Microservice-Gateways. Dann fragen Sie sich vielleicht: Warum behalten wir einen NGINX im neuen Prozess? Er wird hauptsächlich verwendet, um den relevanten Datenverkehr zu verteilen, das entsprechende Microservice-API-Gateway zu identifizieren und dann an den Service zu senden.
Auf der praktischen Ebene von XPeng Motors hilft der neue Prozess XPeng Motors, verschiedene Komponenten durch APISIX zu öffnen. Der Vorteil dabei ist, dass er höhere Anforderungen an Gateway-Produkte stellt, die nicht nur eine starke Stabilität, sondern auch Unterstützung für alle internen Microservice-Systeme erfordern. Darüber hinaus macht diese Verbindung auf Benutzerebene ein einheitlicheres Datenverkehrsmanagement innerhalb des Dienstes möglich, verkürzt den gesamten Kommunikationslink und reduziert die Latenz.
Daher bietet die Einführung von APISIX auf technischer Ebene mehr Möglichkeiten für die Infrastruktur von XPeng Motors:
- Apache APISIX kann sich mit mehr Registrierungs- und Service-Erkennungskomponenten verbinden, was flexiblere Anpassungen der Migration und Architektur mehrerer interner Systeme ermöglicht.
- APISIX hat ein MQTT-Plugin, das Anfragen von IoT-Endgeräten verarbeiten kann.
- Die Architektur und das Ökosystem von APISIX sind cloud-nativer, was für Multi-Cloud- und Hybrid-Cloud-Architekturen in der Zukunft freundlicher ist und mit dem langfristigen Plan des Unternehmens für die technologische Entwicklung übereinstimmt.
In Zukunft kann Apache APISIX XPeng Motors nicht nur bei der Verarbeitung von Nord-Süd-API-Datenverkehr helfen, sondern auch mehr Datenverkehr wie IoT-Geräte, K8s Ingress und Service-Meshes verarbeiten, um die Komplexität der Infrastruktur und die Wartungskosten zu reduzieren.
Geely Auto koordiniert globales Datenverkehrsmanagement basierend auf Apache APISIX
Geely Auto ist ein privater Automobilhersteller, der 1996 gegründet wurde und dessen Hauptgeschäft die Herstellung und der Vertrieb von Automobilen und Autoteilen ist. Geely Auto begann etwa ein Jahr nach der Open-Source-Freigabe von Apache APISIX, APISIX in der Produktionsumgebung zu verwenden.
In den Nutzungsszenarien von Geely wird APISIX hauptsächlich verwendet, um einige Geschäfte im Microservice-Gateway-Szenario zu implementieren. Wie in der folgenden Abbildung gezeigt, werden einige verwandte Funktionen intern von Geely entwickelt und verwendet.
Die derzeitige Anwendung von APISIX bei Geely konzentriert sich hauptsächlich auf das interne Datenverkehrsmanagement innerhalb des Unternehmens, insbesondere auf API-Gateways für Microservices.
Durch die Verwendung von APISIX hat Geely seine internen APIs vermarktet, um die Entkopplung und gegenseitige Abonnement von Diensten zwischen Produzenten und Verbrauchern zu realisieren, deren einheitliche Überwachung oder Verwaltung durchgeführt werden muss.
Mit der allmählich zunehmenden Geschäftsart und -größe wurde die globale Verteilung von Geely breiter. Daher begannen einige globale Datenverarbeitungsanfragen oder einige Anfragen über DC-Rechenzentren hinweg aufzutauchen.
In diesem Fall, welche Rolle spielt APISIX?
Extern kommt die Anfrage des Benutzers zunächst über das öffentliche Netzwerk zum nächsten Knoten, z.B. Cluster A. Wenn jedoch beispielsweise der Knoten nicht verfügbar ist oder einige Probleme im Zusammenhang mit der Datenhoheit auftreten, stellt sich heraus, dass Cluster A die aktuelle Anfrage des Benutzers möglicherweise nicht verarbeiten kann. Basierend auf den oben genannten beiden Situationen hat Geely intern ein mehrschichtiges Netzwerk implementiert, wie in der obigen Abbildung gezeigt.
Diese mehrschichtige Netzwerkarchitektur wird verwendet, um globales Datenverkehrsmanagement zu erreichen und clusterübergreifende Planung durchzuführen, wodurch Canary Releases und Hochverfügbarkeit von multinationaler Datenhoheit oder clusterübergreifenden Szenarien realisiert werden.
Horizon Robotics implementiert Multi-Cloud-Dienstaufruf und -Authentifizierung basierend auf APISIX
Die Beijing Horizon Robotics Technology R&D Co., Ltd. ist hauptsächlich in der Forschung und Entwicklung von Edge-AI-Chips tätig und verfügt über führende Fähigkeiten in künstlicher Intelligenz und Chipdesign.
Als das einzige Unternehmen, das die Massenproduktion von Automotive-KI-Chips erreicht hat, setzt sich Horizon Robotics dafür ein, die Innovation und Entwicklung der Automobilindustrie durch die Stärkung der Basistechnologien voranzutreiben.
Für ein schnell wachsendes KI-Unternehmen ist es entscheidend, die Benutzerfreundlichkeit des Geschäftsmanagements und den stabilen Betrieb sicherzustellen, wobei das Gateway als erste Kontrollstelle steht.
Aufgrund einiger unlösbarer Probleme im vorherigen Gateway hat Horizon das Gateway neu ausgewählt und sich schließlich für den Apache APISIX Ingress Controller als das Datenverkehrsgateway des Unternehmens entschieden, um Dienste einheitlich bereitzustellen.
Die Auswahl von APISIX Ingress basiert hauptsächlich auf den folgenden Punkten:
-
Reichhaltige Plugins: Apache APISIX verfügt über ein großartiges Plugin-Ökosystem. Alle von APISIX unterstützten Plugins können mit
apisix-ingress-controller
für deklarative Konfiguration verwendet werden, und es können benutzerdefinierte Plugins für ein einzelnesbackend
unterApisixRoute
erstellt werden. -
Visuelle Konfiguration: Sie können jede
apisix route
mit dem APISIX Dashboard sehen. Wenn derselbe Domainname in mehrerennamespace
oder mehrerenyaml
-Dateien konfiguriert ist, können Sie im APISIX Dashboard nach dem Präfixpath
suchen, um ihn bei Konflikten schnell zu lokalisieren. -
Fein abgestimmte Überprüfung: Der APISIX Ingress Controller überprüft die Ressourcen, die von der CRD verwaltet werden, die er verwaltet. Wenn ein nicht existierender Service in der CRD deklariert ist, wird die Fehlermeldung im
event
vonApisixRoute
gespeichert. Der falsche Vorgang wird nicht wirksam, was einige Probleme, die durch Fehlbedienung verursacht werden, bis zu einem gewissen Grad reduziert. -
Reichhaltige Funktionen: APISIX unterstützt Hot Reloading und Hot Plugins, Proxy-Anfragen-Umschreibung, Multi-Faktor-Authentifizierung, Multi-Sprache-Plugin-Entwicklung und so weiter. Weitere Funktionen finden Sie unter APISIX-Funktionen.
-
Aktive Community: Im Vergleich zu anderen Communities hat APISIX viele aktive Entwickler und eine schnelle Reaktion auf GitHub Issues.
-
Hohe Leistung: Aus der folgenden Abbildung ist ersichtlich, dass APISIX im Stresstest im Vergleich zu Envoy etwa 120 % der Leistung von Envoy erreicht. Je mehr Kerne vorhanden sind, desto größer ist der Unterschied in QPS.
Architekturanwendung
Wie aus dem Architekturdiagramm unten ersichtlich ist, fungiert APISIX Ingress als vollständiger Datenverkehrseingang.
Mit anderen Worten, ob es sich um ein Datenmanagementsystem, ein Problemanalysesystem, ein Befehlszeilentool, Web, SaaS-Plattform oder OpenAPI handelt, der gesamte Zugriffsdatenverkehr gelangt über APISIX Ingress in das Upstream (Business Services).
Da das Unternehmen einen speziellen Authentifizierungsdienst hat, verwendet es direkt das forward-auth
-Plugin von Apache APISIX, um die externe Authentifizierung zu realisieren.
Auf der Gateway-Ebene gelangt der gesamte Datenverkehr über den Zugriffsdomainnamen. Zu diesem Zeitpunkt wird der Datenverkehr zunächst durch den LVS (Linux Virtual Server) geleitet, und dann leitet der LVS ihn an die Backend-APISIX-Knoten weiter. Schließlich verteilt APISIX den Datenverkehr gemäß den Routing-Regeln und liefert ihn an den entsprechenden Pod.
Um dem LVS zu ermöglichen, direkt auf APISIX Ingress zu verweisen, wurde der Standardport von APISIX Ingress von 9180 auf 80 geändert, was die Weiterleitung und Verarbeitung von Datenverkehr erleichtert.
Praktische Anwendung
Bei einem Dienstaufruf in einer Multi-Cloud-Umgebung erreicht ein Teil des Geschäftsdatenverkehrs zunächst das lokale IDC (Internet Data Center) und dann den Pod über den APISIX Ingress. Darüber hinaus greifen einige Dienste über Domainnamen auf Alibaba Cloud-Dienste zu, und in einigen Szenarien gibt es Dienste, die mit Aufrufen zwischen Diensten verbunden sind.
Es geht hauptsächlich um Multi-Cloud-Training. Benutzer verwenden das IDC als Einstiegspunkt und können nach Auswahl des Clusters Aufgaben an den entsprechenden Cloud-Cluster übermitteln.
Als Horizon Robotics erstmals begann, Apache APISIX Ingress zu verwenden, unterstützte Apache APISIX das forward-auth
-Plugin nicht, daher hat Horizon ein Plugin basierend auf apisix-go-plugin-runner
angepasst.
Dies fügte jedoch eine zusätzliche Schicht von gRPC-Aufrufen hinzu, was das Debugging erschwerte, da viele Protokolle nicht sichtbar waren. Anfang dieses Jahres unterstützte Apache APISIX das forward-auth
-Plugin. Dann ersetzte Horizon Robotics das angepasste Plugin durch das offizielle, was eine Schicht von gRPC-Aufrufen reduzierte und die Überwachung erleichterte.
Zusammenfassung
Im Kontext von „softwaredefinierten Autos“ hilft API7.ai Automobilunternehmen wie XPeng Motors, Geely Auto und Horizon Robotics, die Verbindung und Daten des Internet der Fahrzeuge besser zu verwalten, und bietet Kunden stabilere Dienste und schnellere iterative Produkte.
Wenn Sie ähnliche Anforderungen haben, besuchen Sie bitte unsere Website https://api7.ai/contact.