
İşlem Sistemleri için Yazılım Mühendisliği Tasarım Kalıpları
Borsaların kullandığı olay kaynaklama, CQRS ve mimari kalıplar
İşlem Sistemlerinde Tasarım Kalıpları Neden Önemli
Finansal yazılım pahalı şekillerde başarısız olur: tekrarlanan siparişler, tutarsız bakiyeler, sessiz kısmi başarısızlıklar. Tasarım kalıpları birer kupa değildir — tekrarlanan başarısızlık modlarına verilen tepkilerdir: denetlenebilirlik için olay kaynaklama (event sourcing), okumaları yazmalardan farklı ölçeklendirmek için CQRS, kademeli kesintileri durdurmak için devre kesiciler (circuit breaker) ve yeniden denemelerin çift işlem yaratmaması için idempotency.
Pub/Sub ve Gevşek Bağlaşım
Eşleştirme motorları, risk kontrolleri ve piyasa verisi yayıncıları, büyük bir karmaşa yumağı içinde birbirlerini doğrudan çağırmamalıdır. Bir yayınla/abone ol (publish/subscribe) otobüsü, eşleştiricinin gerçekleşen işlemleri yayınlamasına izin verirken aşağı akış servislerinin, yukarı akışın uygulama ayrıntılarını bilmeden abone olmasını sağlar — ama teslimat garantilerini (en az bir kez'e karşı tam olarak bir kez) ve yeniden oynatma için saklama süresini hâlâ sen seçmelisin.
Devre Kesiciler ve Bölmeler
Bir devre kesici (circuit breaker), tekrarlanan başarısızlıklardan sonra hasta bir bağımlılığı çağırmayı durdurur, ona toparlanması için zaman verir ve iş parçacığı havuzlarını korur. Bölmeler (bulkhead), kaynak havuzlarını izole eder, böylece kontrolden çıkmış bir analitik işi sipariş göndermeyi açlığa mahkûm edemez.
Durum Makineleri ve Idempotency
Siparişlerin ve transferlerin yasal yaşam döngüleri vardır. İzin verilen geçişleri bir sonlu durum makinesinde (finite state machine) kodla, böylece geçersiz atlamalar imkânsız olsun. Bunu, ağ yeniden denemelerinin çift canlı sipariş yaratmasını önleyen idempotency anahtarlarıyla müşteri istekleri üzerinde eşleştir.
Eşleştirme Motorları: Fiyat-Zaman Önceliği
Merkezi platformlar, gelen siparişleri fiyat-zaman önceliğiyle bekleyen likiditeye karşı eşleştirir. Zincir üstü eşleştiriciler (birçok L1 DEX tasarımı gibi) deterministik olmalıdır: her doğrulayıcı aynı sırayı yeniden yürütür ve aynı duruma ulaşır — GaiaEx bu modeli Hyperliquid'in kurallarından miras alır.
Pragmatik Benimseme
İlk gün her kalıbı kutsal metin gibi taklit etme. Açık sınırlarla, yapılandırılmış loglarla ve para hareketi etrafındaki testlerle başla. Mutabakat ağrısı belirdiğinde bir olay günlüğü ekle; dış API'ler bozulduğunda devre kesiciler ekle. Kalıplar gerçek sıyrıkları çözer, hayali olanları değil.

