چه موقع از event sourcing استفاده کنیم؟

من در حال حاضر یک table تو mysql ساختم هر اتفاقی که می افته رو اونجا لاگ میکنم. یک فیلد type داره و یک فیلد متا از جنس json . و یه فیلد product_id که معلوم کنه این اتفاقات برا کدوم محصول هست.

با همین میتونم اتفاقاتی که برای اون entity می افته رو نشون بدم و همچنین اخرین state اون رو هم دارم.

در همین حین به مبحث event sourcing خوردم که به نظر برای اینکار استفاده میشه.
حالا ایا این روش من بهینه نیست؟
استفاده از event sourcing چه فیچری به من میده که بخوام از اون روش استفاده کنم برای این کار؟

1 Likes

فکر میکنم نیاز باشه یه تغییری توی دیتابیس بدید و هرچیزی رو به ساده‌ترین صورت ثبت کنید. استفاده از Json کار رو کند و سنگین میکنه.

خب بخشی که همه میدونن: باعث میشه بتونید پروسه‌ی پیشرفت کار رو ببینید، به جای اینکه فقط نتایج رو ببینید.
چیزی که ممکنه به کار شما بیاد: توی آنالیز هم کمک میکنه، مثلا «تمام ترخیص‌های انبار در بازه‌ی زمانی فلان»
یا بررسی رفتار کاربر «لاگین کرد، پسوردشو عوض کرد، تنظیمات email subscribtion رو تغییر داد، فلان محصول رو سفارش داد»
یا نمایش پیغامهای اعصاب خورد کنی مثل «این پسورد رو قبلا استفاده کرده بودید. یه پسورد جدید انتخاب کنید.»

1 Likes