پرسشی را که مدل پاسخ میدهد مشخص کنید
از پرسوجوهای Product شروع کنید: هنگام خواندن یا نمایش محصول، چه اطلاعاتی از تأمینکننده لازم است؟ فقط همان فیلدها را همراه شناسه پایدار تأمینکننده نگه دارید.
نام SupplierReadModel هدف را روشن میکند. این یک مدل پرسوجو در Product است، نه API جایگزین برای تغییر داده Seller.
بهروزرسانی مدل یک قرارداد است
پیامها یا قرارداد همگامسازی صریح، تغییر را از سرویس مالک منتقل میکنند. مصرفکننده باید رفتار مشخصی برای پیام تکراری، با تأخیر یا خارج از ترتیب داشته باشد.
ممکن است قانون نسخه یا ترتیب لازم باشد، اما باید از قرارداد واقعی بیاید. تضمین ترتیبی را که ابزار انتقال ندارد فرض نکنید.
بازیابی را هم طراحی کنید
مدل خواندن به روشی برای تطبیق یا بازسازی پس از از دست رفتن داده نیاز دارد. مشخص کنید تأخیر چطور دیده میشود و پرسوجو پیش از رسیدن رکورد تأمینکننده چه پاسخی میدهد.
در عملیات حساس، واقعیتهای اصلی کسبوکار را در مرز مناسب بررسی کنید. read model وابستگی را کم میکند؛ نیاز به سازگاری را حذف نمیکند.
منبع برای مطالعه بیشتر
مستندات و استاندارد مرجع