Distributed locking Implementation (بالعربي)

Поділитися
Вставка
  • Опубліковано 11 гру 2024

КОМЕНТАРІ • 3

  • @MohamedEssam-wc7cd
    @MohamedEssam-wc7cd 10 днів тому

    انا لسا فريش ف اغذرني علي سوالي ممكن يكون سطحي ، انا كنت شغال علي ECommerce app وكنت اشتغلت علي موضوع لو فيه product واحد او ال count واحد بس في stock فيه tow user داخلين علي نفس ال product انا حلتها ب حلين واحد transaction عاديه ب عملت ال row version وانا ب جيب ال product وكدا كدا ال transaction هي read commit ف ال user التاني هيستني لحد ما user واحد يكتب وuser اتنين يدخل بعدها هيرمي ex انا ال row version اتغير وهكذا هل دا حل سليم ?

  • @MohamedEssam-wc7cd
    @MohamedEssam-wc7cd 10 днів тому

    الحل التاني ان خليت ال transaction isolation level serializable وكان بيحصل deadlock ف خليت وانا بقرا ال row product عمل عليها lock for update عشان لو اي req جه تاني ميعملوش read مره واحده ويحصل deadlock بعدين والحل مشي طبعاا انا مش شغال غير علي instance واحده بس هل الحلول صح ولا انا ماشي بطريقه غير صحيحه مع العلم ان اول طريقه جربتها هو ان اعمل lock في ram .

    • @naderelagrody
      @naderelagrody  10 днів тому

      هو ده حل مناسب جدا عمتا انك تختار isolation level مناسب هيكون مفيد عيبه بس مع الوقت هيكون يبطس السيستم
      ممكن نسخدم ال versioniong (optimistic locking)
      هيكون حل مناسب برده