iToverDose/Yazılım· 2 MAYIS 2026 · 00:09

Ticaret Sistemleri için Dayanıklı bir Sipariş API'si Oluşturma: Ana Tasarım Seçenekleri

Sırayla Kafka, RabbitMQ ve Spring Boot kullanarak çoklu servisler arasında ticaret iş akışlarını yöneten bir Sipariş API'si tasarlamayı öğrenin. Doğrulama mantığı, olay güdümlü mimariler ve gerçek dünya uygulama içgörülerini keşfedin.

DEV Community2 dk okuma0 Yorumlar

Modern ticaret platformlarında Sipariş API'si sadece bir mikroservis değil—kullanıcı niyetini piyasa uygulamasınıyla bağlayan merkezi sinir sistemidir. Bir tüccar alış veya satış siparişi gönderdiğinde, bu bileşen her detayı doğrular, talebi borsaya yönlendirir ve sonucu tüm sisteme yayınlar.

Brezilya'nın B3 borsası için bir komisyonculuk platformu inşa etme serimizde fiyat senkronizasyonu, eşleştirme motoru, finansal emanet ve varlık katalogları gibi bireysel bileşenler geliştirdik. Şimdi her şeyi bir araya getiren kritik servise odaklanıyoruz: Komisyoncu Sipariş API'si.

Sipariş API'si Ne Yapar?

trading-broker-order servisi tüm ticaret faaliyetleri için tek giriş noktasıdır. Birincil sorumluluğu, siparişin ilk gönderiminden nihai uygulama onayına kadar olan yaşam döngüsünü yönetmektir. Bu, kullanıcı uygunluğunu doğrulama, varlık kullanılabilirliğini kontrol etme, siparişleri B3 eşleştirme motoruna yönlendirme ve tüm alt sistemleri durum değişikliklerinden haberdar etmeyi içerir.

Bunu başarmak için servis dört ana bileşenle entegre olur:

  • Varlık API'si (REST/Feign) – Ticker'ın var olduğunu ve işlem yapılabilir olduğunu doğrular
  • Cüzdan API'si (REST/Feign) – Kullanıcının yeterli bakiyeye sahip olduğunu doğrular
  • B3 Eşleştirme Motoru (RabbitMQ) – Siparişleri uygulama için iletir
  • Komisyoncu Cüzdanı (Kafka) – Yaşam döngüsü olaylarını ekosisteme yayınlar

Uçtan Uca Sipariş Akışı Açıklaması

Tipik bir siparişin sistemden nasıl geçtiği aşağıda açıklanmıştır:

  1. Bir kullanıcı /api/v1/orders adresine kullanıcı kimliği, ticker, miktar ve taraf (ALIŞ/SATIŞ) gibi detaylarla POST isteği gönderir
  2. Sipariş API'si:
  • Varlık API'si üzerinden ticker'ı doğrular
  • Cüzdan API'si üzerinden bakiyeyi kontrol eder
  • Siparişi MySQL'de BEKLEMEDE durumuyla kalıcı hale getirir
  • Siparişi B3 uygulamasını için RabbitMQ'ya yayınlar
  • Sistemi Kafka order-events-v1 olayıyla bilgilendirir
  1. B3'nin eşleştirme motoru siparişi işler ve RabbitMQ üzerinden bir durum (DOLDURULDU veya REDDEDİLDİ) döndürür
  2. Sipariş API'si:
  • Sipariş durumunu MySQL'de günceller
  • Nihai Kafka olayını yayınlar
  • Cüzdan servisi fonları bloke ederek, likide ederek veya tersine çevirerek tepki verir

Bu tasarım, doğrulama için senkron REST çağrıları ve olay yayılımı için asenkron RabbitMQ/Kafka olmak üzere iki farklı mesajlaşma modeli kullanır.

Uygulama için Teknoloji Yığını

Sipariş API'si modern Java ve Spring teknolojilerinden yararlanır:

  • Java 21 + Spring Boot 3.3.5 – Çekirdek çalışma zamanı ve framework
  • MySQL + Flyway – Şema göçüyle kalıcı depolama
  • Spring Kafka – Yaşam döngüsü olay yayınlama
  • Spring AMQP – Sipariş yönlendirme için RabbitMQ entegrasyonu
  • Spring Cloud OpenFeign – Varlık ve Cüzdan API'leri için REST istemcisi
  • SpringDoc OpenAPI – Etkileşimli Swagger dokümantasyonu

Temel Uygulama Prensipleri

1. Alan Modeli: Sipariş Varlığı

Sipariş sınıfı, yaşam döngüsünün herhangi bir noktasında bir ticaret siparişinin durumunu modeller:

@Entity
@Table(name = "orders")
public class Order {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String userId;
    private String ticker;

    @Column(nullable = false, precision = 19, scale = 4)
    private BigDecimal quantity;

    @Column(nullable = false, precision = 19, scale

Yapay zeka özeti

Erfahren Sie, wie Sie eine robuste Order-API für Handelsplattformen mit Java, Spring Boot und asynchroner Kommunikation entwickeln. Optimieren Sie Order-Lebenszyklen und steigern Sie die Effizienz.

Yorumlar

00
YORUM BIRAK
ID #87GN6K

0 / 1200 KARAKTER

İnsan doğrulaması

4 + 8 = ?

Editör onayı sonrası yayına girer

Moderasyon · Spam koruması aktif

Henüz onaylı yorum yok. İlk yorumu sen bırak.