OKEx Lightning 2.0 frissítés

Egy új generációs kereskedési rendszer, amely gyorsabb teljesítményt nyújt

I. Az elektronikus kereskedési rendszer fejlesztése

Az eszközkereskedelem alapvető technológiáival szemben támasztott növekvő követelmények tükrözték a globális pénzügyi ipar gyors növekedését a 20. század első felében. Az 50-es években a vevők és az eladók tárgyalás útján kereskednek, és az eladási árakat manuálisan rögzítették papíron. A különféle értékpapír-típusok és a növekvő kereskedési volumen mellett az árfolyamok kezelésének ez a módja hatástalansága és magas költségei miatt fokozatosan papírválságot idézett elő a 60-70-es években. A New York-i értéktőzsdének (NYSE) nem volt más választása, mint minden szerdán felfüggeszteni a kereskedést, és más kereskedési napokon órákat csökkenteni tevékenységének korlátozása érdekében. A számítógépek egyedülálló képességével rengeteg tranzakció egyszerre történő feldolgozására kezdtek játszani. A papír nélküli folyamat vagy az elektronikus forradalom döntő fordulópontot jelentett a globális pénzügyi történelemben. A tranzakciók átkerültek az elektronikus kereskedési platformokra, gyorsabb és olcsóbb műveleteket kínálva idő és földrajzi akadályok nélkül.

Az amerikai papírmentes válság a 70-es években

Elektronikus kereskedési rendszerek jelentek meg világszerte, köztük a State Street Currenex, a HKEX INET, az ICAP EBS Spot Ai és a LIFFE LIFE CONNECT. Mivel a kriptográfiai eszközök csak elektronikus formában léteznek, természetesen kapcsolódnak az elektronikus kereskedési platformokhoz, de a kriptográfia és a hagyományos kereskedési rendszerek követelményei kissé eltérnek. Összességében egy kriptokereskedési rendszernek a következő jellemzőkkel kell rendelkeznie:

a. Alacsony késleltetés és nagy áteresztőképesség

A késleltetés és az áteresztőképesség a legfontosabb mutató a kereskedési rendszer teljesítményének mérésére. Elsődleges célunk az alacsony késleltetés és a nagy áteresztőképesség elérése a kereskedési rendszer megtervezésekor.

A kereskedés összefüggésében a késleltetés a kereskedési rendszer által beérkezett kérés és a válasz által adott időintervallumra utal. A nagyfrekvenciás kereskedési volumen megugrása nagymértékben vezérli a piac alacsony késleltetési igényét. Annak érdekében, hogy a nagyfrekvenciás kereskedők keresztkereskedelmet folytathassanak a kriptográfiai tőzsdéken, kereskedési rendszereiket alacsony késleltetésű kereskedési motorokkal kell felszerelni, hogy gyorsan kezeljék a megrendeléseket, és tükrözzék a piaci realitásokat a rendkívül versenyképes kriptopiacon..

Az átbocsátás azon kérések vagy események mennyisége, amelyeket a kereskedési rendszer egy másodpercen belül feldolgozhat. Az átbocsátás közvetlenül befolyásolhatja a kereskedés hatékonyságát, így a kriptográf kereskedési rendszereket úgy kell megtervezni, hogy ellenálljanak a szélsőséges eseteknek és felhasználják a feldolgozó egységeket.

b. Karbantarthatóság és méretezhetőség

A hagyományos eszközökhöz képest a kriptográf árak ingatagabbak és kiszolgáltatottabbak a globális sokkok számára. Mivel a kriptokereskedelmi rendszerek folyamatosan kezelik a kéréseket a nap 24 órájában, a lehető legkevesebb offline karbantartáson esnek át. Ezenkívül nyilvánvaló, hogy a kriptográfiai szektor gyors átalakuláson megy keresztül, mert a különbözõ digitális derivatív szolgáltatások, mint az árrés, a határidõs és az opciós kereskedés, az emelkedése óta csak egy évtized alatt kerültek bevezetésre. Az innovatív szolgáltatások elterjedése felvetette a követelményeket a kriptográf kereskedési rendszerek karbantarthatóságára és méretezhetőségére.

II. OKEx Lightning System 2.0: Lightspeed Performance

Az egyik legfontosabb globális digitális eszközcsere, az OKEx a felhasználók tízezreit szolgálja átfogó kriptográfiai eszközeivel és derivatív termékeivel, napi átlagos kereskedési mennyisége milliárd dollár. Iparvezetőként rendkívül magas követelményeket támasztunk kereskedelmi rendszereink számára. Kereskedelmi rendszerünk 2018. augusztusi frissítése mellett a több generációs frissítést követően világelső teljesítményű új generációs Lightning 2.0 rendszerünket valósítottuk meg. A Lightning 2.0 frissítés legfontosabb jellemzői a következők:

Lightning 2.0 frissítési keretrendszer

1. Memorizálás


A kriptográfiai kereskedési rendszerek korai fejlesztési szakaszában a platformok általában lekérik az ügyfél ajánlattételi megbízásának részleteit, az automatikus megfeleltetéssel az adatbázisban, amíg a megbízás le nem jár vagy be nem töltődik. Ezután a rendszer kiszámítja a kereskedett összeget, és az egyeztetés után tranzakciós bejegyzést generál. Ez a módszer biztosíthatja az adatok konzisztenciáját, de hosszú feldolgozási ideje miatt sok piaci igényt nem tudott egyszerre kezelni.

A következő generációs kereskedési rendszerünk, a Lightning 2.0 átvette a legújabb memóriába illesztési technikát, ahol rendszerünk az automatikus illesztés során a megrendelés adatait memóriában tárolja a rendelés-egyező motorban, és a kereskedés során ritkábban jut el az adatbázishoz. Az összes egyező kimenetet és a köztes adatokat a memóriában is tárolják, ami csökkentheti az érintett bemenetek és kimenetek mennyiségét, és ezáltal jelentősen növelheti a rendelésillesztési sebességet.

Bár az emlékeztetés nagymértékben csökkentheti a kereskedés késleltetését, a kriptográf kereskedési rendszerek veszélyeztethetik az adatok elvesztését az áramellátás felfüggesztése miatt. A probléma megoldásához az eseményforrás megközelítést alkalmazzuk, hogy fenntartsuk egy üzleti entitás állapotát és eseményközpontú módon tároljuk az adatokat. A kereskedési rendszer hagyományosan az aktuális állapot adatait tárolja az adatbázisban, de az eseményeket az eseményforrás megközelítés állapotváltozásainak tükrözése céljából tárolják, ami lehetővé teszi a rendszer számára az állam újjáépítését. A rendszer időszakonként készít pillanatképeket az állapotról, és újrarendezi az eseményeket a pillanatképek létrehozása után, amikor újjáépítésre van szükség.

Sőt, a modern központi processzorok (CPU-k) a vártnál lassabban érik el az adatokat a memóriában. Szerint a teszt, az adatok egy CPU L2 gyorsítótárából való kinyerése csak 1/7-et igényel, összehasonlítva a memóriában lévő illesztési technikával. A késleltetés további csökkentése érdekében fontos megérteni a CPU gyorsítótárának megfelelő kihasználását. Az adatátvitel egysége a gyorsítótár, amely általában 64 bájt. Míg a CPU adatokat a memóriába tölt, a szomszédos adatokat 64 bájtban továbbítja a gyorsítótárba. Ennek megfelelően a következő javításokat hajtottuk végre a villámrendszerünkön a memóriában lévő adatok terjesztésének vezérlésével:

  • A folyamatos feldolgozáshoz szükséges adatdarabok összecsomagolásával vezérelheti a memóriában lévő elosztást. Az összes adat összerakása után csak az első betöltésre van szükség a memóriában lévő tárolóból a gyorsítótárba, miközben több adatot leolvasunk. Ezt követően a későbbi olvasások elérhetik a gyorsítótárat a rendszer teljesítményének javítása érdekében.
  • Vezérelje a memóriában a terjesztést azáltal, hogy a gyorsabban változó adatokat (például a számlálókon lévő adatokat) különféle gyorsítótár-sorokra helyezi. Amikor több CPU egyszerre módosítja a különböző bájtokat egyetlen gyorsítótár sorban, akkor hamis megosztás történik. Például, miután a CPU1 módosítja a saját adatait, a CPU2-nak újból be kell töltenie a teljes gyorsítótárat, amikor újból elolvassa a saját adatait, mert a gyorsítótár sorának adatai frissültek. Ennek eredményeként mindkét CPU-nak várnia kell egymásra. Ezért tároljuk az adatokat különböző gyorsítótár-sorokban kitöltéssel, hogy elkerüljük ezt a problémát.

2. Közzététel-feliratkozás modell és bináris protokoll

Az üzenetküldési modellek két fő típusa a következő:

A Lightning 1.0 és a Lightning 2.0 összehasonlítása

A közzététel-feliratkozás modellben egy sort használnak az üzenetküldéshez. Amikor egy szolgáltatásnak más szolgáltatásokat kell kérnie, a kérelemre vonatkozó információkat üzenetbe foglalják és a sorba helyezik. Más szolgáltatások feliratkoznak az üzenetsorra az információk megszerzése és a kérés feldolgozása érdekében.

A kérés-válasz modellben az ügyfél és a kiszolgáló szorosan összekapcsolódik. Megkövetelik, hogy egyszerre legyenek elérhetőek. Az ügyfél csak addig várhat, amíg a kiszolgáló befejezi a kérés feldolgozását, ami csökkenti annak feldolgozási sebességét. A közzététel-feliratkozás modellben azonban a kérelem feldolgozása befejeződött, miután a kiadó az üzenetet a sorba helyezi. A kiadó leválik az előfizetőről. Másrészt, ha az előfizető szolgáltatása megszakad, az üzenet továbbra is fennáll a sorban, és a feldolgozás akkor folytatódik, amikor szolgáltatása folytatódik, anélkül, hogy a kiadónak újra kellene küldenie az üzenetet, ezáltal növelve a rendszerkommunikáció megbízhatóságát. Ezért ezt a mintát szinte minden esetben alkalmazzák a Lightning 2.0 rendszerünk elérhetőségének és átbocsátásának javítása érdekében.

Miután kiválasztottuk a kérés-válasz mintát, a következő lépés a megfelelő információcsere-formátum kiválasztása. A kommunikáció lényege az üzenetek cseréje, általában adatokkal együtt. A különböző csereformátumok átviteli sebessége és kommunikációs szintje eltérő, emellett különböző programozási nyelveket használnak. Ezért kulcsfontosságú szempont a kereskedési rendszer kialakításakor.

Az üzenetformátumok két általános típusa: szöveges & bináris

A szöveges kommunikációs protokoll hiányosságai nyilvánvalóak. Könnyen hibákat generál, és sávszélességet emészt fel, amikor egy nagy szövegfájl elemzése történik, ami nem működik jól a hatékonyságra és a teljesítményre vonatkozó problémákra rendkívül érzékeny kereskedési rendszereknél. A bináris protokoll azonban könnyen használható elemzésre, így jobb teljesítményt generál. Ezért átvettük a bináris protokollt a Lightning 2.0 rendszerünkben.

3. Vízszintes méretezés

A kereskedési rendszer feldolgozási képességének javítása és bővítése érdekében vízszintes méretezés és függőleges méretezés egyaránt szükséges. A vertikális méretezés a szerver frissítéseire vonatkozik, míg a vízszintes méretezés azt jelenti, hogy a szerverek hozzáadódnak. A szerver hardveres teljesítménye az emberi termelési kapacitástól függ. Míg a szerver hardverkonfigurációja (hardver teljesítménye) elér egy bizonyos szintet (határt), tovább nem lehet javítani, ezért az egyetlen lehetőség a vízszintes méretezés. A vízszintes méretezés megközelítés azonban terheléselosztáshoz vezethet. Hogyan lehet ésszerűen elosztani a teljes rendszer terhelését különböző szervereken?

Az első szempont az adatverseny. Noha a szerverek hozzáadása javíthatja a rendszer azon képességét, hogy párhuzamosan dolgozzon fel adatokat, a feldolgozási kapacitása még mindig nem javítható hatékonyan, ha ésszerűtlen elosztás történik, mivel a párhuzamos számítás kiszolgálóit gyakran ugyanazokért az adatokért versenyezheti.

A kereskedési rendszer alapvetően a megbízási, alap- és pozícióadatokat tárolja. Az adatversenyek számának csökkentése érdekében a terhelés megsemmisítését hajtják végre, hogy ezeket az adatokat darabokra osztják fel a rendelkezésre álló felhasználók számának megfelelően. A felhasználók rendelési, alap- és pozícióadatait egymástól függetlenül dolgozzák fel, ami segít elkerülni az adatversenyeket. Sőt, tovább optimalizáltuk a rendszerünket azzal, hogy minden szilánkhoz hozzáadtunk egy szakaszos feldolgozást, hogy növeljük a rendszerünk feldolgozási kapacitását. Másrészt a derivatív kereskedési páros fedezeti adatok egy másik célpontot jelentenek a terhelés megsemmisítésére. A felhasználó számára minden kereskedési pár teljesen független. Ily módon két szakaszban alkalmazzuk a terhelés megsemmisítését. Amikor a rendszerünknek több szerverre van szüksége, a terhelés újbóli kiegyenlítését a szilánkosításon alapulják, hogy elérjék a rendszer bővítésének rugalmasságát.

4. A rendszer méretezése

A kereskedési rendszer fenntarthatóságának és skálázhatóságának javításának alapvető módja a funkcionalitás elkülönítése. Ebben a frissítésben a rendszer funkcionalitását tovább osztottuk 3 modulra, nevezetesen a rendelés-egyeztetésre, a számlálóra és a kockázatkezelésre. Minden modul a saját belső adatait és állapotát tartalmazza. Konkrétan a megbízás-egyeztetési modul felelős a megbízási könyv vezetéséért, a számláló modul pedig a pozíciókra és a számlaegyenlegekre vonatkozó adatokat tárolja, míg a kockázat-ellenőrzési modul a kockázatkezelés funkcióját látja el..

Mivel a modulok egymással együttműködve lehetővé teszik a teljes kereskedési rendszer funkcionalitását, kommunikációjukhoz mechanizmusra van szükség. A szolgálatok közötti kommunikációnak két lehetősége van: adatmegosztás és üzenetküldés.

Az adatmegosztás a legalapvetőbb módszer, amely úgy fut, hogy egy modul frissíti az adatait, és egy másik modul lekérdezés után új adatokat szerez. Ennek a megközelítésnek azonban két jelentős hátránya van. Először is, ha több modul változtat és lekérdezi ugyanazokat az adatokat, ez általában adatversenyeket eredményez, amelyek során az adatbázis válaszideje sokkal hosszabb lesz. Másodszor, nehéz valós időben megérteni a többi modul változását, és csak a lekérdezés után ismerhetjük meg ezeket a változásokat.

Ennek eredményeként a Lightning 2.0 rendszerünk moduljait úgy tervezték, hogy saját adataikat mentse el, és ne ossza meg egymással az adatokat. Ha a modulok belső állapota megváltozik, a változást egy eseménybe foglalják és az eseményhurokba helyezik. Ez csökkentheti a csatolást és a versenyt a rendszermodulok között, és optimális sebességgel kommunikálhatnak egymással az esemény beágyazása után, ami nagyban növeli rendszerünk kommunikációs sebességét.

III. Lightning 2.0 adat teljesítmény

2019 második felében befejeztük a Lightning 2.0 rendszerünk átfogó frissítését. Hogyan javult a teljesítménye a Lightning 1.0-hoz képest?

Itt vannak a novemberi hongkongi szerver tesztelésünk legfrissebb statisztikái:

A megrendelések feldolgozási kapacitását tekintve a rendszerünk csúcsteljesítménye 100 000 txn / s, összehasonlítva a globális részvénypiac általános kereskedési rendszereivel.

A rendszer három késleltetésének tesztelésére a következő három mutató használható:

Három általános mutató a késés tesztelésére: ACK, Live és Cancel

A szeptemberi és novemberi tesztadatokat használtuk kereskedési rendszerünk frissítés előtti és utáni teljesítményének összehasonlítására (lásd alább). Amint alább látható, az átlagos ACK késés 50 ms-ról 25 ms-ra csökkent, az átlagos Live késés 134 ms-ról 63 ms-ra, az átlagos Cancel késleltetés pedig 230 ms-ról 180 ms-ra csökkent.

Ez azt mutatja, hogy a Lightning 2.0 kereskedési rendszerünk alacsonyabb késleltetéssel rendelkezik.

Frissítés előtt / Frissítés után

IV. Ipar vezető a technológiában

A blokklánc korlátlan méretezhetősége, reprodukálhatósága és rugalmassága azt jelenti, hogy sokkal több új eszköz vár felfedezésre. A blockchain technológia folyamatos fejlesztése a jövőben egyre növekvő szellemi tulajdonjogot, szerzői jogi és kreatív eszközöket rejtjelekké alakítja. Látni fogjuk a piacot és a felhasználókat, akik nagyobb megbízhatóságot és teljesítményt keresnek a kereskedési rendszerekben.

Világvezető kriptovaluta-tőzsdeként, átfogó C2C, spot és derivatív kereskedési szolgáltatásokkal, folyamatosan fejlesztjük kereskedési termékeinket, kockázatkezelési rendszerünket, megrendelés-egyező motorunkat, kriptográfiai eszközök tárolási szolgáltatását és ügyfélszolgálatunkat, a világ legnagyobb kriptóvá váltunk derivatívák kereskedési platformja nagy népszerűségnek örvend a globális felhasználók körében. Végső célunk, hogy növekedjünk a blockchain és a crypto szektorokkal, külön erőforrások elkötelezésével a magasabb kereskedelmi biztonság és hatékonyság elérése érdekében, hogy tovább mozdítsuk egy blockchain által vezérelt világ fejlődését, amelyről mindenki a kriptográfiai térben álmodozik.

Kövesse az OKEx-et:

Steemit: https://steemit.com/@okex-official

Webhely: https://www.okex.com

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map