Geschrieben von:
Shannon Kurtas, Produktdirektor, professioneller und institutioneller Handel
Max Kaplan, Senior Engineering Director, Core Infrastructure & Data Engineering
Suketu Gandhi, Senior Engineering Director, Handelstechnologie
Steve Hunt, Vizepräsident Technik
Vor fast zwölf Jahren begann Kraken seine bahnbrechende Mission, eine der ersten und erfolgreichsten Börsen für digitale Vermögenswerte zu werden. Wir haben mit dem Handel von nur vier Kryptowährungen begonnen, aber wir unterstützen jetzt über 220 Assets auf 67 Blockchains und über 700 Märkten.
Wir sind schnell gewachsen. Dank unserer Produkt- und Engineering-Teams – darunter Experten für Blockchain-Technologie, Sicherheit, Netzwerke, Infrastruktur und Handelssysteme – konnten wir mit der massiven Nachfrage Schritt halten.
Mit der Reife und Weiterentwicklung der Branche hat sich auch die Größe und Art unseres Kundenstamms verändert. Während wir einzelne Investoren und Händler weiterhin über unsere bedienen Kraken und KrakenPro Plattformen kommt ein wachsender Teil unseres Auftragsflusses algorithmisch an Unsere API von professionellen und institutionellen Kunden. Dazu gehören Unternehmen, Hedgefonds, Eigenhandelsfirmen, Prime Broker, Fintechs sowie andere Börsen, die sich auf die hohe Liquidität von Kraken verlassen.
Unsere Handelssysteme mussten skaliert werden, um diesen gestiegenen Anforderungen gerecht zu werden, insbesondere für diejenigen, die stark von Geschwindigkeit, Stabilität und Betriebszeit abhängen, um die Ausführungskosten zu verbessern, Marktrisiken zu verwalten und Handelsmöglichkeiten zu nutzen. Wir haben all dies erreicht, ohne Kompromisse bei unserer obersten Priorität einzugehen – Sicherheitdienst.
Heute freuen wir uns, einige unserer jüngsten Bemühungen, Erfolge und Ergebnisse dieser Skalierung hervorzuheben.
Das Primat der Leistung
Wir legen großen Wert auf die Instrumentierung von Code, um unsere Systemleistung unter harten, realen Bedingungen zu beobachten und zu verstehen. Wir verwenden auch Wettbewerbs-Benchmarking, um zu bestätigen, wie wir im Laufe der Zeit abschneiden. Sehen wir uns einige dieser Ergebnisse an.
Geschwindigkeit und Latenz
Wir messen die Handelsgeschwindigkeit in Form von Latenz. Latenz ist die Round-Trip-Verzögerung und wir definieren sie als die Zeit zwischen einer Handelsanfrage (z. B. Auftrag hinzufügen), die von Client-Systemen gesendet wird, und ihrer Bestätigung durch die Börse.
Im Gegensatz zu traditionellen Börsen sind Krypto-Veranstaltungsorte im Allgemeinen weniger geografisch konzentriert und bieten keine vollständige Colocation. In vielen Fällen sind sie vollständig cloudbasiert.
Latenzempfindliche Clients stellen den Code dort bereit, wo er sich physisch am nächsten am Veranstaltungsort befindet. Daher umfasst ein fairer Vergleich die Messung der Latenz in der Region, die für diesen bestimmten Veranstaltungsort am relevantesten ist.
Die Latenz variiert auch zwischen Handelsanfragen, selbst bei einer dauerhaften Verbindung zwischen einem einzelnen Client und der Börse. Dies liegt sowohl an Unterschieden und Schwankungen im internetbasierten Handel als auch daran, wie die Börse mit der Last umgeht. Daher müssen wir Latenzen in Perzentilen und nicht in einzelnen Zahlen diskutieren. Beispielsweise bezieht sich P25-Latenz auf die 25. Perzentil-Latenz. Mit anderen Worten, ein P25 von 5 ms bedeutet, dass 25 % aller Handelsanfragen innerhalb eines bestimmten Abtastzeitraums eine Latenz von 5 ms oder besser hatten.
Hier sehen Sie Krakens beste Pfad-P25-Latenz im Vergleich zu einigen unserer Top-Konkurrenten in verschiedenen Regionen, normalisiert für den Standort, während einer Basismessung im letzten Monat.
Unsere Basis-Roundtrip-Latenz von etwa 2.5 ms entspricht einer Verbesserung von über 97 % gegenüber Q1 2021.
Stabilität
Wie bereits erwähnt, ist die reale Leistung unter hoher Last genauso wichtig, wenn nicht sogar wichtiger, als die Best-Case-Leistung und die absoluten Latenzwerte.
Die Verbesserung der Ausführungskosten, die Reduzierung von Slippage und das Management des Marktrisikos hängen von der Minimierung der Variabilität der Latenz zwischen jeder Handelsanfrage. Wir nennen diesen Schwankungs-Jitter und messen den Unterschied zwischen verschiedenen Latenzperzentilzahlen für denselben Abtastzeitrahmen.
Durch die Messung von Jitter mit P25- und P95-Latenzen können wir einen erheblichen Bereich der Leistung und des beobachteten Verhaltens im Laufe der Zeit erfassen. Zum Beispiel haben wir gemessen, wie sich unser Jitter in der Woche vom 5. bis 12. November 2022 gegenüber einer breiteren Gruppe von Top-Konkurrenten entwickelt hat, einer Zeit, in der die Marktvolatilität aufgrund der Notlage und der endgültigen Schließung von FTX akut war.
Hier können Sie sehen, wie sich unsere Handelsinfrastruktur trotz der dramatisch gestiegenen Volatilität und Belastung außergewöhnlich gut verhalten hat. Zu keinem Zeitpunkt während der Woche überschritt dieser Jitter 30 ms. In der Zwischenzeit erreichte es bei vielen anderen Börsen regelmäßig mehrere hundert Millisekunden, oder Anfragen wurden vollständig beendet, wie durch die vertikalen Spitzen angezeigt.
Durchsatz
Der Durchsatz spiegelt die Anzahl erfolgreicher Handelsanfragen (Auftrag hinzufügen, Auftrag stornieren, Auftrag bearbeiten usw.) wider, die von einer Börse in einem bestimmten Zeitraum bearbeitet wurden.
Ähnlich wie bei der Latenz diskutieren wir den Durchsatz entweder in theoretischer oder beobachteter Hinsicht.
Der beobachtete Durchsatz ist relevanter, da er viele zusammenhängende Faktoren einschließlich Ratenbegrenzungen widerspiegelt. Wir legen diese Limits fest, um DDoS-Angriffe zu verhindern und den Datenverkehr bequem innerhalb der theoretischen Grenzen zu halten. Die Größe des Kundenstamms, die allgemeine Marktnachfrage, der Auftragsfluss (der stark von Preisschwankungen und Handelsaktivitäten an anderer Stelle beeinflusst wird) und die Leistung unter Last (da Kunden ab einem bestimmten Grad an Serviceverschlechterung anfangen würden, ihre eigenen Anfragen zu drosseln) wirken sich alle aus diese Grenzen.
Hier haben wir die über 4-fache Verbesserung unseres maximal beobachteten Durchsatzes zwischen dem 1. Quartal 2021 und dem 1. Quartal 2023 dargestellt. Diese Änderung ist ein Anstieg von 250 Anfragen/min auf über 1 mm Anfragen/min, und es gibt noch einen erheblichen Spielraum zwischen diesem Niveau und unserem dramatisch verbesserter theoretischer maximaler Durchsatz.
Betriebszeit
In diesem Jahr haben wir uns bemüht, Ausfallzeiten aufgrund geplanter Wartungsarbeiten zu minimieren, die Häufigkeit und Auswirkungen ungeplanter Ausfallzeiten zu reduzieren und die Geschwindigkeit von Funktionsaktualisierungen und Leistungsverbesserungen zu erhöhen, ohne die Betriebszeit zu beeinträchtigen.
Diese Änderungen umfassten sowohl technische als auch operative Verbesserungen, wie z. B. ein immer ausgereifteres und größeres operatives Resilienz-Team, das rund um die Uhr im Einsatz ist.
Während die Betriebszeit in unserem schlechtesten Monat im Jahr 2021 bei fast 99 % lag, haben uns diese Verbesserungen ermöglicht, immer aggressivere Fehlerbudgets und ein Handelsbetriebszeitziel von über 99.9 % festzulegen.
Bemühen
Blau/grüne und fortlaufende Bereitstellungen
Wir haben zunehmend Gebrauch von a gemacht Blau/Grün-Bereitstellungsstrategie über unsere API-Gateways und viele interne Dienste. Eine sehr vereinfachte Darstellung davon ist in Abbildung 6 hervorgehoben. Durch den parallelen Betrieb mehrerer vollwertiger Code-Stacks können wir Funktionen bereitstellen, ohne den Hauptstack zu stören, der derzeit Client-Datenverkehr empfängt. Anschließend kann der Datenverkehr an den neuen Stack umgeleitet werden, was zu einer Bereitstellung ohne Auswirkungen oder zu einem sehr schnellen Rollback-Verfahren führt, falls etwas schief geht. Darüber hinaus erfolgen für unsere vielen Dienste, die mehrere Instanzen zum Zweck des Lastenausgleichs betreiben, Aktualisierungen dieser Instanzen auf rollierender Basis und nicht nach dem Alles-oder-Nichts-Prinzip. Diese Ansätze ermöglichen es uns jetzt, die überwiegende Mehrheit unseres Tech-Stacks ohne Auswirkungen und häufigere Updates durchzuführen.
Infrastruktur als Code
Kraken nutzt stark Infrastruktur als Code (IaC) mit Terraform und Nomade, zum großen Teil, um die Konsistenz aller Codebereitstellungen sowie die Wiederholbarkeit zu gewährleisten. Wir automatisieren unsere Terraform-Repositories mit kontinuierlicher Integration und kontinuierlicher Bereitstellung, damit wir Änderungen schnell und zuverlässig einführen können. In den letzten zwei Jahren haben wir neue Infrastrukturen mit IaC bereitgestellt, und fast unsere gesamte Infrastruktur verwendet heute dieses Muster. Dieser Schritt war ein wichtiger Meilenstein, und wir nutzen IaC sowohl für Cloud-basierte als auch für On-Premise-Anwendungen.
Konnektivität und Vernetzung
Wir nutzen die private Konnektivität zwischen AWS und unseren Rechenzentren vor Ort. Durch diese Konnektivität kann Kraken garantieren, dass wir die geringstmögliche Latenz, höchstmögliche Sicherheit und redundante Pfade haben, um sicherzustellen, dass wir AWS jederzeit erreichen können. Jüngste Netzwerk- und Routing-Verbesserungen haben einen erheblichen Teil der oben hervorgehobenen Latenzzeitreduzierung beim Round-Trip-Handel ermöglicht.
Instrumentierung und Telemetrie
Feingranulare und genaue Protokollierung, Metriken und Anforderungsverfolgung haben es uns ermöglicht, alle unerwarteten Engpässe und Leistungsprobleme in Echtzeit schnell zu identifizieren, zu diagnostizieren und zu beheben. Neben dieser Telemetrie und unserer eigenen Wettbewerbsüberwachung haben wir kürzlich auch unsere API-Latenz- und Verfügbarkeitsmetriken aktualisiert status.kraken.com mit externen Monitorbereitstellungen, um diese Zahlen im Allgemeinen genauer widerzuspiegeln, wie sie von Kunden erlebt werden.
Optimierte API-Bereitstellungen
Unsere APIs und unser Trading-Stack unterstützen jederzeit Zehntausende von Verbindungen, die algorithmisch über unsere Websockets oder REST-APIs handeln. Hunderttausende weitere Verbindungen kommen von unseren UI-Plattformen, einschließlich unserer neuen High-Performance KrakenPro Plattform. Während diese Plattformen viele der in diesem Beitrag beschriebenen Vorteile der zentralen Handelsinfrastruktur nutzen, sind die Workloads grundlegend unterschiedlich und haben unterschiedliche Anforderungen. Maßgeschneiderte API-Bereitstellungen zur Unterstützung unserer UI-Plattformen mit spezifischen Daten-Feeds, Komprimierung, Drosselung, Aggregation usw. haben es uns ermöglicht, die Geschwindigkeit weiter zu verbessern und verschwendete Bandbreite zu reduzieren und somit die Gesamt-Client-Kapazität zu erhöhen.
Verbesserungen des Kerncodes
Wir haben eine Reihe weiterer, dramatischer Verbesserungen im gesamten Stack vorgenommen, indem wir die Kerndienste in überarbeitet haben Rust und C++. Diese Änderungen nutzen nach Möglichkeit verstärkt asynchrones Messaging und Datenpersistenz und helfen uns, robuste Leistungsprofile in mehr unserer CI/CD-Pipelines einzubauen. Sie ermöglichen es uns auch, die bekanntesten Methoden zur statischen und dynamischen Codeanalyse anzuwenden. Mehrere dieser Verbesserungen haben dazu geführt, dass die durchschnittliche Latenz der Matching-Engine von Millisekunden auf gesunken ist Mikrosekunden. Dies ist eine Verbesserung von mehr als 90 % gegenüber zwei Jahren zuvor, während der Durchsatz um das Vierfache unterstützt wird.
Was kommt als nächstes?
Native FIX-API
Wir werden auch bald unsere native FIX-API für Spotmarktdaten und -handel einführen. FIX steht für Financial Information Exchange und ist eine leistungsstarke und umfassende, aber flexible Industriestandard-API, die viele Institutionen für den Handel mit Aktien, Devisen und festverzinslichen Wertpapieren in großem Umfang verwenden. Es ist ein vertrauenswürdiges und kampferprobtes Protokoll mit umfassender Software von Drittanbietern und Open-Source-Unterstützung, das es Institutionen einfacher und schneller macht, sich in Kraken zu integrieren und mit dem Handel zu beginnen.
Die native FIX-API von Kraken bietet auch architektonische Nuancen und Vorteile im Vergleich zu unseren Websockets und REST-APIs, darunter sitzungsbasiertes Abbrechen bei Trennung, garantierte Nachrichtenzustellung in der richtigen Reihenfolge, Sitzungswiederherstellung und Wiedergabe. Unsere FIX-API befindet sich derzeit im Beta-Test — erreichen wenn Sie helfen möchten, die Reifen zu treten!
Matching-Engine-Bereitstellungen ohne Ausfallzeiten
Wir haben die Häufigkeit von Zero-Impact-Bereitstellungen von API-Gateways und verschiedenen Backend-Diensten (Authentifizierung, Audit, Telemetrie usw.) erheblich verbessert. Materialaktualisierungen unserer Matching-Engine erfordern jedoch immer noch geplante Wartungsarbeiten und kurze Ausfallzeiten, die wir ungefähr alle zwei Wochen durchführen.
Unser Team hat jedoch erhebliche Anstrengungen unternommen, um einige unserer internen Messaging-Systeme mit Multicast-Technologie umzugestalten und dabei Gebrauch zu machen Aeron, eine äußerst leistungsfähige und robuste Suite von Tools für fehlertolerante Hochverfügbarkeitssysteme. Das Ergebnis davon werden geplante Bereitstellungen ohne Ausfallzeiten im gesamten Trading-Stack sein, die später im Jahr 2023 verfügbar sein werden.
Brauchen Sie Hilfe? Greifen Sie zu
Bitte wenden Sie sich über die E-Mail-Adresse an unsere Account-Management- und institutionellen Vertriebsteams um mehr über diese Updates zu erfahren, um zu besprechen, wie Sie Ihre Handelskonnektivität optimieren können, oder um bevorstehende Funktionen wie unsere FIX-API zu testen.
Benötigen Sie weitere Beweise? Halten Sie die Augen offen und abonnieren Sie Updates auf status.kraken.com für geplante Wartungsarbeiten, Serviceinformationen sowie Latenz- und Betriebszeitstatistiken.
- SEO-gestützte Content- und PR-Distribution. Holen Sie sich noch heute Verstärkung.
- Platoblockkette. Web3-Metaverse-Intelligenz. Wissen verstärkt. Hier zugreifen.
- Quelle: https://blog.kraken.com/post/17936/performance-at-kraken/
- :Ist
- $UP
- 2021
- 2022
- 2023
- 250k
- 67
- 7
- 9
- a
- Fähig
- Über Uns
- oben
- Absolute
- Konto
- Kontoverwaltung
- genau
- genau
- erreicht
- über
- Aktivität
- Adresse
- beeinflussen
- Anhäufung
- aggressiv
- algorithmisch
- Alle
- erlaubt
- Betrag
- Analyse
- und
- Bienen
- APIs
- Anwendungen
- Ansätze
- architektonisch
- SIND
- Kommt
- AS
- Vermögenswert
- Details
- At
- Anschläge
- Prüfung
- Authentifizierung
- automatisieren
- Verfügbarkeit
- verfügbar
- durchschnittlich
- AWS
- Backend
- Bandbreite
- Base
- Baseline
- Grundlage
- BE
- werden
- Bevor
- begann
- beginnen
- Sein
- Benchmarking
- Vorteile
- BESTE
- Beta
- Besser
- zwischen
- Beyond
- Blockchain
- blockchain Technologie
- blockketten
- breit
- breiteres
- Broker
- Budgets
- bauen
- by
- C + +
- rufen Sie uns an!
- CAN
- Kapazität
- profitieren
- Erfassung
- tragen
- Häuser
- Fälle
- Centers
- sicher
- Übernehmen
- Änderungen
- Chart
- Auftraggeber
- Kunden
- Menu
- Code
- wie die
- Vergleich
- wettbewerbsfähig
- Konkurrenz
- umfassend
- kompromittierend
- Konzentriert
- Bedingungen
- Leiten
- Schichtannahme
- Verbindung
- Verbindungen
- Konnektivität
- fortsetzen
- kontinuierlich
- Kernbereich
- Konzerne
- Kosten
- Kosten
- Krypto
- Kryptowährungen
- Zur Zeit
- technische Daten
- Rechenzentren
- DDoS
- Jahrzehnte
- tief
- verzögern
- Erfreut
- Lieferanten
- Demand
- Anforderungen
- hängt
- einsetzen
- Einsatz
- Einsatz
- Implementierungen
- beschrieben
- Trotz
- DID
- Unterschied
- Unterschiede
- anders
- digital
- Digital Asset
- Direktor
- diskutieren
- Not
- Nicht
- Ausfallzeit
- dramatisch
- Dramatisch
- Abwurf
- im
- dynamisch
- e
- jeder
- einfacher
- Anstrengung
- Bemühungen
- entweder
- anderswo
- Betonung
- freigegeben
- Motor
- Entwicklung
- vollständig
- Aktien
- Fehler
- etc
- Sogar
- entwickelt
- Beispiel
- überschreiten
- Austausch-
- Warenumtausch
- Ausführung
- erfahrensten
- Experten
- ERKUNDEN
- extern
- äußerst
- Auge
- Faktoren
- Messe
- Merkmal
- Eigenschaften
- Abbildung
- Zahlen
- Revolution
- Finanzinformation
- FinTechs
- Firmen
- Vorname
- Fixieren
- fixiert
- festes Einkommen
- flexibel
- Fluss
- Aussichten für
- unten stehende Formular
- bevorstehend
- FRAME
- Frequenz
- häufig
- für
- FTX
- voller
- grundlegend
- Mittel
- weiter
- Außerdem
- FX
- Allgemeines
- allgemein
- gegeben
- Go
- persönlichem Wachstum
- gewachsen
- Wachstum
- Garantie
- garantiert
- Handling
- passieren
- Haben
- Durchfahrtshöhe
- schwer
- schwer
- Hecke
- Hedge Fonds
- Hilfe
- GUTE
- höchste
- Hervorheben
- Besondere
- Ultraschall
- Hilfe
- HTTPS
- hunderte
- identifizieren
- Impact der HXNUMXO Observatorien
- wirkt
- wichtig
- zu unterstützen,
- verbessert
- Verbesserung
- Verbesserungen
- in
- In anderen
- das
- inklusive
- Dazu gehören
- Einschließlich
- Einkommen
- Erhöhung
- hat
- zunehmend
- zunehmend
- angegeben
- Krankengymnastik
- Energiegewinnung
- Information
- Infrastruktur
- Institutionell
- institutionelle Kunden
- Institutionen
- integrieren
- Integration
- intern
- Internetbasiert
- Investoren
- Probleme
- IT
- SEINE
- Behalten
- Kick
- bekannt
- Kraken
- grosse
- Nachname
- Latency
- Start
- führenden
- LERNEN
- Lasst uns
- Niveau
- Hebelwirkung
- Gefällt mir
- Grenzen
- Liquidity
- Belastung
- Standorte
- gemacht
- Main
- Wartung
- Dur
- Mehrheit
- um
- Making
- verwalten
- Management
- flächendeckende Gesundheitsprogramme
- viele
- Markt
- Marktdaten
- Marktvolatilität
- Märkte
- massiv
- Abstimmung
- Ihres Materials
- reifen
- max-width
- maximal
- Mittel
- Mittlerweile
- messen
- Messen
- Triff
- erwähnt
- Nachricht
- Messaging
- Methoden
- Metrik
- Meilenstein
- minimieren
- Minimum
- Ziel
- Moment
- Überwachen
- Überwachung
- Monat
- mehr
- vor allem warme
- schlauer bewegen
- MS
- mehrere
- nativen
- Natur
- fast
- negativ
- Vernetzung
- Neu
- weiter
- November
- Anzahl
- Zahlen
- of
- bieten
- on
- EINEM
- XNUMXh geöffnet
- Open-Source-
- betreiben
- arbeitet
- die
- Betriebs-
- operative Belastbarkeit
- Entwicklungsmöglichkeiten
- Optimieren
- Auftrag
- Andere
- Gesamt-
- besitzen
- Parallel
- Teil
- besonders
- Party
- passt
- Weg
- Schnittmuster
- Leistung
- Beharrlichkeit
- Physisch
- Pionierarbeit
- geplant
- Plattform
- Plattformen
- Plato
- Datenintelligenz von Plato
- PlatoData
- Points
- möglich
- Post
- größte treibende
- verhindern
- Preis
- Prime
- Vor
- Prioritätsliste
- privat
- Pro
- Produkt
- Professionell
- Profiling
- Beweis
- Eigentums-
- geschützt
- Protokoll
- Zwecke
- setzen
- Q1
- Direkt
- schneller
- schnell
- Angebot
- Bewerten
- lieber
- erreichen
- erreicht
- realen Welt
- Echtzeit
- Empfang
- kürzlich
- kürzlich
- Erholung
- Veteran
- Reduzierung
- bezieht sich
- reflektieren
- spiegelt
- Region
- Regionen
- regelmäßig
- relevant
- representiert
- Anforderung
- Zugriffe
- erfordern
- Voraussetzungen:
- Elastizität
- REST
- Folge
- Die Ergebnisse
- Risiko
- robust
- Rollen
- Wenden
- rund
- Vertrieb
- gleich
- Skalieren
- Skalierung
- Planung
- Sicherheitdienst
- Modellreihe
- brauchen
- Lösungen
- Sitzung
- kompensieren
- mehrere
- sollte
- Schließung
- signifikant
- vereinfachte
- da
- Single
- Größe
- Schlupf
- So
- Software
- einige
- Quelle
- spezifisch
- Geschwindigkeit
- Spikes
- Spot
- Spot-Markt
- Stabilität
- Stapel
- gestapelt
- Stacks
- steht
- Anfang
- begonnen
- Statistiken
- Immer noch
- Abonnieren
- erfolgreich
- so
- Suite
- Support
- Unterstützung
- System
- Systeme und Techniken
- Target
- Team
- Teams
- Tech
- Technische
- Technologie
- AGB
- Terraform
- Test
- Testen
- Vielen Dank
- zur Verbesserung der Gesundheitsgerechtigkeit
- Das
- ihr
- theoretisch
- deswegen
- Diese
- Dritte
- Tausende
- Durch
- Durchsatz
- Zeit
- Zeitfolgen
- Zeitgesteuert
- mal
- zu
- heute
- Werkzeuge
- Top
- Tracing
- Traders
- Trading
- traditionell
- der Verkehr
- vertraut
- ui
- letzte
- für
- verstehen
- Unerwartet
- aktualisiert
- Updates
- Betriebszeit
- us
- -
- verschiedene
- riesig
- Geschwindigkeit
- Veranstaltungsort
- Veranstaltungsorte
- Gegen
- Flüchtigkeit
- vs
- Ansehen
- Woche
- GUT
- welche
- während
- werden wir
- mit
- .
- ohne
- Worte
- Wurst
- würde
- Falsch
- Jahr
- Jahr
- Du
- Ihr
- Zephyrnet