Gateway Aggregation Pattern زمانی کاربردی هست که کلاینت برای انجام عملیاتی ، نیاز داره تا چندین سرویس رو در backend فراخونی کنه . عموما این مسئله در معماری مایکروسرویس (Microservice architecture) نمود بیشتری داره . در این حالت توسعه دهنده با ارائه ی یک gateway و تجمیع چندین درخواست در قالب یک درخواست ، این مسئله رو حل میکنه .
به تصویر بالا دقت کنید ، برنامه ی ما برای انجام عملیاتی به سه تا سرویس نیاز داره ، و به هرکدوم درخواست جداگانه ای ارسال میکنه (1,2,3) و جواب هرکدام از سرویس ها رو جداگانه میگیره (4,5,6) و عملیات مورد نظرش رو به پایان میبره
اگر تغییری در ساختار هرکدوم از سرویس ها ایجاد بشه ، نیاز هست که client ما متناسب با تغییرات هر سرویس بروز رسانی بشه ، یا اگر تعداد درخواست ها از سمت کلاینت افزایش پیدا کنه ، میتونه باعث بروز مشکل در پاسخدهی سرویس ها بشه و بدلیل وابستگی مستقیم client به سرویس های backend، بهینه سازی سرویس ها دشوار میشه
برای حل این مشکل و کاهش ارتباط های متعدد client با سرویس ها ، ما از یک gateway استفاده میکنیم که کلاینت بصورت مستقیم با اون درگیر هست و وظیفه ی برقراری ارتباط با سرویس ها برعهده ی gateway مربوطه هست . به تصویر زیر دقت کنین:
در ساختار بالا ، دیگه خبری از ارتباط مستقیم client با سرویس ها نیست و ارتباط از طریق gateway برقرار میشه .
مواردی که بایستی در پیاده سازی این الگو مد نظر قرار بدیم:
یادگیری برنامه نویسی برای متخصصین حوزه کامپیوتر این روزها یک الزام به حساب می آید. از جمله محبوب ترین زبان های برنامه نویسی دنیا می توانیم به زبان برنامه نویسی سی شارپ ، زبان برنامه نویسی جاوا ، زبان برنامه نویسی پایتون ، زبان برنامه نویسی سی پلاس پلاس و زبان برنامه نویسی SQL ( لازمه هر زبان دیگری ) و زبان برنامه نویسی PHP اشاره کنیم.
برای آموزش برنامه نویسی می توانید با خیال راحت در قالب دوره های آموزش برنامه نویسی سایت توسینسو ، آموزش سی شارپ ، آموزش جاوا ، آموزش پایتون ، آموزش جنگو ، آموزش PHP ، آموزش جاوا اسکریپت ، آموزش برنامه نویسی اندروید ، آموزش SQL و آموزش MySQL را بصورت جامع و حرفه ای آموزش ببینید.
بنیانگذار توسینسو و توسعه دهنده
علی شکرالهی، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس موبایل، مهندسی نرم افزار از دانشگاه آزاد اسلامی واحد کرج ، بیش از 15 سال سابقه ی فعالیت های حرفه ای و آموزشی
زمان پاسخ گویی روز های شنبه الی چهارشنبه ساعت 9 الی 18
فقط به موضوعات مربوط به محصولات آموزشی و فروش پاسخ داده می شود