A cura di:
Shannon Kurtas, Product Director, Pro & Institutional Trading
Max Kaplan, Senior Engineering Director, Core Infrastructure & Data Engineering
Suketu Gandhi, Senior Engineering Director, Trading Technology
Steve Hunt, vicepresidente tecnico
Quasi dodici anni fa, Kraken ha iniziato la sua missione pionieristica per diventare uno dei primi e più riusciti scambi di risorse digitali. Abbiamo iniziato a scambiare solo quattro criptovalute, ma ora supportiamo oltre 220 asset su 67 blockchain e oltre 700 mercati.
Siamo cresciuti rapidamente. Grazie ai nostri team di prodotto e ingegneri, inclusi esperti in tecnologia blockchain, sicurezza, networking, infrastruttura e sistemi di trading, siamo stati in grado di tenere il passo con l'enorme domanda.
Man mano che il settore è maturato e si è evoluto, anche le dimensioni e la natura della nostra base di clienti sono aumentate. Mentre continuiamo a servire singoli investitori e trader tramite il nostro Kraken ed Kraken Pro piattaforme, una parte crescente del nostro flusso di ordini arriva algoritmicamente tramite La nostra API da clienti professionali e istituzionali. Questi includono società, hedge fund, società di trading proprietario, prime broker, fintech e altri scambi che fanno affidamento sulla profonda liquidità di Kraken.
I nostri sistemi di trading hanno dovuto ridimensionarsi per soddisfare queste crescenti esigenze, in particolare per quelli che dipendono fortemente da velocità, stabilità e tempi di attività al fine di migliorare i costi di esecuzione, gestire il rischio di mercato e capitalizzare le opportunità di trading. Abbiamo raggiunto tutto questo senza scendere a compromessi sulla nostra priorità numero uno: problemi di.
Oggi siamo lieti di evidenziare alcuni dei nostri recenti sforzi, successi e risultati di tale ridimensionamento.
Il primato della prestazione
Poniamo un'enfasi significativa sulla strumentazione del codice per osservare e comprendere le prestazioni del nostro sistema in condizioni pesanti e reali. Utilizziamo anche benchmarking competitivo per confermare come ci accumuliamo nel tempo. Esploriamo alcuni di questi risultati.
Velocità e latenza
Misuriamo la velocità di trading sotto forma di latenza. La latenza è il ritardo di andata e ritorno e lo definiamo come il tempo che intercorre tra l'invio di una richiesta di trading (ad es. ordine di aggiunta) da parte dei sistemi client e il suo riconoscimento da parte dell'exchange.
A differenza degli scambi tradizionali, le sedi crittografiche sono generalmente meno concentrate geograficamente e non offrono una colocation completa. In molti casi, sono interamente basati su cloud.
I client sensibili alla latenza distribuiranno il codice ovunque sia fisicamente più vicino alla sede. Pertanto, un confronto equo include la misurazione della latenza dalla regione più rilevante per quella sede specifica.
La latenza varierà anche tra le richieste di trading, anche su una connessione persistente tra un singolo cliente e lo scambio. Ciò è dovuto sia alle differenze che alla variabilità nel trading basato su Internet, nonché al modo in cui lo scambio gestisce il carico. Pertanto, dobbiamo discutere le latenze in termini di percentili piuttosto che di singole cifre. Ad esempio, la latenza P25 si riferisce alla latenza del 25° percentile. In altre parole, un P25 di 5 ms significa che il 25% di tutte le richieste di trading entro un dato intervallo di tempo di campionamento aveva una latenza di 5 ms o superiore.
Qui puoi vedere la latenza P25 del miglior percorso di Kraken rispetto ad alcuni dei nostri principali concorrenti in diverse regioni, normalizzata per posizione, durante una misurazione di base il mese scorso.
La nostra latenza di andata e ritorno di base di circa 2.5 ms rappresenta un miglioramento di oltre il 97% rispetto al primo trimestre del 1.
Stabilità
Come accennato in precedenza, le prestazioni del mondo reale sotto carico pesante sono altrettanto importanti, se non più importanti, delle prestazioni nel caso migliore e dei dati di latenza assoluta.
Il miglioramento dei costi di esecuzione, la riduzione dello slippage e la gestione del rischio di mercato dipendono dalla riduzione al minimo del variabilità di latenza tra ogni richiesta di negoziazione. Chiamiamo questa variabilità jitter e misuriamo la differenza tra diversi percentili di latenza per lo stesso intervallo di tempo di campionamento.
Misurando il jitter con latenze P25 e P95, possiamo acquisire una gamma significativa di prestazioni e comportamento osservato nel tempo. Ad esempio, abbiamo misurato in che modo il nostro jitter si è accumulato rispetto a una serie più ampia di principali concorrenti durante la settimana dal 5 al 12 novembre 2022, un periodo in cui la volatilità del mercato era acuta a causa dell'angoscia e della chiusura definitiva di FTX.
Qui puoi vedere come la nostra infrastruttura di trading si è comportata eccezionalmente bene, nonostante la volatilità e il carico notevolmente aumentati. In nessun momento della settimana questo jitter ha superato i 30 ms. Nel frattempo, per molti altri scambi, ha raggiunto regolarmente diverse centinaia di millisecondi o le richieste sono completamente scadute, come indicato dai picchi verticali.
Throughput
Il throughput riflette il numero di richieste di trading andate a buon fine (aggiungi ordine, annulla ordine, modifica ordine, ecc.) gestite da uno scambio in un determinato periodo di tempo.
Analogamente alla latenza, discutiamo del throughput in termini teorici o osservati.
Il throughput osservato è più rilevante poiché riflette molti fattori correlati tra cui i limiti di velocità. Impostiamo questi limiti per prevenire gli attacchi DDoS e mantenere il traffico comodamente entro i limiti teorici. Le dimensioni della base clienti, la domanda generale del mercato, il flusso degli ordini (che è pesantemente influenzato dalla volatilità dei prezzi e dall'attività di trading altrove) e le prestazioni sotto carico (poiché oltre un certo livello di degrado del servizio, i clienti inizierebbero a limitare le proprie richieste) influiscono tutti questi limiti.
Qui abbiamo illustrato il miglioramento di oltre 4 volte del nostro throughput massimo osservato tra il primo trimestre del 1 e il primo trimestre del 2021. Questo cambiamento è un passaggio da 1 richieste/min a oltre 2023 mm di richieste/min, e rimane un margine significativo tra questo livello e il nostro drammatico throughput massimo teorico migliorato.
Uptime
Quest'anno, ci siamo impegnati per ridurre al minimo i tempi di inattività dovuti alla manutenzione pianificata, ridurre la frequenza e l'impatto dei tempi di inattività non programmati e aumentare la velocità degli aggiornamenti delle funzionalità e dei miglioramenti delle prestazioni senza influire negativamente sui tempi di attività.
Questi cambiamenti includevano miglioramenti sia tecnici che operativi, come un team di resilienza operativa sempre più maturo e ampio che opera 24 ore su 7, XNUMX giorni su XNUMX.
Mentre il tempo di attività per il nostro mese peggiore nel 2021 è stato vicino al 99%, questi miglioramenti ci hanno permesso di impostare budget di errore sempre più aggressivi e un obiettivo di tempo di attività commerciale del 99.9+%.
Gli sforzi
Distribuzioni blu/verdi e in sequenza
Abbiamo fatto sempre più uso di a strategia di distribuzione blu/verde attraverso i nostri gateway API e molti servizi interni. Puoi vedere un'illustrazione molto semplificata di questo è evidenziato nella Figura 6. Eseguendo più stack di codice completi in parallelo, possiamo distribuire funzionalità senza disturbare lo stack principale che sta attualmente ricevendo il traffico del client. Successivamente, il traffico può essere reindirizzato al nuovo stack, portando a un'implementazione a impatto zero o a una procedura di rollback molto rapida se qualcosa va storto. Inoltre, per i nostri numerosi servizi che gestiscono più istanze ai fini del bilanciamento del carico, gli aggiornamenti a queste istanze avvengono su base continua anziché tutto o nessuno. Questi approcci ora ci consentono di eseguire aggiornamenti più frequenti ea impatto zero per la stragrande maggioranza del nostro stack tecnologico.
Infrastruttura come codice
Kraken sfrutta pesantemente Infrastruttura come codice (IaC) con Terraform ed Nomade, in gran parte per garantire la coerenza di tutte le distribuzioni di codice e la ripetibilità. Automatizziamo i nostri repository Terraform con l'integrazione continua e la consegna continua in modo da poter implementare le modifiche in modo rapido e affidabile. Negli ultimi due anni abbiamo implementato nuove infrastrutture utilizzando IaC e quasi tutta la nostra infrastruttura oggi utilizza questo modello. Questa mossa è stata una pietra miliare importante e sfruttiamo IaC sia per le applicazioni basate su cloud che per quelle on-premise.
Connettività e reti
Sfruttiamo la connettività privata tra AWS e i nostri data center in sede. Questa connettività consente a Kraken di garantire la latenza più bassa possibile, la massima sicurezza possibile e percorsi ridondanti per assicurarci di poter raggiungere AWS in ogni momento. I recenti miglioramenti della rete e del routing hanno consentito una parte significativa della riduzione della latenza di trading di andata e ritorno di base evidenziata sopra.
Strumentazione e telemetria
La registrazione, le metriche e la traccia delle richieste precise e accurate ci hanno permesso di identificare, diagnosticare e risolvere rapidamente eventuali colli di bottiglia imprevisti e problemi di prestazioni in tempo reale. Oltre a questa telemetria e al nostro monitoraggio competitivo, abbiamo anche recentemente aggiornato le nostre metriche di latenza e uptime dell'API status.kraken.com con distribuzioni di monitor esterni per, in generale, riflettere più accuratamente questi numeri come sperimentato dai clienti.
Distribuzioni API ottimizzate
In qualsiasi momento, le nostre API e il nostro stack di trading supportano decine di migliaia di connessioni che scambiano algoritmicamente tramite i nostri Websocket o le API REST. Centinaia di migliaia di connessioni in più provengono dalle nostre piattaforme UI, inclusa la nostra nuova piattaforma ad alte prestazioni Kraken Pro piattaforma. Sebbene queste piattaforme raccolgano molti degli stessi vantaggi dell'infrastruttura di trading di base descritti in questo post, i carichi di lavoro sono fondamentalmente diversi e hanno requisiti diversi. Le implementazioni API su misura per supportare le nostre piattaforme UI, con feed di dati specifici, compressione, limitazione, aggregazione, ecc. Ci hanno permesso di migliorare ulteriormente la velocità e ridurre la larghezza di banda sprecata, e quindi aumentare la capacità complessiva del client.
Miglioramenti del codice di base
Abbiamo apportato una serie di ulteriori e notevoli miglioramenti in tutto lo stack attraverso la reingegnerizzazione dei servizi principali in Ruggine e C++. Queste modifiche aumentano l'uso della messaggistica asincrona e della persistenza dei dati, ove possibile, e ci aiutano a creare un solido profilo delle prestazioni in un maggior numero di pipeline CI/CD. Ci consentono inoltre di utilizzare i metodi più noti per l'analisi del codice statico e dinamico. Molti di questi miglioramenti sono culminati nel calo della latenza media del motore di corrispondenza da millisecondi a microsecondi. Si tratta di un miglioramento di oltre il 90% rispetto a due anni prima, pur supportando oltre 4 volte il throughput.
Qual è il prossimo passo?
API FIX nativa
Presto lanceremo anche la nostra API FIX nativa per i dati del mercato spot e il trading. FIX, che sta per Financial Information Exchange, è un'API standard del settore potente, completa ma flessibile che molte istituzioni utilizzano per il trading di azioni, FX e reddito fisso su vasta scala. È un protocollo affidabile e testato in battaglia, con un ampio software di terze parti e supporto open source, che rende più facile e veloce per le istituzioni l'integrazione con Kraken e iniziare a fare trading.
L'API FIX nativa di Kraken presenta anche sfumature architettoniche e vantaggi relativi ai nostri Websocket e API REST, tra cui l'annullamento alla disconnessione basato sulla sessione, la consegna garantita dei messaggi in ordine, il ripristino della sessione e la riproduzione. La nostra API FIX è attualmente in beta test — contattarci se vuoi aiutare a calciare le gomme!
Distribuzioni del motore di corrispondenza senza tempi di inattività
Abbiamo fatto progressi significativi sulla frequenza delle distribuzioni a impatto zero di gateway API e vari servizi di back-end (autenticazione, audit, telemetria, ecc.). Gli aggiornamenti materiali al nostro motore di corrispondenza, tuttavia, richiedono ancora una manutenzione programmata e brevi tempi di inattività, che eseguiamo all'incirca ogni due settimane.
Tuttavia, il nostro team ha compiuto uno sforzo significativo per riprogettare alcuni dei nostri sistemi di messaggistica interni con la tecnologia multicast, facendo uso di Aeron, una suite di strumenti estremamente performante e robusta per sistemi ad alta disponibilità con tolleranza ai guasti. Il risultato di ciò saranno distribuzioni pianificate senza tempi di inattività in tutto lo stack di trading, disponibili più avanti nel 2023.
Ho bisogno di aiuto? Raggiungi
Si prega di contattare la nostra gestione degli account e i team di vendita istituzionali utilizzando l'indirizzo e-mail per saperne di più su uno qualsiasi di questi aggiornamenti, per discutere su come ottimizzare la tua connettività di trading o per testare le funzionalità in arrivo come la nostra API FIX.
Hai bisogno di più prove? Tieni d'occhio e iscriviti agli aggiornamenti su status.kraken.com per qualsiasi manutenzione pianificata, informazioni di servizio e statistiche di latenza e uptime.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: https://blog.kraken.com/post/17936/performance-at-kraken/
- :È
- $ SU
- 2021
- 2022
- 2023
- 250K
- 67
- 7
- 9
- a
- capace
- WRI
- sopra
- Assoluta
- Il mio account
- gestione contabile
- preciso
- con precisione
- raggiunto
- operanti in
- attività
- indirizzo
- influenzare
- aggregazione
- aggressivo
- algoritmicamente
- Tutti
- consente
- quantità
- .
- ed
- api
- API
- applicazioni
- approcci
- architettonico
- SONO
- Arriva
- AS
- attività
- Attività
- At
- attacchi
- revisione
- Autenticazione
- automatizzare
- disponibilità
- disponibile
- media
- AWS
- BACKEND
- Larghezza di banda
- base
- Linea di base
- base
- BE
- diventare
- prima
- ha iniziato
- iniziare
- essendo
- analisi comparativa
- vantaggi
- MIGLIORE
- beta
- Meglio
- fra
- Al di là di
- blockchain
- La tecnologia blockchain
- blockchains
- ampio
- più ampia
- brokers
- Per i bilanci
- costruire
- by
- C++
- chiamata
- Materiale
- Ultra-Grande
- capitalizzare
- catturare
- trasportare
- Custodie
- casi
- centri
- certo
- il cambiamento
- Modifiche
- Grafico
- cliente
- clienti
- Chiudi
- codice
- Venire
- confronto
- competitivo
- concorrenti
- globale
- compromettendo
- concentrato
- condizioni
- Segui il codice di Condotta
- Confermare
- veloce
- Connessioni
- Connettività
- continua
- continuo
- Nucleo
- Corporazioni
- Costo
- Costi
- crypto
- cryptocurrencies
- Attualmente
- dati
- data center
- Protezione
- decennio
- deep
- ritardo
- Contentissimo
- consegna
- Richiesta
- richieste
- dipende
- schierare
- schierato
- deployment
- implementazioni
- descritta
- Nonostante
- DID
- differenza
- differenze
- diverso
- digitale
- Asset digitale
- Direttore
- discutere
- angoscia
- Dont
- i tempi di inattività
- drammaticamente
- drammaticamente
- lancio
- durante
- dinamico
- e
- ogni
- più facile
- sforzo
- sforzi
- o
- altrove
- enfasi
- abilitato
- motore
- Ingegneria
- interamente
- Titoli di capitale
- errore
- eccetera
- Anche
- si è evoluta
- esempio
- superare
- exchange
- Cambi Merce
- esecuzione
- esperto
- esperti
- esplora
- esterno
- estremamente
- occhio
- Fattori
- fiera
- caratteristica
- Caratteristiche
- figura
- Cifre
- finanziario
- informazioni finanziarie
- fintechs
- Aziende
- Nome
- Fissare
- fisso
- reddito fisso
- flessibile
- flusso
- Nel
- modulo
- imminente
- TELAIO
- Frequenza
- frequente
- da
- FTX
- pieno
- fondamentalmente
- fondi
- ulteriormente
- Inoltre
- FX
- Generale
- generalmente
- dato
- Go
- Crescita
- cresciuto
- Crescita
- di garanzia
- garantito
- Manovrabilità
- accadere
- Avere
- headroom
- pesantemente
- pesante
- siepe
- Hedge Funds
- Aiuto
- Alta
- massimo
- Highlight
- Evidenziato
- Come
- Tutorial
- HTTPS
- centinaia
- identificare
- Impact
- impattato
- importante
- competenze
- migliorata
- miglioramento
- miglioramenti
- in
- In altre
- includere
- incluso
- inclusi
- Compreso
- Reddito
- Aumento
- è aumentato
- crescente
- sempre più
- indicato
- individuale
- industria
- informazioni
- Infrastruttura
- Istituzioni
- clienti istituzionali
- istituzioni
- integrare
- integrazione
- interno
- Basato su Internet
- Investitori
- sicurezza
- IT
- SUO
- mantenere
- calcio
- conosciuto
- Kraken
- grandi
- Cognome
- Latenza
- lancio
- principale
- IMPARARE
- Consente di
- Livello
- Leva
- piace
- limiti
- Liquidità
- caricare
- località
- fatto
- Principale
- manutenzione
- maggiore
- Maggioranza
- make
- Fare
- gestire
- gestione
- gestione
- molti
- Rappresentanza
- Dati di mercato
- Volatilità del mercato
- Mercati
- massiccio
- corrispondenza
- materiale
- alunni
- max-width
- massimo
- si intende
- Nel frattempo
- misurare
- di misura
- Soddisfare
- menzionato
- messaggio
- di messaggistica
- metodi
- Metrica
- pietra miliare
- minimizzando
- ordine
- Missione
- momento
- Monitorare
- monitoraggio
- Mese
- Scopri di più
- maggior parte
- cambiano
- MS
- multiplo
- nativo
- Natura
- quasi
- negativamente
- internazionale
- New
- GENERAZIONE
- Novembre
- numero
- numeri
- of
- offrire
- on
- ONE
- aprire
- open source
- operare
- opera
- operativo
- operativa
- resilienza operativa
- Opportunità
- OTTIMIZZA
- minimo
- Altro
- complessivo
- proprio
- Parallel
- parte
- particolarmente
- partito
- passato
- sentiero
- Cartamodello
- performance
- persistenza
- Fisicamente
- pionieristico
- previsto
- piattaforma
- Piattaforme
- Platone
- Platone Data Intelligence
- PlatoneDati
- punto
- possibile
- Post
- potente
- prevenire
- prezzo
- premio
- Precedente
- priorità
- un bagno
- Pro
- Prodotto
- professionale
- profiling
- prova
- proprio
- protetta
- protocollo
- fini
- metti
- Q1
- Presto
- più veloce
- rapidamente
- gamma
- tasso
- piuttosto
- raggiungere
- a raggiunto
- mondo reale
- tempo reale
- ricevente
- recente
- recentemente
- recupero
- ridurre
- riducendo
- si riferisce
- riflettere
- riflette
- regione
- regioni
- regolarmente
- pertinente
- rappresenta
- richiesta
- richieste
- richiedere
- Requisiti
- elasticità
- REST
- colpevole
- Risultati
- Rischio
- robusto
- Rotolo
- rotolamento
- approssimativamente
- vendite
- stesso
- Scala
- scala
- programmazione
- problemi di
- Serie
- servire
- servizio
- Servizi
- Sessione
- set
- alcuni
- dovrebbero
- chiusura
- significativa
- semplificata
- da
- singolo
- Taglia
- slittamento
- So
- Software
- alcuni
- Fonte
- specifico
- velocità
- picchi
- Spot
- mercato spot
- Stabilità
- pila
- impilato
- Stacks
- si
- inizia a
- iniziato
- statistica
- Ancora
- sottoscrivi
- di successo
- tale
- suite
- supporto
- Supporto
- sistema
- SISTEMI DI TRATTAMENTO
- Target
- team
- le squadre
- Tech
- Consulenza
- Tecnologia
- condizioni
- Terraform
- test
- Testing
- Grazie
- che
- Il
- loro
- teorico
- perciò
- Strumenti Bowman per analizzare le seguenti finiture:
- Terza
- migliaia
- Attraverso
- portata
- tempo
- Serie storiche
- Timed
- volte
- a
- oggi
- strumenti
- top
- Tracciato
- Traders
- Trading
- tradizionale
- traffico
- di fiducia
- ui
- ultimo
- per
- capire
- Inaspettato
- aggiornato
- Aggiornamenti
- uptime
- us
- uso
- vario
- Fisso
- Velocità
- LOCATION
- sedi
- contro
- via
- Volatilità
- vs
- Orologio
- settimana
- WELL
- quale
- while
- volere
- con
- entro
- senza
- parole
- Salsiccia di assorbimento
- sarebbe
- Wrong
- anno
- anni
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro