Rédigé par:
Shannon Kurtas, directrice de produit, trading professionnel et institutionnel
Max Kaplan, directeur principal de l'ingénierie, infrastructure de base et ingénierie des données
Suketu Gandhi, directeur principal de l'ingénierie, technologie de négociation
Steve Hunt, vice-président de l'ingénierie
Il y a près de douze ans, Kraken a commencé sa mission pionnière pour devenir l'un des premiers et des plus réussis échanges d'actifs numériques. Nous avons commencé à négocier seulement quatre crypto-monnaies, mais nous prenons désormais en charge plus de 220 actifs sur 67 chaînes de blocs et plus de 700 marchés.
Nous avons grandi rapidement. Grâce à nos équipes de produits et d'ingénierie, y compris des experts en technologie blockchain, en sécurité, en réseau, en infrastructure et en systèmes de trading, nous avons pu répondre à une demande massive.
Au fur et à mesure que l'industrie a mûri et évolué, la taille et la nature de notre clientèle ont également évolué. Alors que nous continuons à servir les investisseurs individuels et les commerçants via notre Kraken ainsi que KrakenPro plates-formes, une partie croissante de notre flux de commandes arrive de manière algorithmique via Notre API auprès de clients professionnels et institutionnels. Il s'agit notamment d'entreprises, de fonds spéculatifs, de sociétés de négoce pour compte propre, de courtiers principaux, de fintechs, ainsi que d'autres bourses qui dépendent de la liquidité importante de Kraken.
Nos systèmes de trading ont dû évoluer pour répondre à ces demandes accrues, en particulier pour ceux qui dépendent fortement de la vitesse, de la stabilité et de la disponibilité afin d'améliorer les coûts d'exécution, de gérer les risques de marché et de capitaliser sur les opportunités de trading. Nous avons réalisé tout cela sans compromettre notre priorité numéro un - sécurité.
Aujourd'hui, nous sommes ravis de souligner certains de nos récents efforts, succès et résultats de cette mise à l'échelle.
Le primat de la performance
Nous mettons un accent particulier sur l'instrumentation du code pour surveiller et comprendre les performances de notre système dans des conditions difficiles et réelles. Nous utilisons également des analyses comparatives concurrentielles pour confirmer comment nous nous situons au fil du temps. Explorons certains de ces résultats.
Vitesse et latence
Nous mesurons la vitesse de trading sous forme de latence. La latence est le délai aller-retour et nous le définissons comme le temps entre une demande de trading (par exemple, ajouter un ordre) envoyée par les systèmes clients et sa reconnaissance par la bourse.
Contrairement aux échanges traditionnels, les sites de cryptographie sont généralement moins concentrés géographiquement et n'offrent pas de colocation complète. Dans de nombreux cas, ils sont entièrement basés sur le cloud.
Les clients sensibles à la latence déploieront le code là où il est physiquement le plus proche du site. Par conséquent, une comparaison équitable comprend la mesure de la latence de la région la plus pertinente pour ce lieu spécifique.
La latence variera également entre les demandes de trading, même sur une connexion persistante entre un seul client et la bourse. Cela est dû à la fois aux différences et à la variabilité des échanges sur Internet, ainsi qu'à la manière dont la bourse gère la charge. Par conséquent, nous devons discuter des latences en termes de centiles plutôt que de chiffres uniques. Par exemple, la latence P25 fait référence à la latence du 25e centile. En d'autres termes, un P25 de 5 ms signifie que 25 % de toutes les demandes de trading dans un laps de temps d'échantillonnage donné avaient une latence de 5 ms ou mieux.
Ici, vous voyez la meilleure latence P25 de Kraken par rapport à certains de nos principaux concurrents dans différentes régions, normalisée pour l'emplacement, lors d'une mesure de référence le mois dernier.
Notre latence aller-retour de base d'environ 2.5 ms représente une amélioration de plus de 97 % par rapport au premier trimestre 1.
Stabilité
Comme mentionné précédemment, les performances réelles sous forte charge sont aussi importantes, voire plus importantes, que les performances optimales et les chiffres de latence absolue.
L'amélioration des coûts d'exécution, la réduction des dérapages et la gestion du risque de marché dépendent de la minimisation du variabilité de latence entre chaque demande de trading. Nous appelons cette variabilité la gigue et nous mesurons la différence entre différents chiffres de centiles de latence pour la même période d'échantillonnage.
En mesurant la gigue avec les latences P25 et P95, nous pouvons capturer une gamme significative de performances et de comportement observé au fil du temps. Par exemple, nous avons mesuré comment notre gigue s'est empilée avec un ensemble plus large de principaux concurrents au cours de la semaine du 5 au 12 novembre 2022, une période où la volatilité du marché était aiguë en raison de la détresse et de l'arrêt ultime de FTX.
Ici, vous pouvez voir comment notre infrastructure de trading s'est comportée exceptionnellement bien, malgré l'augmentation spectaculaire de la volatilité et de la charge. À aucun moment de la semaine, cette gigue n'a dépassé 30 ms. Pendant ce temps, pour de nombreux autres échanges, il atteignait régulièrement plusieurs centaines de millisecondes, ou des demandes expiraient entièrement, comme l'indiquent les pics verticaux.
Cadence de production
Le débit reflète le nombre de demandes de négociation réussies (ajouter une commande, annuler une commande, modifier une commande, etc.) traitées par un échange dans un laps de temps donné.
Comme pour la latence, nous discutons du débit en termes théoriques ou observés.
Le débit observé est plus pertinent car il reflète de nombreux facteurs interdépendants, y compris les limites de débit. Nous fixons ces limites pour empêcher les attaques DDoS et maintenir le trafic confortablement dans les limites théoriques. La taille de la clientèle, la demande générale du marché, le flux de commandes (qui est fortement impacté par la volatilité des prix et l'activité de trading ailleurs) et les performances sous charge (puisqu'au-delà d'un certain niveau de dégradation du service, les clients commenceraient à limiter leurs propres demandes) affectent tous ces limites.
Ici, nous avons illustré l'amélioration de plus de 4 fois de notre débit maximal observé entre le premier trimestre 1 et le premier trimestre 2021. Ce changement est un passage de 1 2023 requêtes/min à plus de 250 mm de requêtes/min, et il reste une marge importante entre ce niveau et notre spectaculaire amélioration du débit maximal théorique.
Uptime
Cette année, nous nous sommes efforcés de minimiser les temps d'arrêt dus à la maintenance planifiée, de réduire la fréquence et l'impact des temps d'arrêt imprévus et d'augmenter la vitesse des mises à jour des fonctionnalités et des améliorations des performances sans impact négatif sur le temps de disponibilité.
Ces changements comprenaient des améliorations à la fois techniques et opérationnelles, telles qu'une équipe de résilience opérationnelle de plus en plus mature et importante qui fonctionne 24h/7 et XNUMXj/XNUMX.
Alors que la disponibilité de notre pire mois en 2021 était proche de 99 %, ces améliorations nous ont permis de définir des budgets d'erreur de plus en plus agressifs et un objectif de disponibilité de négociation de 99.9 + %.
Efforts
Déploiements bleu/vert et glissants
Nous avons de plus en plus recours à un stratégie de déploiement bleu/vert sur nos passerelles API et de nombreux services internes. Vous pouvez voir une illustration très simplifiée de ceci est mis en évidence dans la figure 6. En exploitant plusieurs piles de code à part entière en parallèle, nous pouvons déployer des fonctionnalités sans perturber la pile principale qui reçoit actuellement le trafic client. Ensuite, le trafic peut être réacheminé vers la nouvelle pile, ce qui entraîne un déploiement sans impact ou une procédure de restauration très rapide en cas de problème. De plus, pour nos nombreux services qui exploitent plusieurs instances à des fins d'équilibrage de charge, les mises à jour de ces instances se produisent sur une base continue plutôt que tout ou rien. Ces approches nous permettent désormais d'effectuer des mises à jour sans impact et plus fréquentes sur la grande majorité de notre pile technologique.
L'infrastructure comme code
Kraken s'appuie fortement Infrastructure en tant que code (IaC) comprenant Terraform ainsi que Nomade, en grande partie pour garantir la cohérence de tous les déploiements de code ainsi que la répétabilité. Nous automatisons nos référentiels Terraform avec une intégration continue et une livraison continue afin que nous puissions déployer les modifications rapidement et de manière fiable. Au cours des deux dernières années, nous avons déployé de nouvelles infrastructures en utilisant IaC et la quasi-totalité de notre infrastructure utilise aujourd'hui ce modèle. Ce déménagement a été une étape importante et nous tirons parti d'IaC pour les applications basées sur le cloud et sur site.
Connectivité et mise en réseau
Nous tirons parti de la connectivité privée entre AWS et nos centres de données sur site. Cette connectivité permet à Kraken de garantir que nous avons la latence la plus faible possible, la sécurité la plus élevée possible et des chemins redondants pour nous assurer que nous pouvons atteindre AWS à tout moment. Les récentes améliorations de la mise en réseau et du routage ont permis une partie importante de la réduction de la latence de base des échanges aller-retour soulignée ci-dessus.
Instrumentation et télémétrie
La journalisation fine et précise, les métriques et le suivi des demandes nous ont permis d'identifier, de diagnostiquer et de résoudre rapidement tout goulot d'étranglement et problème de performances inattendus en temps réel. Au-delà de cette télémétrie et de notre propre surveillance concurrentielle, nous avons également récemment mis à jour nos mesures de latence et de disponibilité de l'API sur statut.kraken.com avec des déploiements de moniteurs externes pour, en général, refléter plus précisément ces chiffres tels qu'ils sont vécus par les clients.
Déploiements d'API optimisés
À tout moment, nos API et notre pile de négociation prennent en charge des dizaines de milliers de connexions négociées de manière algorithmique via nos Websockets ou nos API REST. Des centaines de milliers de connexions supplémentaires proviennent de nos plates-formes d'interface utilisateur, y compris notre nouveau système hautes performances KrakenPro plateforme. Bien que ces plates-formes tirent bon nombre des mêmes avantages de l'infrastructure commerciale de base décrits dans cet article, les charges de travail sont fondamentalement différentes et ont des exigences différentes. Les déploiements d'API sur mesure pour prendre en charge nos plates-formes d'interface utilisateur, avec des flux de données spécifiques, la compression, la limitation, l'agrégation, etc. nous ont permis d'améliorer encore la vitesse et de réduire le gaspillage de bande passante, et donc d'augmenter la capacité globale du client.
Améliorations du code de base
Nous avons apporté une série d'améliorations supplémentaires spectaculaires à travers la pile grâce à la réingénierie des services de base dans Calme et C++. Ces modifications font une utilisation accrue de la messagerie asynchrone et de la persistance des données lorsque cela est possible et nous aident à créer un profilage de performances robuste dans un plus grand nombre de nos pipelines CI/CD. Ils nous permettent également d'utiliser les meilleures méthodes connues pour l'analyse de code statique et dynamique. Plusieurs de ces améliorations ont abouti à une baisse de la latence moyenne du moteur de correspondance de quelques millisecondes à microsecondes. Il s'agit d'une amélioration de plus de 90 % par rapport aux deux années précédentes, tout en prenant en charge plus de 4 fois le débit.
Quelle est la prochaine?
API FIX native
Nous lancerons également bientôt notre API FIX native pour les données et le trading du marché au comptant. FIX, qui signifie Financial Information Exchange, est une API standard puissante et complète mais flexible que de nombreuses institutions utilisent pour négocier des actions, des devises et des titres à revenu fixe à grande échelle. Il s'agit d'un protocole fiable et éprouvé, avec un large éventail de logiciels tiers et un support open source, ce qui permet aux institutions de s'intégrer plus facilement et plus rapidement à Kraken et de commencer à négocier.
L'API FIX native de Kraken présente également des nuances architecturales et des avantages par rapport à nos API Websockets et REST, notamment l'annulation à la déconnexion basée sur la session, la livraison garantie des messages dans l'ordre, la récupération de session et la relecture. Notre API FIX est actuellement en test bêta — nous contacter si vous voulez aider à botter les pneus !
Déploiements de moteurs de correspondance sans temps d'arrêt
Nous avons fait des progrès significatifs sur la fréquence des déploiements sans impact des passerelles API et de divers services backend (authentification, audit, télémétrie, etc.). Cependant, les mises à jour matérielles de notre moteur de correspondance nécessitent toujours une maintenance planifiée et de brefs temps d'arrêt, que nous effectuons environ toutes les deux semaines.
Cependant, notre équipe a déployé des efforts considérables pour réorganiser certains de nos systèmes de messagerie internes avec la technologie de multidiffusion, en utilisant Aeron, une suite d'outils extrêmement performante et robuste pour les systèmes haute disponibilité tolérants aux pannes. Le résultat sera des déploiements planifiés sans temps d'arrêt sur l'ensemble de la pile de négociation, disponibles plus tard en 2023.
Besoin d'aide? Atteindre
Veuillez contacter nos équipes de gestion de compte et de vente institutionnelle en utilisant l'adresse e-mail pour en savoir plus sur l'une de ces mises à jour, pour discuter de la façon d'optimiser votre connectivité de trading ou pour tester les fonctionnalités à venir telles que notre API FIX.
Besoin de plus de preuves ? Gardez un œil sur et abonnez-vous aux mises à jour sur statut.kraken.com pour toute maintenance planifiée, les informations de service et les statistiques de latence et de disponibilité.
- Contenu propulsé par le référencement et distribution de relations publiques. Soyez amplifié aujourd'hui.
- Platoblockchain. Intelligence métaverse Web3. Connaissance Amplifiée. Accéder ici.
- La source: https://blog.kraken.com/post/17936/performance-at-kraken/
- :est
- $UP
- 2021
- 2022
- 2023
- 250K
- 67
- 7
- 9
- a
- Capable
- A Propos
- au dessus de
- Absolute
- Compte
- à la gestion des comptes
- Avec cette connaissance vient le pouvoir de prendre
- avec précision
- atteint
- à travers
- activité
- propos
- affecter
- agrégation
- agressif
- algorithmiquement
- Tous
- permet
- montant
- selon une analyse de l’Université de Princeton
- ainsi que
- api
- Apis
- applications
- approches
- architectural
- SONT
- Arrive
- AS
- atout
- Outils
- At
- Attaques
- audit
- Authentification
- automatiser
- disponibilité
- disponibles
- moyen
- AWS
- backend
- Bande passante
- base
- Baseline
- base
- BE
- devenez
- before
- a commencé
- commencer
- va
- analyse comparative
- avantages.
- LES MEILLEURS
- bêta
- Améliorée
- jusqu'à XNUMX fois
- Au-delà
- blockchain
- Technologie blockchain
- blockchains
- vaste
- plus large
- courtiers
- budgets
- construire
- by
- C + +
- Appelez-nous
- CAN
- Compétences
- capitaliser
- capturer
- porter
- maisons
- cas
- Centres
- certaines
- Change
- Modifications
- Graphique
- client
- CLIENTS
- Fermer
- code
- comment
- Comparaison
- compétitif
- concurrents
- complet
- compromettre
- Concentré
- conditions
- Conduire
- Confirmer
- connexion
- Connexions
- Connectivité
- continuer
- continu
- Core
- Corporations
- Prix
- Costs
- Crypto
- cryptocurrencies
- Lecture
- données
- les centres de données
- DDoS
- décennie
- profond
- retarder
- Enchanté
- page de livraison.
- Demande
- demandes
- dépend
- déployer
- déployé
- déploiement
- déploiements
- décrit
- Malgré
- DID
- différence
- différences
- différent
- numérique
- Actif numérique
- Directeur
- discuter
- détresse
- Ne pas
- les temps d'arrêt
- véritable
- Dramatiquement
- Goutte
- pendant
- Dynamic
- e
- chacun
- plus facilement
- effort
- efforts
- non plus
- ailleurs
- l'accent
- activé
- Moteur
- ENGINEERING
- entièrement
- Actions
- erreur
- etc
- Pourtant, la
- évolué
- exemple
- dépassent
- échange
- Échanges
- exécution
- expérimenté
- de santé
- explorez
- externe
- extrêmement
- œil
- facteurs
- juste
- Fonctionnalité
- Fonctionnalités:
- Figure
- Figures
- la traduction de documents financiers
- l'information financière
- fintechs
- entreprises
- Prénom
- Fixer
- fixé
- revenu fixe
- flexible
- flux
- Pour
- formulaire
- à venir
- CADRE
- La fréquence
- fréquent
- De
- FTX
- plein
- fondamentalement
- fonds
- plus
- En outre
- FX
- Général
- généralement
- donné
- Go
- Croissance
- cultivé
- Croissance
- guarantir
- garantie
- Maniabilité
- arriver
- Vous avez
- hauteur
- fortement
- lourd
- haie
- Hedge Funds
- vous aider
- Haute
- le plus élevé
- Souligner
- Surbrillance
- Comment
- How To
- HTTPS
- Des centaines
- identifier
- Impact
- impact
- important
- améliorer
- amélioré
- amélioration
- améliorations
- in
- Dans d'autres
- comprendre
- inclus
- inclut
- Y compris
- passif
- Améliore
- increased
- croissant
- de plus en plus
- indiqué
- individuel
- industrie
- d'information
- Infrastructure
- DOCUMENTS
- clients institutionnels
- les établissements privés
- intégrer
- l'intégration
- interne
- Basé sur Internet
- Investisseurs
- vous aider à faire face aux problèmes qui vous perturbent
- IT
- SES
- XNUMX éléments à
- coup de pied
- connu
- Kraken
- gros
- Nom
- Latence
- lancement
- conduisant
- APPRENTISSAGE
- Allons-y
- Niveau
- Levier
- comme
- limites
- Liquidité
- charge
- emplacement
- LES PLANTES
- Entrée
- facile
- majeur
- Majorité
- a prendre une
- Fabrication
- gérer
- gestion
- les gérer
- de nombreuses
- Marché
- Données du marché
- Volatilité du marché
- Marchés
- massif
- assorti
- Matériel
- mature
- largeur maximale
- maximales
- veux dire
- En attendant
- mesurer
- mesure
- Découvrez
- mentionné
- message
- messagerie
- méthodes
- Métrique
- étape importante
- réduisant au minimum
- minimum
- Mission
- moment
- Surveiller
- Stack monitoring
- Mois
- PLUS
- (en fait, presque toutes)
- Bougez
- MS
- plusieurs
- indigène
- Nature
- presque
- négativement
- de mise en réseau
- Nouveauté
- next
- Novembre
- nombre
- numéros
- of
- code
- on
- ONE
- ouvert
- open source
- fonctionner
- exploite
- d'exploitation
- opérationnel
- résilience opérationnelle
- Opportunités
- Optimiser
- de commander
- Autre
- global
- propre
- Parallèle
- partie
- particulièrement
- fête
- passé
- chemin
- Patron de Couture
- performant
- persistance
- Physiquement
- Nous travaillons à vous offrir une solution de transport
- prévu
- plateforme
- Plateformes
- Platon
- Intelligence des données Platon
- PlatonDonnées
- Point
- possible
- Post
- solide
- empêcher
- prix
- Prime
- Avant
- priorité
- Privé
- Pro
- Produit
- professionels
- profilage
- preuve
- propriétaire
- protégé
- protocole
- des fins
- mettre
- Q1
- Rapide
- plus rapidement
- vite.
- gamme
- Tarif
- plutôt
- nous joindre
- atteint
- monde réel
- en temps réel
- recevoir
- récent
- récemment
- récupération
- réduire
- réduire
- se réfère
- refléter
- reflète
- région
- régions
- régulièrement
- pertinent
- représente
- nécessaire
- demandes
- exigent
- Exigences
- la résilience
- REST
- résultat
- Résultats
- Analyse
- robuste
- Roulent
- Roulant
- grossièrement
- vente
- même
- Escaliers intérieurs
- mise à l'échelle
- ordonnancement
- sécurité
- Série
- besoin
- service
- Services
- Session
- set
- plusieurs
- devrait
- shutdown
- significative
- simplifié
- depuis
- unique
- Taille
- glissement
- So
- Logiciels
- quelques
- Identifier
- groupe de neurones
- vitesse
- pointes
- Spot
- marché au comptant
- Stabilité
- empiler
- empilé
- Combos
- peuplements
- Commencer
- j'ai commencé
- statistiques
- Encore
- inscrire
- réussi
- tel
- suite
- Support
- Appuyer
- combustion propre
- Système
- Target
- équipe
- équipes
- technologie
- Technique
- Technologie
- conditions
- Terraform
- tester
- Essais
- Merci
- qui
- La
- leur
- théorique
- donc
- Ces
- Troisièmement
- milliers
- Avec
- débit
- fiable
- Des séries chronologiques
- Chronométré
- fois
- à
- aujourd'hui
- les outils
- top
- Traçant
- Les commerçants
- Commerce
- traditionnel
- circulation
- confiance
- ui
- ultime
- sous
- comprendre
- Inattendu
- a actualisé
- Actualités
- Stabilité
- us
- utilisé
- divers
- Vaste
- Rapidité
- Lieu
- lieux
- Versus
- via
- Volatilité
- vs
- Montres
- semaine
- WELL
- qui
- tout en
- sera
- comprenant
- dans les
- sans
- des mots
- pire
- pourra
- faux
- an
- années
- Vous n'avez
- Votre
- zéphyrnet