5

DynamoDB Streams + Kinesis İstemci Kitaplığı (KCL) kullanıyorum. Bir olayın bir akışta oluşturulduğu ve KCL tarafında işlendiğinde arasındaki gecikmeyi nasıl ölçebilirim? Bildiğim kadarıyla, KCL'nin MillisBehindLatest metriği, Kinesis Akımlarına özgüdür (DynamoDB akışları değil). approximateCreationDateTime kayıt özniteliğinde, alt saniye gecikme sistemlerinde izleme için kabul edilmeyen, dakika düzeyinde bir yaklaşım bulunur.DynamoDB Akışlarının yayılma gecikmesini nasıl ölçebilirim?

İzlemeDynamoDB Streams gecikmesi için bazı yararlı metriklere yardımcı olabilir misiniz?

cevap

0

Uygulamanızın, tablonun akışındaki mutasyonların yayılma gecikmesini izlemesine izin vermek için uygulamanızda yazma şeklinizi değiştirebilirsiniz. Örneğin, öğeleri oluşturduğunuz ve güncellediğinizde bir 'last_updated =' zaman damgası özniteliğini her zaman güncelleyebilirsiniz. Böylece, yaratımlarınız ve güncellemeleriniz akışta görüntülendiğinde, yayılma gecikmesini, geçerli kaydın akış kaydının NEW_IMAGE değerinde son_danimden çıkarılmasıyla tahmin edebilirsiniz. silme akışı kayıtlarında bir NEW_IMAGE olmadığından

, senin siler iki adımda gerçekleşecek gerekir:

  1. öğe ve
  2. için 'logically_deleted =' damgası bilgileri mantıksal silme hemen 1.

Daha sonra aşağıdaki aslında DeleteItem çağrı

  • fiziksel silme, sen kreasyonları ve güncellemeler, ne zaman pr OLD_IMAGE kullanacağı konusunda olmanın sadece farklılıkların aynı matematik kullanırsınız silme işlemlerinin gerçekleştirilmesi ve mantıksal silme işleminin gerçekleştirilmesi için gereken süreyi hesaba katmak için en az 10ms çıkarmanız gerekir (adım 1).