Kripto Borsa Eşleştirme Motorları Gerçekte Nasıl Çalışır
Teknoloji Eşleştirme Motoru Mimari

Kripto Borsa Eşleştirme Motorları Gerçekte Nasıl Çalışır

C
Codono Team
| · Updated March 10, 2026 | 16 min read

Konu Başlıkları

Borsanızı Yapan ya da Bozan Yazılım Parçası

Her borsa kurucusu kullanıcı arayüzünü konuşmak ister. Şık TradingView grafikleri, karanlık mod düğmesi, mobil uygulama. Elbette bunlar kullanıcı kazanımı için önemli. Ama borsanızın ilk gerçek işlem gününü atlatıp atlatamayacağını asıl belirleyen şeyi öğrenmek istiyorsanız, eşleştirme motoruna bakın.

Eşleştirme motoru, gelen alım ve satım emirlerini alan, hangilerinin birbiriyle eşleşebileceğini belirleyen ve işlemleri gerçekleştiren çekirdek yazılım parçasıdır. Kulağa basit geliyor. Değil. Kötü tasarlanmış bir eşleştirme motoru yük altında sessizce emir düşürür, hayalet fill’ler oluşturur, hatalı bakiyeler üretir ve denetçileri istifa ettirecek türden muhasebe kabusları yaratır. Bu acıyı ilk elden bilecek kadar çok motor hata ayıkladım.

İnsanları şaşırtan şey, çekirdek mantığın ne kadar aldatıcı biçimde küçük göründüğüdür. Bir alım emrini mevcut satım emirleriyle eşleştiren temel algoritma 100 satırdan az kodla yazılabilir. Ama bu oyuncak uygulama ile üretim sınıfı bir işlem motoru arasındaki fark; yaklaşık 50.000 satırlık uç durum yönetimi, kalıcılık mantığı, kurtarma mekanizmaları ve performans optimizasyonudur.

Modern bir eşleştirme motorunun içinde gerçekte neler döndüğünü ve her tasarım kararının neden önemli olduğunu adım adım anlatayım.

Eşleştirme Motoru Gerçekte Ne Yapar

Ders kitabı tanımını bir kenara bırakalım. Bir eşleştirme motorunun pratikte, her işlem gününün her milisaniyesinde yaptığı şey şudur:

  1. Gelen emri kabul eder — bir tür (limit, piyasa, stop), bir fiyat (belki), bir miktar ve bir yatırımcı kimliği içeren alım veya satım talebi.
  2. Emri doğrular — fiyatın tick boyutu gereksinimlerini karşıladığını, miktarın minimum lot boyutuna uyduğunu, yatırımcının yeterli bakiyesi olduğunu ve emrin borsa kurallarını ihlal etmediğini kontrol eder.
  3. Eşleştirme dener — emir defterinin karşı tarafını uyumlu bekleyen emirler için tarar. 50.000 dolardan bir alım, 50.000 dolar veya altındaki herhangi bir satışla eşleşebilir.
  4. İşlemleri gerçekleştirir — her eşleşme için bir işlem kaydı oluşturur, iki yatırımcının da bakiyesini günceller ve emir defterini ayarlar.
  5. Kalanı yönetir — gelen emir tamamen dolmamışsa, ya emir defterinde bekler (limit emirler) ya da iptal edilir (kalan likidite olmayan piyasa emirleri).
  6. Olayları yayınlar — işlem gerçekleşmelerini, emir defteri güncellemelerini ve bakiye değişikliklerini sistemin geri kalanına duyurur.

1’den 6’ya kadar olan adımların atomik olarak gerçekleşmesi gerekir. “Nihai tutarlılık” değil, “sonra mutabakat yaparız” değil. Atomik. 4. adım başarılı olup 6. adım başarısız olursa, yatırımcının asla görmediği sessiz fill’ler elde edersiniz. 3. adım başarılı olup 4. adım kısmen başarısız olursa, defterde hayalet likidite oluşur. Her iki durum da güveni herhangi bir hack’ten daha hızlı yok eder.

Eşleştirme motorunun herhangi bir işlem paritesi için neredeyse her zaman tek iş parçacıklı, sıralı bir işlemci olmasının nedeni budur. Burada eşzamanlılık dostunuz değil, bir yüktür. Ölçeklendirmeden bahsederken buna geri döneceğiz.

Emir Defteri Veri Yapıları: Performansın Yaşadığı ya da Öldüğü Yer

Emir defteri, bekleyen tüm limit emirleri fiyat seviyesine göre düzenlenmiş olarak tutan veri yapısıdır. İki tarafı vardır: bid’ler (alım emirleri) ve ask’ler (satım emirleri). Bid’ler yüksekten düşüğe, ask’ler düşükten yükseğe sıralanır. En iyi bid ve en iyi ask, yani her iki tarafın en üstündeki fiyatlar, spread’i tanımlar.

Bunun için doğru veri yapısını seçmek, vereceğiniz en kritik mimari kararlardan biridir. Gerçek seçenekler şunlar:

Sıralı Diziler ya da Bağlı Listeler

En basit yaklaşım. Fiyat seviyelerinin sıralı bir listesini tutarsınız ve her seviye bir emir kuyruğu içerir.

Artıları: Uygulaması son derece basit. Önbellek dostu bellek düzeni. Defteri gezmeniz gerektiğinde hızlı yineleme.

Eksileri: Ekleme O(n); burada n fiyat seviyesi sayısıdır. Binlerce aktif fiyat seviyesi olan BTC/USDT gibi bir paritede bu yavaşlar. Kaydırma nedeniyle silme de O(n)‘dir.

Hüküm: Prototip için yeterli. Ciddi hacimli üretim için kabul edilemez.

Kendini Dengeleyen Arama Ağaçları (Red-Black ve AVL)

Çoğu üretim eşleştirme motorunun kullandığı yapı budur. Kendini dengeleyen bir BST size O(log n) ekleme, silme ve arama sağlar. Min ve max düğümlere işaretçi tutarak en iyi bid veya en iyi ask’i de verimli şekilde bulabilirsiniz.

Artıları: Tüm kritik işlemler için O(log n). İyi anlaşılmış algoritmalar. En iyi bid ve en iyi ask işaretçilerini koruması kolay.

Eksileri: İşaretçi ağırlıklı yapılar önbellek ıskalamalarına yol açabilir. Yeniden dengeleme sırasındaki ağaç rotasyonları sabit katsayılı ek yük getirir.

Hüküm: Haklı sebeplerle sektör standardı. Sizi başka yöne iten çok özel gereksinimleriniz yoksa kullanmanız gereken budur.

Skip List ile Hash Map Kullanımı

Bazı yüksek frekanslı trading şirketleri, fiyat seviyesine göre anahtarlanmış bir hash map’i sıralama için skip list veya benzeri bir yapıyla birleştirir. Bu size belirli bir fiyat seviyesi için O(1) erişim ve sıralı gezinme için O(log n) sağlar.

Artıları: Emrin mevcut bir fiyat seviyesine eklenmesi gibi yaygın durumda yıldırım hızında.

Eksileri: Doğru uygulaması daha karmaşık. Skip list bileşeni, yeni fiyat seviyeleri için yine O(log n) ekleme gerektirir.

Hüküm: Profil oluşturma sonuçlarınız çoğu emrin mevcut fiyat seviyelerine denk geldiğini gösteriyorsa düşünmeye değer (yoğun işlem gören paritelerde durum aslında budur).

Gerçek Dünyadaki Hibrit Yaklaşım

Ciddi uygulamaların çoğu gerçekte şöyle görünür: fiyat seviyesi dizini için dengeli bir BST; her fiyat seviyesi, tekil emirlerin çift yönlü bağlı listesini (FIFO kuyruğu) içerir. Ayrıca emir kimliğinden emir düğümüne giden bir hash map tutarsınız, böylece iptaller O(1) arama artı bağlı listeden O(1) kaldırma olur.

Emir iptali için bu hash map kritiktir. Aktif herhangi bir borsada iptal hacmi genellikle işlem gerçekleşme hacminin 10-50 katıdır. Piyasa yapıcılar sürekli emir yerleştirip iptal eder. İptal yolunuz yavaşsa tüm motorunuz tıkanır.

Fiyat-Zaman Önceliği: Adalet Sözleşmesi

FIFO eşleştirme olarak da bilinen fiyat-zaman önceliği, neredeyse her meşru borsanın kullandığı standart algoritmadır. Kural basittir:

  1. Emirler önce fiyata göre önceliklendirilir. 50.001 dolardan bir alım emri, 50.000 dolardan bir alımdan önce dolar.
  2. Aynı fiyat seviyesinde emirler zamana göre önceliklendirilir. Önce gelen emir önce dolar.

Bu bariz görünüyor ama derin sonuçları var. Fiyat-zaman önceliği temelde bir adalet garantisidir. Belirli bir fiyattan emrinizi önce verdiyseniz, hiç kimsenin aynı fiyatı daha sonra vererek sıranın önüne geçemeyeceği anlamına gelir. Kuyruktaki konumunuz sizin mülkünüzdür.

Bu neden bu kadar önemli? Çünkü katı fiyat-zaman önceliği olmadan, koca bir manipülatif davranış sınıfına kapı açarsınız. Bir borsa operatörü teorik olarak kuyruğu belirli piyasa yapıcıları kayıracak şekilde yeniden düzenleyebilir. Daha hızlı bağlantıya sahip bir yatırımcı, öne geçmek için emirleri iptal edip yeniden verebilir. Bunlar varsayımsal senaryolar değil; gölgeli borsalarda gerçekten yaşanmış şeyler ve düzenleyicilerin eşleştirme motoru adaletiyle neden ilgilendiğinin tam da nedeni.

Bazı borsalar alternatif öncelik şemaları denemiştir: pro-rata eşleştirme (bazı vadeli işlem piyasalarında kullanılır), burada bir fiyat seviyesindeki fill’ler bekleyen tüm emirlere orantılı dağıtılır; ya da büyük emirlerin tercih edildiği boyut-zaman önceliği. Ama standart bir spot alım satım borsası için fiyat-zaman FIFO standarttır ve bundan sapmak çok iyi bir gerekçe artı yatırımcılarınıza net bir açıklama gerektirir.

İnsanları tuzağa düşüren uygulama detayı şudur: zaman damgası çözünürlüğünüz önemlidir. Saat çözünürlüğünüz yalnızca milisaniye ise, aynı milisaniye içinde gelen iki emir rastgele sıralanır. Üretim motorları mikrosaniye veya nanosaniye zaman damgaları kullanır. Ve zaman damgasının, emrin API ağ geçidinize ulaştığı an değil, eşleştirme motorunun işlem kuyruğuna girdiği an atanması gerekir.

Gecikme ve Verim: “Hızlı” Aslında Ne Demek

İnsanlar eşleştirme motorları için bağlamdan yoksun performans rakamları ortaya atıyor, o yüzden masaya gerçek kıyaslamalar koyayım.

1. Kademe borsalar (Binance, Coinbase, Kraken): Bu motorlar tekil emirleri tek haneli mikrosaniyelerde işler. Yayınladıkları rakamlar tipik olarak işlem paritesi başına saniyede 100.000+ emir ve 5 mikrosaniyenin altında eşleştirme gecikmesi iddia eder. Bu seviyede C++ veya Rust ile yazarsınız, kilitsiz (lock-free) veri yapıları kullanırsınız, thread’leri CPU çekirdeklerine sabitlersiniz ve çekirdeğin ağ yığınını atlatırsınız.

2. Kademe borsalar (orta ölçekli, oturmuş): 50-500 mikrosaniye aralığında emir işleme. Saniyede 10.000-50.000 emir verimi. Genellikle Java, Go veya C++ ile yazılır. Meşru borsaların çoğunluğunun çalıştığı seviye budur ve dürüst olmak gerekirse, çoğu kullanım senaryosu için fazlasıyla yeterlidir.

3. Kademe borsalar (girişimler, küçük platformlar): 1-10 milisaniye aralığında işleme. Saniyede 1.000-10.000 emir verimi. Çoğu zaman Python, PHP, Node.js veya Java ile yazılır. Günlük 10 milyon doların altında hacim yapan bir borsa için gayet yeterli.

Kimsenin yüksek sesle söylemek istemediği şey şu: yeni borsaların %95’i için 3. Kademe performans tamamen yeterlidir. Borsanız günde 1.000 işlem gerçekleştiriyorsa (ki bu çok sağlıklı bir lansman sayılır), ortalama saniyede yaklaşık 0,01 emir verimine ihtiyacınız var. Ortalamanın 100 katı ani yoğunlukları hesaba katsanız bile, belki saniyede 1 emir gerekiyor. Tek çekirdekte çalışan Python ile yazılmış bir eşleştirme motoru bunu zorlanmadan kaldırır.

Performans sorusu lansman gününüzle ilgili değil. Büyüdüğünüzde ne olacağıyla ilgili. Motorunuz baştan sona yeniden yazılmadan saniyede 1.000 emirden 100.000 emire ölçeklenebilir mi? Asıl önemli olan mimari sorusu budur.

Kanıtlanmış borsa yazılımı seçmenin neden önemli olduğunun büyük bir parçası da bu. Codono kripto borsa platformu, üretim ölçeğinde halihazırda yük testinden geçmiş bir eşleştirme motoruyla gelir; böylece kendi uygulamanızın ilk trafik dalgasını atlatmasına kumar oynamazsınız. Üstelik borsa scripti tamamen şifresiz olduğundan, ekibiniz eşleştirme mantığını doğrudan inceleyip ayarlayabilir.

Emir Türleri: Göründüklerinden Daha Karmaşık

Limit emir ve piyasa emri basittir. Ama stop emirleri eklediğiniz an işler ilginçleşir ve OCO (one-cancels-other) emirleri eklediğinizde durum yönetimi karmaşıklığınız kabaca iki katına çıkar.

Limit Emirler

Temel taş. “1 BTC’yi 49.500 dolar veya daha iyi fiyattan al.” Emir, dolana, iptal edilene veya süresi dolana kadar defterde bekler. Uygulaması basittir: doğrula, karşı tarafla eşleştirmeyi dene, dolmayan miktarı defterde beklet.

Piyasa Emirleri

“1 BTC’yi mevcut fiyat neyse ondan al.” Emir, defterin karşı tarafında yürür; tamamen dolana ya da likidite bitene kadar fiyat seviyelerini yer. Kritik uygulama detayı: bir fiyat koruma mekanizmasına ihtiyacınız var. İnce bir defterdeki piyasa alımı, bir şakacının oraya koyduğu satış emri yüzünden 999.999 dolardan dolmamalı. Çoğu motor, maksimum slippage parametresi veya son işlem fiyatından yüzdesel sapmaya dayalı örtük bir limit fiyat uygular.

Stop-Loss ve Stop-Limit Emirleri

Eşleştirme motorlarının gerçekten zorlaştığı yer burası. Stop emri koşullu bir emirdir: “Piyasa fiyatı 48.000 dolara ulaştığında, bir piyasa satış emri gönder.” Stop emrinin kendisi görünür emir defterinde durmaz. Ayrı bir veri yapısında, yani stop defterinde durur ve stop fiyatında veya o fiyatın ötesinde bir işlem gerçekleştiğinde tetiklenir.

Zor kısım kademeli stop’lardır. 48.000 dolardaki bir işlem bir stop satışını tetiklerse ve o stop satışının gerçekleşmesi fiyatı 47.500 dolara iterse, bu da daha fazla stop’u tetikler, bu da fiyatı daha da düşürür… emir defterini milisaniyeler içinde boşaltan bir kademe elde edebilirsiniz. Tarihteki birkaç ani çöküşte (flash crash) aslında olan budur. Motorunuzun devre kesicilere ihtiyacı var: zaman penceresi başına maksimum fiyat hareketi, minimum emir defteri derinliği kontrolleri ve işler çığırından çıkarsa eşleştirmeyi duraklatma yeteneği.

OCO (One-Cancels-Other) Emirleri

Bir OCO iki emri birbirine bağlar: tipik olarak bir kâr al limit emri ve bir stop-loss. Hangisi dolarsa, diğeri otomatik olarak iptal edilir. Bu, emirler arasında bir ilişki grafiği tutmayı gerektirir ve iptal, fill ile atomik olarak gerçekleşmelidir. Stop-loss tetiklenip dolarsa ama kâr al iptali birkaç milisaniye bile gecikirse, iki emrin de dolduğu bir durumla karşılaşabilirsiniz; yatırımcıya istemediği bir pozisyon verirsiniz.

Codono’nun motoru bu gelişmiş emir türlerini yerel olarak destekler; buna, karmaşıklığa bir katman daha ekleyen reduce-only ve post-only gibi vadeli işlem emir türleri de dahildir.

Borsanızı Batıracak Uç Durumlar

Bu bölüm, eşleştirme motoru geliştirmiş mühendisleri onlar hakkında okumuş olanlardan ayırır. Gerçek üretim olaylarına yol açmış uç durumlar şunlar:

Kendi Kendine Alım Satım Önleme (STP)

Bir yatırımcının 50.000 dolarda bekleyen satış emri varken 50.000 dolardan alım emri verirse ne olur? STP olmadan yatırımcı kendisiyle işlem yapar; hiçbir ekonomik amaç olmadan iki taraftan da komisyon öder. Algoritmaları aynı anda birden fazla strateji çalıştırdığında piyasa yapıcılar bunu sürekli kazara yapar.

Bir STP politikanız olmalı. Üç yaygın seçenek:

  • En yeniyi iptal et: Kendi kendine işlem yapacak gelen emir iptal edilir.
  • En eskiyi iptal et: Bekleyen emir iptal edilir ve gelen emir eşleşmeye devam eder.
  • İkisini de iptal et: Her iki emir de iptal edilir.

Çoğu borsa varsayılan olarak en yeniyi iptal eder, ancak bunu yatırımcı bazında yapılandırılabilir yapmalısınız. Piyasa yapıcıların bu konuda güçlü fikirleri vardır.

Toz (Dust) Emirler

0.00000001 BTC’lik bir emirle ne yaparsınız? Ya da 0.000000003 BTC’lik bir kalanla sonuçlanan bir fill’le? Bu toz miktarlar işlem göremeyecek kadar, çekilemeyecek kadar küçüktür ama emir defterinizi ve veritabanınızı tıkar.

Minimum emir miktarlarına, minimum nosyonel değerlere (fiyat çarpı miktar belirli bir eşiği, tipik olarak birkaç doları aşmalıdır) ve alt-minimum bakiyeleri periyodik olarak süpüren bir toz toplama mekanizmasına ihtiyacınız var.

Tick ve Lot Boyutu Zorunluluğu

Fiyatlar tick boyutunun katları olmalıdır (örneğin BTC/USDT için 0,01 dolar). Miktarlar lot boyutunun katları olmalıdır (örneğin 0,00001 BTC). Bunları eşleştirme motoru seviyesinde zorunlu kılmazsanız, 50.000,003 dolar gibi başka hiçbir emirle hizalanmayan ve defterde sonsuza dek oturan emirler elde edersiniz. Daha da kötüsü, bakiye tutarsızlıklarına yol açan ondalık hassasiyet sorunları yaşarsınız.

Taşma ve Hassasiyet

Bu, diğerlerinden daha fazla borsayı ısırmıştır. Fiyatlar ve miktarlar için kayan nokta aritmetiği kullanıyorsanız, durun. Hemen. Kayan nokta matematiği, milyonlarca işlem boyunca gerçek bakiye tutarsızlıklarına dönüşen yuvarlama hataları üretir. Üretim sınıfı bir eşleştirme motoru ya sabit noktalı tamsayı aritmetiği (50.000,00 doları 5000000 tamsayısı olarak temsil etme) ya da rastgele hassasiyetli ondalık kütüphaneler kullanmalıdır. Üçüncü bir seçenek yoktur.

Eşleşme Sonrası Bakiye Kontrolleri

İşlem öncesi bakiye doğrulaması olsa bile, işlem sonrası bakiye denetimlerine ihtiyacınız var. Her işlem gerçekleşmesinden sonra, tüm kullanıcı bakiyelerinin toplamı artı borsa komisyonlarının beklenen toplama eşit olduğunu doğrulayın. Bu değişmez bozulursa, eşleştirmeyi durdurun ve araştırın. Bu, aksi halde kullanıcı fonlarını yavaşça boşaltacak hatalara karşı son savunma hattınızdır.

Ölçeklendirme Stratejileri: Tek Thread Çelişkisi

Eşleştirme motorlarının işlem paritesi başına neredeyse her zaman tek iş parçacıklı olduğunu söylediğimi hatırlıyor musunuz? Bu, bariz bir ölçeklendirme zorluğu yaratır. Modern donanımda tek bir thread, saniyede belki 100.000-500.000 basit işlem kaldırabilir. Çoğu borsa için bu yeterlidir. Ama ya yetmezse?

Dikey Ölçeklendirme

Daha hızlı donanım kullanın. Daha yüksek saat hızlı CPU’lar, daha fazla L3 önbelleği, daha hızlı bellek. Denenecek ilk şey budur ve çoğu zaman yeterlidir. Modern yüksek frekanslı trading motorları, temel eşleştirme işlemleri için CPU’yu tamamen atlatan FPGA tabanlı ağ kartlarıyla özel donanımlarda çalışır. Ama tipik bir borsa için, 5+ GHz işlemcili ve 128 GB RAM’li güçlü bir sunucu muazzam miktarda hacmi kaldırır.

Parite Bazında Yatay Ölçeklendirme

En basit yatay ölçeklendirme stratejisi, işlem paritesi başına bir eşleştirme motoru örneği çalıştırmaktır. BTC/USDT kendi motorunu alır. ETH/USDT kendi motorunu alır. Tamamen bağımsızdırlar: paylaşılan durum yok, koordinasyon gerekmiyor. Bu, işlem paritesi sayısıyla doğrusal ölçeklenir.

Zorluk bakiye yönetimidir. Bir yatırımcının 10 BTC’si varsa ve 5 BTC paritesinde emir veriyorsa, her eşleştirme motorunun kullanılabilir bakiyeyi bilmesi gerekir. Standart yaklaşım, her motorun bir emri kabul etmeden önce kontrol ettiği merkezi bir bakiye servisidir. Bu bakiye servisi yeni darboğazınız olur ama ölçeklendirmesi çok daha basittir, çünkü karmaşık eşleştirme mantığı değil basit okuma-yazma işlemleri yapar.

Bir Paritede Sharding Uygulamak

En yüksek hacimli pariteler için emir defterinin kendisini shard’lamanız gerekebilir. Bir yaklaşım, fiyat aralığına göre shard’lamaktır: bir motor 49.000-50.000 dolar arası fiyatları yönetir, diğeri 50.000-51.000 dolar arasını. Ama shard’lar arası eşleştirme (fiyat aralıklarını geçen bir piyasa emri) şeytani derecede karmaşıktır.

Dürüst olmak gerekirse? Binance seviyesinde hacim işlemiyorsanız buna ihtiyacınız yok. Binance seviyesinde hacim işliyorsanız da önce halletmeniz gereken daha büyük mimari dertleriniz var demektir.

Çoğu borsa operatörü için akıllıca hamle, tek bir paritenin eşleştirme motorunu shard’lamaya çalışmak yerine emir defteri derinliğinizi likidite toplama ile desteklemektir.

Bellek ve Disk: Kalıcılık Sorusu

Bir eşleştirme motorunun emir defteri bellekte yaşar. Öyle olmak zorunda; disk G/Ç’si, gerçek zamanlı eşleştirme için tamamen kabul edilemez milisaniyeler düzeyinde gecikme ekler. Ama motor çökerse ne olur? Bekleyen tüm emirleri öylece kaybedemezsiniz.

Standart mimari üç katman kullanır:

Katman 1: Bellek içi emir defteri. Sıcak yol burası. Tüm eşleştirme burada gerçekleşir. Normal çalışma sırasında sıfır disk G/Ç’si.

Katman 2: Write-ahead log (WAL). Her gelen emir ve her eşleştirme olayı, motor onu işlemeden önce diskteki sıralı bir günlüğe eklenir. Motor çökerse, emir defterini yeniden kurmak için günlüğü son kontrol noktasından (checkpoint) itibaren tekrar oynatırsınız. Sıralı yazmalar hızlıdır; bir NVMe disk saniyede 500.000+ sıralı yazma işlemini sürdürebilir, ki bu fazlasıyla yeterlidir.

Katman 3: Periyodik anlık görüntüler. Her N saniyede (veya N olayda) bir, motor emir defterinin tam bir anlık görüntüsünü diske yazar. Bu, bir çöküşten sonra WAL’ı ne kadar geriye tekrar oynatmanız gerektiğini sınırlar. Anlık görüntüler olmadan, 24 saatlik çalışmanın ardından gelen bir çöküş milyonlarca olayın tekrar oynatılmasını gerektirebilir.

WAL kritik parçadır. Gecikmeden ödün vermeden dayanıklılık sağlar. Ödünleşim, diske eşzamansız yazıyor olmanızdır: bir işlemin bellekte eşleştiği an ile diske kalıcı hale geldiği an arasında küçücük bir pencere (mikrosaniyeler) vardır. Makine tam o pencerede güç kaybederse, o olayları kaybedersiniz. Çoğu borsa için bu risk kabul edilebilir. Mutlak sıfır kayıp garantisine ihtiyaç duyanlar için, işlemi onaylamadan önce yedek makineye eşzamanlı replikasyon eklersiniz.

Codono Tüm Bunları Nasıl Ele Alıyor

Sıfırdan bir eşleştirme motoru geliştirmek, yukarıda anlatılan sorunların her birini çözmek demektir. Veri yapıları, öncelik mantığı, uç durumlar, kalıcılık, ölçeklendirme; hepsi. Ve sonra sonsuza dek bakımını yapmak, çünkü piyasalar evrilir ve yeni emir türleri ortaya çıkar.

Codono’nun işlem motorunu tam da bu yüzden bu şekilde geliştirdik. Codono borsa yazılımı, şunları yöneten üretim sınıfı bir eşleştirme motoru içerir:

  • Mikrosaniye zaman damgası çözünürlüğüyle fiyat-zaman önceliği FIFO eşleştirme
  • Limit, piyasa, stop-loss, stop-limit ve OCO dahil tüm standart emir türleri
  • API anahtarı başına yapılandırılabilir politikalarla kendi kendine işlem önleme
  • Tüm işlem hattı boyunca sabit nokta aritmetiği; bakiye hesaplamalarının yakınında kayan nokta yok
  • Otomatik kontrol noktası ve kurtarma ile write-ahead logging
  • İşlem paritesi başına bağımsız motor örnekleriyle yatay ölçeklendirme
  • Ani çöküş koruması için yerleşik devre kesiciler

Motor ayrıca likidite motorumuzla doğrudan entegredir; böylece organik emir defteriniz ince olsa bile gelen emirler toplanmış harici likiditeyle eşleşebilir. Bu, organik likidite oluşturmanın zaman aldığı yeni borsalar için özellikle önemlidir.

Programatik erişime ihtiyaç duyan operatörler için API katmanı, emir defteri güncellemeleri ve işlem gerçekleşme raporları için düşük gecikmeli WebSocket akışları sağlar; böylece piyasa yapıcılar motorla verimli şekilde etkileşim kurabilir.

Özet

Eşleştirme motoru kavram olarak aldatıcı biçimde basit, uygulamada acımasızca zordur. Çekirdek algoritma kafanıza sığar. Ama üretim kaygıları (kalıcılık, kurtarma, adalet, hassasiyet, uç durumlar, yük altında performans) yıllarca süren mühendislik emeğini temsil eder.

Dürüst tavsiyem: eşleştirme motoru geliştirme sizin ana yetkinliğiniz ve rekabet avantajınız değilse, sıfırdan geliştirmeyin. Savaşta test edilmiş yazılım kullanın ve mühendislik kaynaklarınızı borsanızı gerçekten farklılaştıran şeylere odaklayın: kullanıcı deneyimi, coin listelemeleri, mevzuat uyumu, pazarlama. Eşleştirme motoru, hayata geçirdiğiniz çözülmüş bir problem olmalı; kaynaklarınızı tüketen bir bilim projesi değil.

Başaran borsalar, en gösterişli eşleştirme motorlarına sahip olanlar değildir. Akıllıca yap-satın al kararları veren, hızlı lansman yapan ve kullanıcıları için önemli olan şeylerde yineleme yapan borsalardır. Eşleştirme motorunuzun doğru, yeterince hızlı ve güvenilir olması gerekir. Bir sanat eseri olması gerekmez. Çalışması gerekir.


Codono’nun eşleştirme motoru; fiyat-zaman önceliği, yerleşik devre kesiciler ve likidite toplama ile saniyede binlerce emri işler. Canlı test etmek için Spot Alım Satım Borsası özellik sayfasına bakın veya demo talep edin.

Teknoloji Eşleştirme Motoru Mimari Altyapı
C

Codono Team

Codono builds enterprise-grade crypto exchange software deployed by 250+ operators across 40+ countries. Our team writes from production experience running spot, derivatives, custody, and compliance at scale.

View all posts by Codono Team →

Build Your Exchange with Codono

Complete crypto exchange software with spot, futures, P2P, and 15+ blockchains.