Toplu işleme (batch), akışın özel bir durumudur. İşletmenizin saatler yerine saniyeler içinde tepki vermesi gerektiğinde, sürekli veri akışı için tasarlanmış bir mimariye ihtiyacınız vardır.

Kontrol panelleriniz, birisi onlara baktığında eski kalır. Dolandırıcılık tespiti, bir gecelik toplu iş olarak çalışır ve dolandırıcılığı ertesi sabah yakalar. Envanter sayımları saatlik olarak güncellenir ve aşırı satışa neden olur. Sensör verileri toplanır ancak gecelik bir ETL sürecinde analiz edilene kadar işleme alınmaz. Verilerin kaynaklardan işleme ve tüketicilere saniyenin altında gecikmeyle sürekli aktığı bir sisteme ihtiyacınız var — gerçek zamanlı analitik, canlı bildirimler, akışlı AI çıkarımı ve sistemler arasında anında senkronizasyon.
Explore more design patterns and system architectures
Mimarlarımız, bu deseni kullanarak belirli gereksinimleriniz için sistemler tasarlamanıza ve oluşturmanıza yardımcı olabilir.
İletişime GeçinGerçek zamanlı akış mimarisi, verileri ayrık toplu işler yerine sürekli, sınırsız bir akış olarak işler. Olay üreticileri bir akış platformuna (Kafka, Kinesis, Pulsar) yayınlar. Akış işlemcileri (Flink, Kafka Streams, custom consumers), olayları uçuş sırasında dönüştürür, zenginleştirir, filtreler ve toplar. İşlenen sonuçlar tüketicilere aktarılır: gerçek zamanlı kontrol panelleri (WebSocket), arama indeksleri (Elasticsearch), analitik veritabanları (ClickHouse) ve aşağı akış hizmetleri. Change Data Capture (CDC), mevcut veritabanlarının uygulama değişiklikleri olmaksızın olay kaynakları olarak katılmasına olanak tanır.
Mimari dört katmandan oluşur. Olay kaynakları veri üretir — uygulama olayları, veritabanı CDC akışları, IoT telemetrisi, kullanıcı tıklama akışları, harici API web kancaları. Akış platformu (Kafka) kalıcı, sıralı, tekrar oynatılabilir olay depolaması sağlar. Akış işlemcileri konulardan tüketir, dönüşümler (filtreleme, zenginleştirme, pencere bazlı toplama, birleştirmeler) uygular ve çıktı konularına veya hedeflere (sinks) üretir. Tüketiciler işlenmiş akışlara abone olur — WebSocket sunucuları tarayıcılara iter, konektörler veritabanlarına yazar, uyarı motorları kuralları değerlendirir ve bildirimleri tetikler.
| Katman | Teknolojiler |
|---|---|
| Akış | Apache Kafka (MSK, Confluent), Kinesis, Apache Pulsar, Redpanda |
| CDC | Debezium, AWS DMS, Maxwell |
| İşleme | Apache Flink, Kafka Streams, Benthos, custom consumers |
| Gerçek Zamanlı Teslimat | WebSocket (Socket.io), SSE, GraphQL Subscriptions |
| Analitik | ClickHouse, Apache Druid, Elasticsearch, TimescaleDB |
| Gözlemlenebilirlik | Kafka lag monitoring (Burrow), Flink metrics, özel gecikme izleme |
| Kullanım Durumları | Kaçınılması Gereken Durumlar |
|---|---|
| İş kararları saniyenin altında veri tazeliği gerektiriyorsa (dolandırıcılık, izleme, ticaret) | Saatlik/günlük tazelik ile toplu işleme (batch processing) iş gereksinimini karşılıyorsa |
| Birden fazla tüketici aynı olay akışına ihtiyaç duyuyorsa (fan-out, ayrık sistemler) | Tek bir üretici ve tek bir tüketiciniz varsa — basit bir kuyruk yeterlidir |
| Hata ayıklama, yeniden işleme veya yeni tüketiciler oluşturmak için olay tekrarına (replay) ihtiyacınız varsa | Veri hacmi düşükse (< 1K olay/dak) ve akış altyapısını haklı çıkarmıyorsa |
| Mevcut veritabanlarını kod değişiklikleri olmadan aşağı akış sistemleriyle senkronize etmek için CDC gerekiyorsa | Ekip dağıtık sistemler konusunda deneyimsizse — akış önemli operasyonel karmaşıklık ekler |
MW, akış sistemlerini "tekrar oynatma prensibi" ile tasarlar — her akış, belirli bir zamandan itibaren tekrar oynatılabilir olmalı, yeni tüketicilerin geçmiş verileri doldurmasına ve mevcut tüketicilerin hata düzeltmelerinden sonra yeniden işlemesine olanak tanımalıdır. Kafka dağıtımlarımız, şema evrim politikalarını (varsayılan olarak geriye dönük uyumlu), tüketici gecikmesi uyarılarını (işletme için görünür bir gecikme haline gelmeden önce) ve otomatik yeniden deneme özellikli dead-letter konularını içerir. Video analizi, IoT telemetrisi ve gerçek zamanlı kontrol panelleri için saniyede 500 binden fazla olayı işleyen akış işlem hatları inşa ettik.
Tek bir kod tabanı, yüzlerce kiracı, sıfır veri sızıntısı — her ölçeklenebilir SaaS işinin temeli.
MicrocosmWorks, log tabanlı mimarisi aynı veri akışını bağımsız olarak yeniden okuyan sınırsız tüketici grubunu desteklediği için, çoklu tüketici tekrarına, uzun saklama sürelerine ve bulutlar arası taşınabilirliğe ihtiyaç duyan ekipler için Kafka'yı tavsiye eder. Kinesis, AWS ekosistemiyle sıkı bir şekilde entegre, tamamen yönetilen bir hizmet istediğinizde ve veri saklama ihtiyaçlarınız 7 günden az, tüketici uygulama sayınız 10'dan az olduğunda daha iyi bir seçenektir. Doğru tavsiyeyi yapabilmek için mimari değerlendirmemiz sırasında iş hacmi, saklama, tüketici kalıpları ve operasyonel olgunluk gibi özel gereksinimlerinizi değerlendiririz.
MicrocosmWorks, Redis gibi hızlı bir arama önbelleğinde depolanan olay parmak izlerini kullanan idempotent üreticiler, transactional tüketiciler ve tekilleştirme katmanlarının bir kombinasyonu aracılığıyla exactly-once semantics'i uygular. Kafka tabanlı sistemler için, tüketici ofsetlerini ve üretici yazımlarını atomik olarak işleyen Kafka'nın yerleşik transactional API'sinden yararlanırken, özel akış işlem hatları için tüketicide tekilleştirme ile outbox pattern'ını uygularız. Tüketicileri her zaman bir güvenlik ağı olarak idempotent olacak şekilde tasarlarız, bu nedenle exactly-once mekanizması bir köşe durum hatası yaşasa bile, bir olayı yeniden işlemek aynı sonucu verir.
MicrocosmWorks; veri alımı, işleme ve hedef yazma içeren akış hatları için genellikle 50-200ms uçtan uca gecikmeler sağlar; Apache Flink veya Kafka Streams gibi bellek içi akış işlemcileri kullanılarak daha basit passthrough veya filtreleme iş yükleri için 10ms altı değerler elde edilebilir. En büyük gecikme katkıda bulunanlar genellikle ağ atlamaları, serileştirme ek yükü ve hedef yazma gruplandırmasıdır; bunları sizin gecikme-verim dengeleme tercihlerinize göre optimize ederiz. Mimari tasarımımız sırasında, her akış hattı aşaması için açık gecikme SLO'ları belirler ve üretimde p50, p95 ve p99 gecikmelerini takip eden izleme panoları oluştururuz.
MicrocosmWorks, üreticilerin veri formatlarını mevcut tüketicileri bozmadan geliştirebilmelerini sağlayan, geri ve ileri uyumluluk kurallarını uygulayan schema registries (genellikle Confluent Schema Registry veya AWS Glue Schema Registry) uygular. Her mesajın kendi kendini tanımlamasını ve şema üretildiğinden beri değişmiş olsa bile seri durumdan çıkarılabilir olmasını sağlamak için açık şema sürümleme ile Avro veya Protobuf serileştirmesi kullanırız. CI/CD pipelines'ımız, önerilen bir şema değişikliğinin downstream consumers'ı bozması durumunda deployments'ı engelleyen otomatik şema uyumluluk kontrolleri içerir.
MicrocosmWorks, bir üretim streaming platformunu güvenilir bir şekilde sürdürmek için dağıtık sistemler, stream processing frameworks ve altyapı otomasyonu deneyimine sahip minimum 2-3 mühendis önermektedir. Bu uzmanlığı şirket içinde geliştirmek istemeyen şirketler için, geliştiricileriniz stream processing uygulamaları geliştirmeye odaklanırken, ekibimizin küme operasyonları, performans ayarlaması ve olay müdahalesini üstlendiği, $15-$40/saat ücretle yönetilen streaming platform desteği sunuyoruz. Ayrıca, mevcut mühendislik ekibinizin Kafka, Flink veya Kinesis operasyonları konusunda becerilerini 4-8 haftalık süreçler boyunca geliştiren eğitim programları da sağlıyoruz.