با سلام
دوستان، در حال طراحی یک سیستم بزرگ هستم. قصد دارم این سسیستم بزرگ را با معماری Microservices پیاده سازی کنم. این اولین باری است که قصد پیاده سازی با این معماری را دارم. به همین دلیل به سوالات و مشکلات پایه ای برخورد کردم. سعی کردم شماتیک این سیستم را در تصویر زیر نمایش دهم:


Name:  MicroService.png
Views: 229
Size:  70.9 کیلوبایت


با توجه به تصویر فوق و توضیحات بالا، چندتا سوال داشتم:
1- در برخی موارد نیاز به Transaction در بیش از یک سرویس دارم. چگونه Transaction های دیتابیس در این معماری مدیریت میشوند؟
2- با توجه به اینکه ارتباطها در سطح Service است و بین دیتابیس ها ارتباط مستقیم وجود ندارد، Relation بین موجودیت های یک سرویس با سرویس دیگر به چه شکل انجام میشود؟ به عنوان مثال، در سرویس Message نیاز دارم که فرستنده و گیرنده پیام رو ذخیره کنم. تمامی افراد در سرویس User مدیریت و ذخیره میشوند.