Ob es sich um ein Aktienhandelssystem oder ein digitales Währungshandelssystem handelt, es ist untrennbar mit der passenden Handelsmaschine verbunden, die das Herzstück der Handelsplattform bildet. Gleichzeitig erleichtert ein hervorragendes architektonisches Design auch den Betrieb, die Wartung und die kontinuierliche Weiterentwicklung der Handelsplattform. Dieser Artikel fasst den Architekturentwurf eines digitalen Währungshandelssystems zusammen, der auf eingehender Forschung zu Open-Source-Projekten basiert.
Über das Matching-Handelssystem
Die Matching-Technologie entwickelt sich hauptsächlich von der Datenbank-Matching-Technologie zur Speicher-Matching-Technologie. Dies liegt daran, dass die Datenbank-Matching-Technologie zunehmend nicht in der Lage ist, die Anforderungen von Finanztransaktionen an hohe Zuverlässigkeit, hohe Leistung, starke Sicherheit und Skalierbarkeit zu erfüllen . und einfache Wartungsanforderungen. Das Finanz-(Währungs-)Transaktions-Matching-System umfasst die folgenden Kernmodule:
Benutzer: Der Endbenutzer vertraut das Angebot und die Menge an, generiert den Auftrag und sendet ihn an die Handelsplattform.
Gateway: Verantwortlich für das Sammeln von Benutzeraufträgen und deren Weiterleitung an die Matching-Engine.
Matching-Engine: Der Kernteil des Handelssystems, der zum Empfangen von Aufträgen und zum Implementieren des Auftragsabgleichs auf der Grundlage der Geschäftslogik verwendet wird, um gleichzeitig Transaktionsdatensätze zu generieren und den Benutzern dann Feedback zu den Transaktionsergebnissen zu geben.
Datenbank: Wird zum Speichern von Bestellungen und Transaktionsdatensätzen während des Transaktionsprozesses verwendet, um Datenpersistenz zu erreichen.
Nachrichtenwarteschlange: Wird im Allgemeinen für die Übertragung von Bestellnachrichten verwendet
Informationen zur Technologieauswahl
Die technische Architektur einer Austauschplattform berücksichtigt hauptsächlich Funktionen wie Sicherheit, Verteilung, einfache Erweiterung, Fehlertoleranz, geringe Latenz und hohe Parallelität Neben verschiedenen Optionen wie Leistungsschaltermechanismus, Dienstregistrierung und -erkennung, Nachrichtendienst, Dienstgateway, Sicherheitsauthentifizierung, In-Memory-Datenbank, relationaler Datenbank usw. wurde schließlich die folgende Technologieauswahl getroffen:
Verteilte Infrastrukturarchitektur zwischen SpringCloud und Dubbo Wählen Sie eine, da Spring Cloud bekannter ist und Spring Cloud-Programmierer einfacher zu rekrutieren sind, was der langfristigen Betriebs- und Wartungsaktualisierung des Systems zuträglich ist. Darüber hinaus wird Spring Cloud auf Basis von Spring Boot entwickelt freundlicher, deshalb habe ich mich für Spring Cloud entschieden. Aufgrund des starken Einflusses von Alibaba wird Dubbo in China häufiger verwendet, und verschiedene Teams können je nach ihren eigenen Umständen wählen.
Einführung des Hystrix-Leistungsschalters als fehlertolerantes Schutzmodul, um zu verhindern, dass der Ausfall eines einzelnen Dienstes die Thread-Ressourcen des gesamten passenden Systemcontainers erschöpft, und um eine große Anzahl kaskadierender Ausfälle in einer verteilten Umgebung zu vermeiden. Führen Sie eine Fallback-Logik aus, wenn der Zugriff auf abhängige Dienste über Drittanbieter-Clients fehlschlägt, abgelehnt wird, eine Zeitüberschreitung auftritt oder ein Kurzschluss vorliegt.
Verwendung von Eureka als Dienstregistrierungs- und Erkennungszentrum zur Implementierung von Diensten der mittleren Ebene, um Lastausgleich und Failover von Diensten der mittleren Ebene zu erreichen.
Bei der Auswahl der Service-Gateways Spring Cloud Gateway und Zuul habe ich mich für Zuul entschieden, weil der Name kürzer ist.
Einführung des Spring Cloud Security-Sicherheitsauthentifizierungsmoduls zum Erstellen sicherer Anwendungen und Dienste. Basierend auf Spring Boot und Spring Security OAuth2 kann Spring Cloud Security schnell gängige Sicherheitsauthentifizierungsmethoden wie Single Sign-On und Tokens erstellen und implementieren Token-Austausch usw.
Wir stellen Redis als In-Memory-Datenbank vor, die auch als Systemdaten-Cache und In-Memory-Berechnung dient.
Bei Verwendung von MySQL als relationale Datenbank ist der Leistungstest sehr gut und für Programmierer, die mit MYSQL vertraut sind, sehr benutzerfreundlich.
Die Nachrichtenwarteschlangen-Middleware MQ verwendet Kafka, das eine extrem hohe Leistung bietet.
Das obige ist der detaillierte Inhalt vonAn welchen Börsen sind ADT-Münzen gelistet (wie man mit Bitcoin handelt). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!