01Sorun ve çözüm
Gerçek zamanlı veri işleme hizmetimizde olayların kaynağından alınıp zenginleştirildiği, pencereler içinde hesaplandığı ve sonucun bir uyarıya, panoya ya da başka bir sisteme aktarıldığı akış hatları kuruyoruz. İşe her senaryo için gerçekten ne kadar güncellik gerektiğini sorarak başlıyoruz; çünkü saniye altı gecikme ile dakikada bir güncellenen bir mikro toplu iş arasında maliyet ve karmaşıklık farkı büyüktür.
02Kimler için
Gerçek zamanlı veri işleme hizmeti kimlere uygun
Aşağıdaki senaryolardan birinde gecikme doğrudan para, müşteri ya da güvenlik kaybı anlamına geliyorsa akış işleme değerlendirilmelidir.
- Ödeme ve üyelik işlemlerinde şüpheli davranışları işlem anında tespit etmek isteyen fintech ve e-ticaret şirketleri
- Birden fazla satış kanalında stok ve fiyatı anlık eşitlemesi gereken çok kanallı perakendeciler
- Makine ve sensör verisinden arıza öncesi uyarı üretmek isteyen üretim tesisleri
- Araç konumlarını ve teslimat durumlarını canlı panoda izlemek isteyen lojistik ve kurye firmaları
- Mobil uygulamasında kullanıcı davranışına göre anlık öneri ya da bildirim göstermek isteyen dijital ürün ekipleri
03İhtiyaçlar
Akış işlemede doğru kurulması gereken temel kavramlar
Gerçek zamanlı sistemlerde hatalar çoğunlukla kodda değil, zaman ve durum yönetimine dair varsayımlarda saklıdır.
- 01
Olay zamanı ve geç gelen veri
Bir sensörün bağlantısı koptuğunda olaylar dakikalar sonra toplu hâlde gelir. Hesaplamalar işlenme anına değil olayın gerçekleştiği ana göre yapılmalı, geç gelen veri için bekleme sınırı belirlenmelidir.
- 02
Tam bir kez işleme
Bir hata sonrası yeniden başlayan iş aynı ödemeyi iki kez saymamalıdır. Kontrol noktaları, idempotent yazma ve işlem destekli çıktılar bu tutarlılığı sağlar.
- 03
Durum yönetimi
Bir kullanıcının son bir saatteki işlem sayısı gibi değerler bellekte ya da yerel depoda tutulur. Bu durumun yedeklenmesi ve iş taşındığında kaybolmaması tasarımın merkezindedir.
- 04
Ani yük artışları
Kampanya anlarında olay sayısı katlanarak artabilir. Geri basınç mekanizması ve yatay ölçekleme olmadan sistem ya veri kaybeder ya da gecikmesi kontrolden çıkar.
04Özellikler
Gerçek zamanlı veri işleme projesinde kurulanlar
Her proje, ilk senaryonun uçtan uca çalıştığı ve ölçüldüğü bir akış hattıyla teslim edilir.
- 01
Olay modeli ve sözleşmeler
Hangi olayın hangi alanları taşıdığı, hangi anahtarla sıralanacağı ve şemanın nasıl evrileceği yazılı olarak tanımlanır.
- 02
Akış işleme uygulaması
Filtreleme, zenginleştirme, kayan ve sabit pencerelerle toplama ile akışlar arası birleştirme işleri Apache Flink, Kafka Streams ya da Spark Structured Streaming ile geliştirilir.
- 03
Kural ve eşik yönetimi
Uyarı eşikleri ve iş kuralları koda gömülmez; yetkili kullanıcılar tarafından güncellenebilir bir yapılandırmadan okunur.
- 04
Canlı panolar ve anlık bildirimler
Sonuçlar düşük gecikmeli bir analitik veritabanına yazılır ve panolara WebSocket ile itilir; kritik olaylar SMS, e-posta ya da mesajlaşma kanallarına bildirim olarak gider.
- 05
Uçtan uca gecikme ölçümü
Olayın oluştuğu andan sonucun hedefe ulaştığı ana kadar geçen süre sürekli ölçülür; hedef aşıldığında ekibe uyarı düşer.
05Entegrasyonlar
Olay kaynakları ve sonuçların aktığı hedefler
Akış hattı, olayların doğduğu sistemlerle sonuçların kullanıldığı sistemler arasında köprü kurar.
- 01
Olay taşıma katmanı
Olaylar Apache Kafka, Amazon Kinesis, Google Cloud Pub/Sub ya da Azure Event Hubs gibi bir akış servisi üzerinden taşınır.
- 02
Uygulama ve veritabanı değişiklikleri
Sipariş, ödeme ve stok tablolarındaki değişiklikler değişiklik yakalama ile olaya dönüştürülür; uygulamalar da doğrudan olay yayımlayabilir.
- 03
Cihaz ve sensör verisi
Sahadaki cihazlardan MQTT gibi hafif protokollerle gelen veri bir ağ geçidi üzerinden akış katmanına aktarılır.
- 04
Analitik ve önbellek hedefleri
Hesaplanan sonuçlar ClickHouse ya da Apache Druid gibi analitik veritabanlarına, anlık sorgulanacak değerler Redis'e yazılır.
- 05
Yönetilen akış işleme servisleri
İşletim yükünü azaltmak için Amazon Managed Service for Apache Flink, Google Cloud Dataflow veya Azure Stream Analytics seçenekleri karşılaştırılır.
06Süreç
Gerçek zamanlı veri işleme hizmeti nasıl ilerler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Akış sistemlerinde güvenilirlik için aldığımız önlemler
Gerçek zamanlı bir sistemin en zor anı, hatadan sonra yeniden başladığı andır. Bu yüzden her işi kontrol noktalarıyla kuruyor ve teslimden önce işi bilerek durdurup yeniden başlatarak sonuçların tekrar etmediğini ve eksilmediğini doğruluyoruz. Kod değişikliklerinde iş, mevcut durumunu koruyarak yeni sürüme geçirilir.
Devamını okuDaha az göster
Akış hesaplamalarının doğruluğunu, aynı veriyi geriye dönük toplu işle hesaplayıp karşılaştırarak düzenli olarak denetliyoruz. İki sonuç arasındaki fark büyürse geç gelen veri ayarları ya da birleştirme mantığı yeniden incelenir.
Ödeme ve konum gibi hassas olaylarda alanlar taşıma sırasında şifrelenir, kişisel tanımlayıcılar mümkün olan yerde takma adla değiştirilir. Ham olayların ne kadar tutulacağı, yeniden oynatma ihtiyacı ile kişisel veriyi gereğinden uzun saklamama yükümlülüğü dengelenerek belirlenir.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Bakım ve destek
Aylık sözleşmeli, SLA'lı bakım, destek ve geliştirme saati
Yayındaki bir sistemin sürekliliği için.
- Aylık sözleşme ve SLA
- İzleme, güncelleme ve hata düzeltme
- Aylık geliştirme saati
- 03
Danışmanlık
Saatlik veya günlük teknik danışmanlık
Karar, denetim veya yön belirleme gereken durumlar için.
- Saatlik veya günlük çalışma
- Yazılı rapor ve öneriler
- Ekibinizle birlikte çalışma
09Sık sorulan sorular
Gerçek zamanlı veri işleme hakkında sık sorulan sorular
Gerçek zamanlı veri işleme fiyatları neye göre belirlenir?
Senaryo sayısı, saniyedeki olay hacmi, hedeflenen gecikme, durum tutan hesaplamaların karmaşıklığı ve bağlanacak kaynak ile hedef sistemler maliyeti belirler. İlk senaryoyu netleştirdikten sonra proje bazlı, yazılı bir teklif sunuyoruz; altyapı giderleri ayrıca öngörülür.
Gerçek zamanlı ile neredeyse gerçek zamanlı arasındaki fark nedir?
Gerçek zamanlı genellikle olayın milisaniyeler ya da birkaç saniye içinde işlenmesi anlamına gelir. Neredeyse gerçek zamanlı ise dakikalık mikro toplu işlerle elde edilen güncelliktir. Birçok raporlama ihtiyacı ikincisiyle daha düşük maliyetle karşılanır.
Apache Flink mi, Kafka Streams mi, Spark mı kullanmalıyız?
Kafka Streams, Kafka kullanan Java servislerine kütüphane olarak eklenebildiği için sadedir. Flink karmaşık durum yönetimi ve düşük gecikme gerektiren işlerde güçlüdür. Spark Structured Streaming ise mevcut Spark ekibi ve toplu işlerle aynı kodu paylaşmak istendiğinde avantaj sağlar.
Mevcut sistemlerimizi değiştirmemiz gerekir mi?
Çoğu durumda gerekmez. Veritabanı değişiklikleri değişiklik yakalama ile uygulama koduna dokunmadan olaya çevrilebilir. Sonuçlar da mevcut sistemlerinize API veya mesaj yoluyla iletilir.
Akış hattı çökerse veri kaybolur mu?
Olaylar kalıcı bir akış servisinde saklandığı ve işin konumu kontrol noktalarına yazıldığı için hat yeniden başladığında kaldığı yerden devam eder. Saklama süresi, olası bir uzun kesintide de olayların yeniden oynatılabileceği biçimde ayarlanır.
Gerçek zamanlı veri işleme firması olarak kurulumdan sonra hattı izliyor musunuz?
Bakım ve destek anlaşmasıyla gecikme ve hata alarmlarını izliyor, kapasiteyi yük artışlarına göre ayarlıyor ve yeni senaryoları mevcut hatta ekliyoruz. İsterseniz işletimi ekibinize devredip danışmanlık desteğiyle yanında kalabiliriz.
10İlgili hizmetler