Szerző:
Shannon Kurtas, termékigazgató, Pro & Institutional Trading
Max Kaplan, idősebb mérnöki igazgató, alapvető infrastruktúra és adatmérnökség
Suketu Gandhi, idősebb mérnöki igazgató, kereskedelmi technológia
Steve Hunt, mérnöki alelnök
Közel tizenkét évvel ezelőtt a Kraken megkezdte úttörő küldetését, hogy az egyik első és legsikeresebb digitális eszköz tőzsdévé váljon. Mindössze négy kriptovalutával kezdtünk kereskedni, de mára több mint 220 eszközt támogatunk 67 blokkláncon és több mint 700 piacon.
Gyorsan nőttünk. Termék- és mérnöki csapatainknak – köztük a blokklánc-technológia, a biztonság, a hálózatépítés, az infrastruktúra és a kereskedelmi rendszerek szakértőivel – lépést tudtunk tartani a hatalmas keresletekkel.
Ahogy az iparág érett és fejlődött, úgy nőtt ügyfélkörünk mérete és jellege is. Miközben továbbra is egyéni befektetőket és kereskedőket szolgálunk ki a mi Kraken és a KrakenPro platformokon, rendelési folyamatunk egyre nagyobb része algoritmikusan érkezik ezen keresztül API-junkat szakmai és intézményi ügyfelektől. Ide tartoznak a vállalatok, a fedezeti alapok, a saját tulajdonú kereskedési cégek, a prime brókerek, a fintech-ek, valamint a Kraken mély likviditására támaszkodó egyéb tőzsdék.
Kereskedési rendszereinket skálázni kellett, hogy megfeleljenek ezeknek a megnövekedett igényeknek, különösen azoknál, amelyek nagymértékben függnek a sebességtől, a stabilitástól és az üzemidőtől a végrehajtási költségek javítása, a piaci kockázatok kezelése és a kereskedési lehetőségek kihasználása érdekében. Mindezt úgy értük el, hogy nem veszélyeztettük első számú prioritásunkat – biztonság.
Ma örömünkre szolgál, hogy kiemeljük néhány közelmúltbeli erőfeszítésünket, sikerünket és a skálázás eredményeit.
A teljesítmény elsődlegessége
Nagy hangsúlyt fektetünk a műszeres kódra, hogy figyeljük és megértsük rendszerünk teljesítményét nehéz, valós körülmények között. Versenyképes benchmarkingot is alkalmazunk, hogy megbizonyosodjunk arról, hogyan haladunk az idő múlásával. Nézzünk meg néhányat ezek közül az eredmények közül.
Sebesség és késleltetés
A kereskedési sebességet látencia formájában mérjük. A késleltetés az oda-vissza út késleltetése, és úgy definiáljuk, mint egy kereskedési kérés (pl. megbízás hozzáadása) ügyfélrendszerek általi elküldése és a tőzsde általi nyugtázása között eltelt időt.
A hagyományos tőzsdéktől eltérően a kriptográfiai helyszínek általában kevésbé földrajzilag koncentráltak, és nem kínálnak teljes körű elhelyezést. Sok esetben teljes mértékben felhőalapúak.
A késleltetésre érzékeny ügyfelek ott helyezik el a kódot, ahol az fizikailag a legközelebb van a helyszínhez. Ezért a tisztességes összehasonlítás magában foglalja a késleltetés mérését az adott helyszín szempontjából legrelevánsabb régióból.
A késleltetés a kereskedési kérések között is változhat, még akkor is, ha egyetlen ügyfél és a tőzsde között állandó kapcsolat van. Ennek oka az internet alapú kereskedés különbségei és változékonysága, valamint az, hogy a tőzsde hogyan kezeli a terhelést. Ezért a késleltetéseket percentilisekben kell tárgyalnunk, nem pedig egyedi számadatokban. Például a P25 késleltetés a 25. százalékos késleltetésre utal. Más szavakkal, az 25 ms-os P5 azt jelenti, hogy egy adott mintavételi időkereten belül az összes kereskedési kérés 25%-ának volt a késleltetése 5 ms vagy annál jobb.
Itt láthatja a Kraken legjobb P25-ös késleltetési idejét néhány legjobb versenytársunkkal szemben a különböző régiókban, hely szerint normalizálva, a múlt havi alapmérés során.
A körülbelül 2.5 ms-os kiindulási oda-vissza késés több mint 97%-os javulást jelent 1 első negyedévéhez képest.
Stabilitás
Mint korábban említettük, a valós teljesítmény nagy terhelés mellett ugyanolyan fontos, ha nem fontosabb, mint a legjobb eset teljesítménye és az abszolút késleltetési adatok.
A végrehajtási költségek javítása, a csúszások csökkentése és a piaci kockázat kezelése a minimálisra csökkentésen múlik változékonyság az egyes kereskedési kérelmek közötti késleltetés. Ezt a variabilitást jitternek nevezzük, és ugyanarra a mintavételi időkeretre mérjük a különböző késleltetési százalékos értékek közötti különbséget.
A jitter P25 és P95 késleltetéssel történő mérésével a teljesítmény és a megfigyelt viselkedés jelentős tartományát rögzíthetjük az idő múlásával. Például megmértük, hogy a 5. november 12–2022-i héten, amikor a piac ingadozása az FTX szorongása és végsõ leállása miatt, a legkiválóbb versenytársak tágabb köréhez képest hogyan tudott fellépni.
Itt láthatja, hogyan viselkedett rendkívül jól kereskedési infrastruktúránk a drámaian megnövekedett volatilitás és terhelés ellenére. A hét folyamán ez a jitter egyetlen ponton sem haladta meg a 30 ms-ot. Eközben sok más csere esetében rendszeresen elérte a több száz milliszekundumot, vagy a kérések teljesen lejártak, amint azt a függőleges tüskék jelzik.
áteresztőképesség
Az áteresztőképesség a tőzsde által adott időn belül kezelt sikeres kereskedési kérések (megbízás hozzáadása, megbízás törlése, megbízás szerkesztése stb.) számát tükrözi.
A késleltetéshez hasonlóan az áteresztőképességet elméleti vagy megfigyelt értelemben is tárgyaljuk.
A megfigyelt áteresztőképesség relevánsabb, mivel számos egymással összefüggő tényezőt tükröz, beleértve a sebességkorlátokat. Ezeket a korlátokat azért állítjuk be, hogy megakadályozzuk a DDoS támadásokat, és kényelmesen tartsuk a forgalmat az elméleti határokon belül. Az ügyfélkör mérete, az általános piaci kereslet, a megbízások áramlása (amelyet erősen befolyásol az áringadozás és a kereskedési tevékenység máshol), valamint a terhelés alatti teljesítmény (mivel a szolgáltatás egy bizonyos szintjén túl az ügyfelek elkezdik fojtani saját kéréseiket) ezeket a határokat.
Itt bemutatjuk a maximális megfigyelt átviteli sebességünk több mint 4-szeres javulását 1 első negyedéve és 2021 első negyedéve között. Ez a változás a 1 2023 kérés/percről 250 mm feletti kérés/percre való elmozdulást jelent, és jelentős mozgástér maradt e szint és a drámai szint között. javított elméleti maximális áteresztőképesség.
Uptime
Ebben az évben erőfeszítéseket tettünk a tervezett karbantartás miatti leállások minimalizálására, a nem tervezett leállások gyakoriságának és hatásának csökkentésére, valamint a funkciók frissítésének és a teljesítményjavítások sebességének növelésére anélkül, hogy negatívan befolyásolnánk az üzemidőt.
Ezek a változtatások mind technikai, mind operatív fejlesztéseket tartalmaztak, például egy egyre érettebb és nagy létszámú, a hét minden napján, 24 órájában működő operatív rugalmassági csapatot.
Míg 2021 legrosszabb hónapjában az üzemidő megközelítette a 99%-ot, ezek a fejlesztések lehetővé tették számunkra, hogy egyre agresszívebb hibaköltségvetéseket és 99.9+%-os kereskedési rendelkezésre állási célt tűzzünk ki.
Erőfeszítések
Kék/zöld és gördülő bevetések
Egyre nagyobb mértékben alkalmaztuk a kék/zöld telepítési stratégia API-átjáróinkon és számos belső szolgáltatásunkon keresztül. Ennek egy nagyon leegyszerűsített illusztrációja látható a 6. ábrán. Több teljes értékű kódverem párhuzamos működtetésével a funkciókat anélkül telepíthetjük, hogy megzavarnánk az ügyfélforgalmat jelenleg fogadó fő veremet. Ezt követően a forgalmat át lehet irányítani az új verembe, ami nulla hatású telepítéshez vezet, vagy nagyon gyors visszaállítási eljáráshoz, ha bármi baj történne. Ezenkívül számos olyan szolgáltatásunk esetében, amelyek terheléselosztás céljából több példányt működtetnek, ezeknek a példányoknak a frissítése gördülő alapon történik, nem pedig a „mindent vagy egyet sem”. Ezek a megközelítések most lehetővé teszik számunkra, hogy technológiai készletünk túlnyomó többségén hatástalanul, és gyakoribb frissítéseket hajtsunk végre.
Infrastruktúra mint kód
Kraken erősen kihasználja Infrastruktúra mint kód (IaC) val vel Terraform és a nomád, nagyrészt azért, hogy garantálja az összes kódtelepítés következetességét és az ismételhetőséget. Folyamatos integrációval és folyamatos szállítással automatizáljuk Terraform adattárainkat, így gyorsan és megbízhatóan tudjuk végrehajtani a változtatásokat. Az elmúlt két évben új infrastruktúrát telepítettünk IaC használatával, és ma szinte az összes infrastruktúránk ezt a mintát használja. Ez a lépés jelentős mérföldkő volt, és az IaC-t mind a felhőalapú, mind a helyszíni alkalmazásokban kihasználjuk.
Csatlakozás és hálózatépítés
Kihasználjuk a privát kapcsolatot az AWS és a helyszíni adatközpontjaink között. Ez a kapcsolat lehetővé teszi a Krakennek, hogy garantálja a lehető legalacsonyabb késleltetést, a lehető legmagasabb biztonságot és a redundáns útvonalakat, hogy mindig elérhessük az AWS-t. A közelmúltban végrehajtott hálózati és útválasztási fejlesztések lehetővé tették a fentebb kiemelt kiindulási oda-vissza kereskedés késleltetésének jelentős részét.
Műszerek és telemetria
Az aprólékos és pontos naplózás, mérőszámok és kérések nyomon követése lehetővé tette számunkra, hogy valós időben gyorsan azonosítsuk, diagnosztizáljuk és megoldjuk a váratlan szűk keresztmetszeteket és teljesítményproblémákat. Ezen a telemetrián és saját versenyfigyelésünkön túl nemrégiben frissítettük az API késleltetési és rendelkezésre állási mutatóinkat is status.kraken.com külső monitor telepítésekkel, hogy általában pontosabban tükrözze ezeket a számokat az ügyfelek által tapasztalt módon.
Optimalizált API-telepítések
API-jaink és kereskedési veremeink minden pillanatban több tízezer kapcsolat kereskedelmét támogatják algoritmikusan a Websocket vagy REST API-kon keresztül. További több százezer kapcsolat származik UI platformjainkról, beleértve az új, nagy teljesítményűt KrakenPro felület. Noha ezek a platformok ugyanazokat az alapvető kereskedelmi infrastruktúra előnyöket élvezik, amelyeket ebben a bejegyzésben leírtunk, a munkaterhelések alapvetően különböznek egymástól, és eltérő követelményeket támasztanak. A felhasználói felület platformjainkat támogató testreszabott API-telepítések speciális adatfolyamokkal, tömörítéssel, szabályozással, összesítéssel stb. lehetővé tették számunkra, hogy tovább javítsuk a sebességet és csökkentsük az elpazarolt sávszélességet, és ezáltal növeljük az ügyfél teljes kapacitását.
Az alapvető kód fejlesztései
Számos további, drámai fejlesztést hajtottunk végre a stackben az alapvető szolgáltatások újratervezésével Rozsda és C++. Ezek a változtatások lehetőség szerint fokozottan kihasználják az aszinkron üzenetküldést és az adatmegmaradást, és segítenek abban, hogy robusztus teljesítményprofilokat építsünk ki több CI/CD-folyamatba. Lehetővé teszik továbbá a statikus és dinamikus kódelemzés legismertebb módszereinek alkalmazását. E fejlesztések közül több abban csúcsosodott ki, hogy a megfelelő motor átlagos késleltetési ideje ezredmásodpercről csökkent ezredmásodperc. Ez több mint 90%-os javulás a két évvel korábbihoz képest, miközben több mint 4-szeres átviteli sebességet támogat.
Mi a következő lépés?
Natív FIX API
Hamarosan elindítjuk natív FIX API-nkat is az azonnali piaci adatokhoz és a kereskedéshez. A FIX, amely a Financial Information Exchange rövidítése, egy erőteljes és átfogó, de rugalmas iparági szabvány API, amelyet sok intézmény használ részvények, deviza és fix kamatozású kereskedéshez tömegesen. Ez egy megbízható és harcokban tesztelt protokoll, széles körű harmadik féltől származó szoftverrel és nyílt forráskódú támogatással, amely megkönnyíti és gyorsabbá teszi az intézmények számára a Krakennel való integrációt és a kereskedés megkezdését.
A Kraken natív FIX API-ja architekturális árnyalatokkal és előnyökkel is rendelkezik a Websockets és REST API-khoz képest, beleértve a munkamenet-alapú lekapcsolást, a garantált rendelési üzenetkézbesítést, a munkamenet-helyreállítást és az újrajátszást. A FIX API jelenleg béta tesztelés alatt áll — elérje ha szeretnél segíteni felrúgni a gumikat!
Nulla állásidő-egyeztető motortelepítések
Jelentős előrelépéseket tettünk az API-átjárók és a különböző háttérszolgáltatások (hitelesítés, audit, telemetria stb.) hatástalan telepítésének gyakoriságában. A megfelelő motorunk lényeges frissítései azonban továbbra is ütemezett karbantartást és rövid állásidőt igényelnek, amelyeket nagyjából kéthetente hajtunk végre.
Csapatunk azonban jelentős erőfeszítéseket tett annak érdekében, hogy egyes belső üzenetküldő rendszereinket újratervezze multicast technológiával, kihasználva a Aeron, rendkívül nagy teljesítményű és robusztus eszközkészlet a hibatűrő magas rendelkezésre állású rendszerek számára. Ennek eredményeként a tervezett üzembe helyezések nulla leállást jelentenek a kereskedési stackben, amely 2023 végén lesz elérhető.
Kell segítség? Nyújtsa ki a kezét
Kérjük, lépjen kapcsolatba fiókkezelési és intézményi értékesítési csapatunkkal az e-mail cím használatával ha többet szeretne megtudni ezekről a frissítésekről, megbeszélheti, hogyan optimalizálhatja kereskedési kapcsolatát, vagy béta tesztelheti a közelgő funkciókat, például a FIX API-nkat.
Több bizonyítékra van szüksége? Tartsa szemmel, és iratkozzon fel a frissítésekre status.kraken.com minden tervezett karbantartáshoz, szervizinformációhoz, valamint késleltetési és üzemidő-statisztikához.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- Platoblockchain. Web3 metaverzum intelligencia. Felerősített tudás. Hozzáférés itt.
- Forrás: https://blog.kraken.com/post/17936/performance-at-kraken/
- :is
- $ UP
- 2021
- 2022
- 2023
- 250K
- 67
- 7
- 9
- a
- Képes
- Rólunk
- felett
- Abszolút
- Fiók
- számlavezetés
- pontos
- pontosan
- elért
- át
- tevékenység
- cím
- érint
- összesítés
- agresszív
- algoritmikusan
- Minden termék
- lehetővé teszi, hogy
- összeg
- elemzés
- és a
- api
- API-k
- alkalmazások
- megközelít
- építészeti
- VANNAK
- érkezik
- AS
- vagyontárgy
- Eszközök
- At
- Támadások
- könyvvizsgálat
- Hitelesítés
- automatizált
- elérhetőség
- elérhető
- átlagos
- AWS
- háttér
- Sávszélesség
- bázis
- kiindulási
- alap
- BE
- válik
- előtt
- kezdődött
- kezdődik
- hogy
- benchmarking
- Előnyök
- BEST
- beta
- Jobb
- között
- Túl
- blockchain
- Blockchain technológia
- blockchains
- széles
- tágabb
- brókerek
- Költségvetési
- épít
- by
- C + +
- hívás
- TUD
- Kapacitás
- tőkésít
- elfog
- visz
- eset
- esetek
- Centers
- bizonyos
- változik
- Változások
- Táblázatos
- vásárló
- ügyfél részére
- közel
- kód
- hogyan
- összehasonlítás
- versenyképes
- versenytársak
- átfogó
- veszélyeztetése
- sűrített
- Körülmények
- Magatartás
- megerősít
- kapcsolat
- kapcsolatok
- Connectivity
- folytatódik
- folyamatos
- Mag
- Corporations
- Költség
- kiadások
- crypto
- cryptocurrencies
- Jelenleg
- dátum
- adatközpontok
- DDoS
- évtized
- mély
- késleltetés
- elragadtatva
- kézbesítés
- Kereslet
- igények
- függ
- telepíteni
- telepített
- bevetés
- bevetések
- leírt
- Ellenére
- DID
- különbség
- különbségek
- különböző
- digitális
- Digitális eszköz
- Igazgató
- megvitatni
- szorongás
- ne
- állásidő
- drámaian
- drámaian
- Csepegés
- alatt
- dinamikus
- e
- minden
- könnyebb
- erőfeszítés
- erőfeszítések
- bármelyik
- máshol
- hangsúly
- engedélyezve
- Motor
- Mérnöki
- teljesen
- Részvények
- hiba
- stb.
- Még
- alakult ki
- példa
- haladja meg
- csere
- Feltételek
- végrehajtás
- tapasztalt
- szakértők
- feltárása
- külső
- rendkívüli módon
- szem
- tényezők
- igazságos
- Funkció
- Jellemzők
- Ábra
- ábrák
- pénzügyi
- pénzügyi információ
- fintechs
- cégek
- vezetéknév
- Rögzít
- rögzített
- állandó jövedelem
- rugalmas
- áramlási
- A
- forma
- közelgő
- KERET
- Frekvencia
- gyakori
- ból ből
- FTX
- Tele
- alapvetően
- alapok
- további
- Továbbá
- FX
- általános
- általában
- adott
- Go
- Növekvő
- felnőtt
- Növekedés
- garancia
- Garantált
- Kezelés
- történik
- Legyen
- belmagasság
- súlyosan
- nehéz
- sövény
- Fedezeti alapok
- segít
- Magas
- legnagyobb
- Kiemel
- Kiemelt
- Hogyan
- How To
- HTTPS
- Több száz
- azonosítani
- Hatás
- befolyásolta
- fontos
- javul
- javított
- javulás
- fejlesztések
- in
- Más
- tartalmaz
- beleértve
- magában foglalja a
- Beleértve
- Jövedelem
- Növelje
- <p></p>
- növekvő
- egyre inkább
- jelzett
- egyéni
- ipar
- információ
- Infrastruktúra
- szervezeti
- intézményi ügyfelek
- intézmények
- integrálni
- integráció
- belső
- Internet alapú
- Befektetők
- kérdések
- IT
- ITS
- Tart
- rúg
- ismert
- Kraken
- nagy
- keresztnév
- Késleltetés
- indítás
- vezető
- TANUL
- Lets
- szint
- Tőkeáttétel
- mint
- határértékek
- fizetőképesség
- kiszámításának
- elhelyezkedés
- készült
- Fő
- karbantartás
- fontos
- Többség
- csinál
- Gyártás
- kezelése
- vezetés
- kezelése
- sok
- piacára
- Piaci adatok
- Piaci volatilitás
- piacok
- tömeges
- egyező
- anyag
- érett
- max-width
- maximális
- eszközök
- Közben
- intézkedés
- mérő
- Találkozik
- említett
- üzenet
- üzenetküldés
- mód
- Metrics
- mérföldkő
- minimalizálása
- minimum
- Küldetés
- pillanat
- monitor
- ellenőrzés
- Hónap
- több
- a legtöbb
- mozog
- MS
- többszörös
- bennszülött
- Természet
- közel
- negatívan
- hálózatba
- Új
- következő
- november
- szám
- számok
- of
- ajánlat
- on
- ONE
- nyitva
- nyílt forráskódú
- működik
- működik
- üzemeltetési
- operatív
- működési rugalmasság
- Lehetőségek
- Optimalizálja
- érdekében
- Más
- átfogó
- saját
- Párhuzamos
- rész
- különösen
- párt
- múlt
- ösvény
- Mintás
- teljesítmény
- kitartás
- fizikailag
- úttörő
- tervezett
- emelvény
- Platformok
- Plató
- Platón adatintelligencia
- PlatoData
- pont
- lehetséges
- állás
- erős
- megakadályozása
- ár
- Első
- Előzetes
- prioritás
- magán
- per
- Termékek
- szakmai
- profilalkotás
- bizonyíték
- szabadalmazott
- védett
- protokoll
- célokra
- tesz
- Q1
- Quick
- gyorsabb
- gyorsan
- hatótávolság
- Arány
- Inkább
- el
- elérte
- való Világ
- real-time
- fogadó
- új
- nemrég
- felépülés
- csökkenteni
- csökkentő
- kifejezés
- tükröznie
- tükrözi
- vidék
- régiók
- rendszeresen
- jelentése
- kérni
- kéri
- szükség
- követelmények
- rugalmasság
- REST
- eredményez
- Eredmények
- Kockázat
- erős
- Tekercs
- Gördülő
- nagyjából
- értékesítés
- azonos
- Skála
- skálázás
- ütemezés
- biztonság
- Series of
- szolgál
- szolgáltatás
- Szolgáltatások
- ülés
- készlet
- számos
- kellene
- üzemszünet
- jelentős
- egyszerűsített
- óta
- egyetlen
- Méret
- csúszás
- So
- szoftver
- néhány
- forrás
- különleges
- sebesség
- tüskék
- Spot
- spot piaci
- Stabilitás
- verem
- egymásra rakva
- Stacks
- állványok
- kezdet
- kezdődött
- statisztika
- Még mindig
- Iratkozz fel
- sikeres
- ilyen
- kíséret
- támogatás
- Támogató
- rendszer
- Systems
- cél
- csapat
- csapat
- tech
- Műszaki
- Technológia
- feltételek
- Terraform
- teszt
- Tesztelés
- Kösz
- hogy
- A
- azok
- elméleti
- ebből adódóan
- Ezek
- Harmadik
- ezer
- Keresztül
- áteresztőképesség
- idő
- Idősorok
- időzített
- alkalommal
- nak nek
- Ma
- szerszámok
- felső
- nyomkövetés
- Kereskedők
- Kereskedés
- hagyományos
- forgalom
- Megbízható
- ui
- végső
- alatt
- megért
- Váratlan
- frissítve
- Frissítés
- üzemidő
- us
- használ
- különféle
- Hatalmas
- Sebesség
- helyszín
- helyszínek
- Ellen
- keresztül
- Illékonyság
- vs
- Nézz
- hét
- JÓL
- ami
- míg
- lesz
- val vel
- belül
- nélkül
- szavak
- Legrosszabb
- lenne
- Rossz
- év
- év
- te
- A te
- zephyrnet