با یه چالش مغزتون رو قلقلک بدم😁
فرض کنید سرویسی داریم رو اسکیل میلیونی ریکوئست میاد سمتش
برای هر ریکوئست یه سری کار میکنیم و در اخر یه مسیج میذاریم رو مسیج بروکر
از Outbox Pattern هم برای اطمینان از message delivery استفاده کردیم ولی با استفاده از این پترن الان دوتا مشکل داریم:
۱- ریت مسیج ها اینقدر زیادن که dispatcher worker که داره پشت صحنه مسیج ها رو میخونه و به مسیج بروکر میفرسته گاهی قاط میزنه و تایم اوت میده
۲ - وقتی اپلیکیشن رو scale out کردیم و حالا چنتا dispatcher داریم مشکل race condition داریم و مسیج های تکراری زیاد شدن
راه حلتون چیه ؟
@DotNetIsFun
فرض کنید سرویسی داریم رو اسکیل میلیونی ریکوئست میاد سمتش
برای هر ریکوئست یه سری کار میکنیم و در اخر یه مسیج میذاریم رو مسیج بروکر
از Outbox Pattern هم برای اطمینان از message delivery استفاده کردیم ولی با استفاده از این پترن الان دوتا مشکل داریم:
۱- ریت مسیج ها اینقدر زیادن که dispatcher worker که داره پشت صحنه مسیج ها رو میخونه و به مسیج بروکر میفرسته گاهی قاط میزنه و تایم اوت میده
۲ - وقتی اپلیکیشن رو scale out کردیم و حالا چنتا dispatcher داریم مشکل race condition داریم و مسیج های تکراری زیاد شدن
راه حلتون چیه ؟
@DotNetIsFun
بالاخره ورژن ۳ لایبرری Mediator ریلیز شد
جایگزین بسیار خوبی برای MediatR هست
https://github.com/martinothamar/Mediator/releases/tag/v3.0
جایگزین بسیار خوبی برای MediatR هست
https://github.com/martinothamar/Mediator/releases/tag/v3.0
GitHub
Release v3.0 · martinothamar/Mediator
🚀 Features, improvements & breaking changes
[#176] Refactor source generation template, improve performance and update benchmarks - fixed "large project" performance, i.e. many messa...
[#176] Refactor source generation template, improve performance and update benchmarks - fixed "large project" performance, i.e. many messa...
هرکی گفت قبل قرار دادن دیتا توی ردیس اون رو compress کنید این نمودار رو نشونش بدید بعد بزنید توی گوشش ( الان اگه cpu بدبخت زبون داشت هزارتا فحش میداد)
اگه حجم دیتای ردیس زیاد هست خب مشکل از جای دیگس و باید approach ای که نسبت به cache کردن دیتا دارید رو عوض کنید.
@DotNetIsFun
اگه حجم دیتای ردیس زیاد هست خب مشکل از جای دیگس و باید approach ای که نسبت به cache کردن دیتا دارید رو عوض کنید.
@DotNetIsFun