folder Tahribat.com Forumları
linefolder Eğitim & Ödev & Bilimsel Döküman
linefolder T Anında Web Servis Kaç Kayıt İşliyor - Uzman Bakış Açısı Gerek



T Anında Web Servis Kaç Kayıt İşliyor - Uzman Bakış Açısı Gerek

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Banlanmış Üye
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek

    Selamlar,

    İlginç bir problemim var. Bakış açınızı merak ediyorum.

    Bir web servis var. Bu 10 larca farklı kanaldan kullanılıyor amacı tek bir tabloya insert etmek. Öyle ki,

    1- t anında 100 farklı yerden web servis call edilir.

    2- Web servisin insert ettiği tablonun PK sı malesef GETDATE() yani t anında 100 insert işlemi için (SANIRIM) aynı zamanı üretiyor ve dup rec hatası oluyor.

    3- T anında 100 insert geldiğinde bunlar duplicate ediyor bunu önlemek için getdate() 10 kere filan üretiliyor. Her birinde yeni bir date üretiliyor. Bu bence çok yanlış increment bir yapı yok. 10 kere üretilmesine rağmen dup rec yine olabiliyor.

     

    Burada akışı şöyle mi?

    1- Insert işlemi geldi.

    2- Üretilen getdate() zamanı bir öncekiyle çakıştı. 

    3- 10 kere daha getdate() üretmeyi deniyor ve bunu insert etmek istiyor yine de dup rec alabiliyor.

    4- Gelen bu işlem içeri insert edilmek için çalışırken web servis call ile yeni bir işlem daha geldiğinde WEB SERVİS NASIL ÇALIŞIYOR? İçeri insert etmek istediği kaydı mı önce halleder yoksa thread üzerinde yeni bir akış mı başlatır.

     

    Bunla ilgili makale/ yazı vs varsa paylaşabilir misiniz? Bu dup rec i çözmem gerekiyor.

    Teşekkürler.

     

     

    zeybekustasi tarafından 13/Nis/18 17:14 tarihinde düzenlenmiştir

    .
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    All hail to Tux
    sandman
    sandman's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek

    Eğer çalıştığın banka için yapıyorsan bunu neden ESB veya api gateway üzerinden almıyorsun bağlantıları. Bu ürünler zaten transactionların geldiği yeri saati açık kaldığı bağlantı süresini felan gayet rahat ölçer. Olmadı apm varsa oradan alabilirsin o da mı olmadı api management patternlerinde bir yerde bahsediliyor bu konu. Bulursam atarım.


    Mühendis kahveyi projeye dönüştüren bir insan evladıdır.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Banlanmış Üye
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    sandman bunu yazdı

    Eğer çalıştığın banka için yapıyorsan bunu neden ESB veya api gateway üzerinden almıyorsun bağlantıları. Bu ürünler zaten transactionların geldiği yeri saati açık kaldığı bağlantı süresini felan gayet rahat ölçer. Olmadı apm varsa oradan alabilirsin o da mı olmadı api management patternlerinde bir yerde bahsediliyor bu konu. Bulursam atarım.

    Selam konu banka projesi değil hocam. Ben işleyişi anlamaya çalışıyorum.

     


    .
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    All hail to Tux
    sandman
    sandman's avatar
    Kayıt Tarihi: 01/Eylül/2005
    Erkek

    Anladım,

    Her biri farklı yerden geliyorsa get requiest origin ile geldiği yeride alıp ayrıştırmaya çalışabilirsin veya araya bir middleware katmanı yazıp, webapi her çağrıldığında o requiest için ayrı bir id yaratıp onunla yazsan?


    Mühendis kahveyi projeye dönüştüren bir insan evladıdır.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KuZeTaR
    KuZeTaR's avatar
    Kayıt Tarihi: 26/Aralık/2009
    Erkek

    Tek cekirdekli islemci kullanip, en kucuk zaman biriminde bi islemi gerceklestiricek sekilde tasarlarim, gerektiginde yeni islemleri bekletirim, queue uzerinde beklerler

    Madem adam kekoluk yapip pk yi getdate yapti, bunu da kabul eder

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    getdate() + random veri    şeklinde kayıt etsen?

    01.01.2018 12:23:34:100 - asdh32şkjf

    sonra yine tarih saat olarak  kullanabilrisin sanırım.

    Konuyla uzaktan yakından alakam yoktur, saçmaysa da saçma napalım :)


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Banlanmış Üye
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    NoktaliVirgul bunu yazdı

    getdate() + random veri    şeklinde kayıt etsen?

    01.01.2018 12:23:34:100 - asdh32şkjf

    sonra yine tarih saat olarak  kullanabilrisin sanırım.

    Konuyla uzaktan yakından alakam yoktur, saçmaysa da saçma napalım :)

    Önceki zaman veya sonraki zaman ile illaki çakışacaksın. Kaçış yok bu durumdan.

     

     

    zeybekustasi tarafından 13/Nis/18 20:11 tarihinde düzenlenmiştir

    .
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    zeybekustasi
    zeybekustasi's avatar
    Banlanmış Üye
    Kayıt Tarihi: 24/Mayıs/2012
    Erkek
    sandman bunu yazdı

    Anladım,

    Her biri farklı yerden geliyorsa get requiest origin ile geldiği yeride alıp ayrıştırmaya çalışabilirsin veya araya bir middleware katmanı yazıp, webapi her çağrıldığında o requiest için ayrı bir id yaratıp onunla yazsan?

    00:00 da A sisteminden gelen kayıtları işlerken 00:01 de B sisteminden gelen kayıtları (00:00 da ki işlem daha bitmemişken) paralelinde işliyor mudur? MSSQL , C#'ın buradaki yönetimi nasıl acaba...

    Yoksa bunları queue de mi tutuyor onu araştııyorum.

    PK yı değiştirme şansım yok malesef getdate() kalmaya devam edecek ama gelen insertleri dup rec'e yol açmadan içeri insert edebilmeliyim.

     

     


    .
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DesertSun
    DesertSun's avatar
    Kayıt Tarihi: 10/Eylül/2002
    Erkek

    Queue yu sen araya alacaksın rabbitmq veya microsoft un msmq sen oraya sıralıcaksın kayıtları sonra baska bir servis ile okuyup insert edersin cakısmada yasamazsın bence en baba hareket timestamp kullanmak olur getdate yerine


    ::: REALHACKERS.NET ADMIN :::
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DuPi
    DuPi's avatar
    Kayıt Tarihi: 21/Ağustos/2005
    Erkek

    transaction kullanabilir misin? peki tablo yapın müsait mi?


    Ne zaman birşey öğrenmek istesem, Birden Vaktim Kalmıyor ?
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    zeybekustasi bunu yazdı
    NoktaliVirgul bunu yazdı

    getdate() + random veri    şeklinde kayıt etsen?

    01.01.2018 12:23:34:100 - asdh32şkjf

    sonra yine tarih saat olarak  kullanabilrisin sanırım.

    Konuyla uzaktan yakından alakam yoktur, saçmaysa da saçma napalım :)

    Önceki zaman veya sonraki zaman ile illaki çakışacaksın. Kaçış yok bu durumdan.

     

     

    Problem duplicate kayıt olmasın diye değil mi :)
    Önceki sonraki kaydı bilmem gerekiyor diyorsan şimdi yatıyorum. uykumda düşüneyim :)


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
Toplam Hit: 711 Toplam Mesaj: 13
web servis