Sobes.tech
Senior

DDP protokolünün özellikleri nelerdir?

sobes.tech yapay zeka

AI'dan gelen yanıt

DDP (Dağıtılmış Veri Protokolü), Meteor (web ve mobil geliştirme çerçevesi) içinde istemci ve sunucu arasındaki iletişim için kullanılan bir protokoldür.

Ana özellikler:

  • Yayınlama/Abonelik: Sunucu, verileri (belge koleksiyonları) "yayınlar" ve istemciler ilgilendikleri yayınlara "abone" olurlar. Sunucudaki veriler değiştiğinde, bu değişiklikler otomatik olarak tüm abone istemcilere gönderilir.
  • Gerçek zamanlı: Veri değişiklikleri anında iletilir, böylece istemci üzerindeki bilgi güncel kalır.
  • Uzak prosedür çağrıları (RPC): İstemciler, belirli işlemleri gerçekleştirmek için sunucudaki metodları çağırabilir.
  • İdempotentlik: Aynı argümanlarla tekrar edilen metod çağrıları, çoğu standart metod için istenmeyen yan etkilere yol açmaz.
  • Taşıma: Genellikle sürekli çift yönlü bağlantı için WebSocket kullanılır, ancak HTTP'ye fallback yapabilir.
  • Veri: Veri iletimi JSON formatında gerçekleşir.
  • Gerekmedikçe veri göndermeme: Sunucu, sadece abone olunan ve değişiklik olduğunda gönderir.
  • Çevrimdışı çalışma: Meteor, istemcilere verileri geçici olarak yerel olarak kaydetme ve bağlantı yeniden kurulduğunda sunucu ile senkronize etme imkanı sağlar.
// Sunucuda yayın örneği (Node.js)
Meteor.publish('myCollection', function() {
  return MyCollection.find({}); // Koleksiyondaki tüm belgeleri yayınlar
});

// İstemci tarafında abonelik örneği (JavaScript)
Meteor.subscribe('myCollection');
// İstemci tarafında metod çağrısı örneği (JavaScript)
Meteor.call('addDocument', { name: 'Yeni belge' }, function(error, result) {
  if (error) {
    console.error("Belge eklenirken hata:", error);
  } else {
    console.log("Belge başarıyla eklendi:", result);
  }
});

// Sunucuda metodun uygulanması örneği (Node.js)
Meteor.methods({
  addDocument: function(doc) {
    // Doğrulama ve belge ekleme
    return MyCollection.insert(doc);
  }
});