مشکل درخواست زیاد به سرور از طریق اپلیکیشن

درود خدمت دوستان
من یک سایتی رو درست کردم با php و یک اپلیکیشن ios با زبان swift

حالا فکر می کنم دچار مشکل بسیار زیادی به زودی خواهم شد :sweat:

اپ می یاد هر ۱۰ ثانیه یک درخواست به سرور می فرسته و سرور می گیره به سرور گوگل می فرسته اطلاعات پس می ده به اپلیکیشن . در اویل این مشکلی نیست ولی با افزایش تعداد کاربران . شما فکر کنید مثلا ۲۰۰ نفر هر ۱۰ ثانیه می یاند و درخواست می فرستند و اطلاعات از json می گیرند تو اپ نمایش می دند.

بعد از مدتی ۱۰۰۰ نفر !!

شما برای این کار چی پیشنهاد می دید ؟ این سرور واسط ( که همان سایت هست ) بتونه به راحتی این مشکل حل کنه

به صورت کلی اپلیکیشن هایی که وب سرویس می گیرند از سایتی و هر لحظه رفرش می شند از چه امکاناتی استفاده می کنند؟

سلام،

قبل اینکه سرور‌ها براشون مشکل پیش بیاد احتمالا گوگل شما رو محدود می‌کنه، آیا می‌شه سرور گوگل را چند ساعت یک بار درخواست کنید cache کنید؟

یه سرور میتون چند صد کاربرو همزمان سرو کنه. برای ارقأ اپلیکیشن برای کاربرِ بیشتر خیلی‌ راه هست،(scaling)

آسان‌ترین که vertical scaling به معنی‌ گرفتن سرور با سخت افزار بهتر حفظ بیشتر،… هست

روش دوم horizontal scaling و بهتر که راه اندازی روی چندین سرور هست و با وجود لود بالانسر هر درخواست تقسیم می‌شه بین سرور ها

1 پسندیده

درود خدمت شما . ممنونم از راهنماییتون
یعنی شما می فرمایید که من درخواست هارو تایم بندی کنم بعد به سرور های گوگل ارسال کنم درسته ؟

کاربران از گوگل آنالیز اطلاعات می یارند داخل اپلیکیشن ولی
اپ به سرور
و سرور به گوگل

علاوه بر خود اپلیکیشن خود سایت هم وب اپی هست که دقیقا همین کارو می کنه . کمی برای کاربر احتمالا قابل درک نباشه که بعد از ثبت api خودش داخل اپ منتظر بمونه تا ما درخواست را ارسال کنیم با تایم بعدی مناسب بعد نتایج بیاد اصل هدف اپ اینکه اطلاعات مناسب از سرویس های گوگل را سریع نشون بده و همزمان مشاوره بده

مشکل اساسی من الان ترافیک لحظه ای از مثلا یک سرویس گوگل ( گوگل آنالیز ) هست. یعنی نمی شه اطلاعات رو از کاربر بگیرم بعد هر چند ساعت امار بدم .

در این صورت اگر نمی شه درخواست ها رو batch کرد و یا تکراری ها رو cache کرد احتمال داره گوگل API بعد مدتی شما رو محدود کنه، و خطا API limit exceeded بده، راه حل خوبی برای درست کردن این نیست می شه یک circuit breaker درست كرد كه در عمل مانع این میشه که کلی درخواست همزمان انجام بشه که از نظر کاربر خیلی تجربه خوبی نیست

1 پسندیده

درود
با صحبت های شما . اینطور که متوجه شدم راهی جز زمان بندی درخواست ها و ارسالش به گوگل ندارم .

اطلاعات محدودیت api برای گوگل آنالیز
https://developers.google.com/analytics/devguides/reporting/core/v4/limits-quotas#additional_quota

نسخه v3
https://developers.google.com/analytics/devguides/config/mgmt/v3/limits-quotas

1 پسندیده

طبق مستندات باید quotaUser را که مخصوص به هر کار بر هست در درخواست بگذارید که یک کاربر تمام اعتبار. API را استفاده نکند
https://developers.google.com/analytics/devguides/reporting/core/v4/parameters

1 پسندیده

تشکر . این مورد رو چندین بار دیدم ولی اصلا بهش توجه نکرده بودم . کمی مطالعه کردم این موضوع رو در گوگل متوجه شدن اگر کرون جابی هم در سرور هست می شه بجای ip کاربر یک استرینگ یونیک ارسال کرد که به گوگل فهموند این کاربر داره می یاد اطلاعات می گیره یا برای اون نیاز داریم ولی دقیقا متوجه نشدم وقتی این مورد رو می زاریم . گوگل مثلا چیکار می کنه .
اعتبار جداگانه برای هر کاربر می ده ؟
یا مثلا ۱۰ بار طرف اومد جلوی دسترسیشو می گیره ؟
یا مثلا با این مورد می شه تعریف کرد کلا هر کاربر چند بار به گوگل اجازه دریافت اطلاعات داره ؟

یک فکری هم تو ذهنم رسید حالا نمی دونم جواب گو هست یا نه . هنوز api رو کامل شروع نکردم تو اپ

ولی این بود که حداقل کسایی که از خود app استفاده می کنند مستقیم از گوگل آنالیز بیاند و اطلاعات بگیرند تو اپلیکیشن بیارند و وقتی تو اپ اومد یک نسخه از اطلاعات کپی شده به سرور خود ما ارسال بشه به این صورت نمی دونم کاربر ایرانی فیلتر هست یا نه . چون در نظر داشتم با سرور کمی از مشکلات فیلتر بودن رو حداقل بعد از دریافت api کد حل کنه.

من هم به همچین مشکلی البته کمی متفاوت تر خوردم

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjP56vx0OjSAhXFNJoKHX-gA1IQFggbMAA&url=https%3A%2F
%2Fwww.scalingphpbook.com%2F&usg=AFQjCNE9cSYVnDzC3RGfvB9basLWspIwSQ

این کتاب رو بخونین کاملا مشکل شما رو حل میکنه و یاد میده چطوری میشه 20 میلیون کاربرو هندل کرد با php و درخواست های لحظه ای رو حل می کنین.
در مورد گوگل اطلاع ندارم اما فکر کنم که ممکن باشه شما بتونین درخواست ها رو از طریق خود کاربر به گوگل بفرستین در غیر این صورت گوگل حتما اجازه دسترسی نمیده چون من حتی برای یه جستجوی ساده وقتی با … میام فورا تصویر امنیتی و… میزاره و باید عکس گل و بلبل رو از داخل عکس ها پیدا کنم تا خیالشون راحت بشه بات نیستم و فکر کنم تعداد درخواست های شما هم بالا بره یه چیزی شبیه این داشته باشه که نزاره

1 پسندیده

درود خدمت شما . من نبال این کتاب گشتم نسخه به قولی دزدیش ولی پیدا نکردم . قیمتشم کمی بالاست . اگر کتاب دارید امکانش هست برای بنده هم بفرستید
تشکر


اینم خوبه

1 پسندیده

تو نت اتفاقا پره


اینجا میتونین دان کنید

1 پسندیده

https://it-ebooks24.com
این لینکم کتابای جالبی داره سر بزنید

1 پسندیده

خوددم اپ کردم از اینجا میتونی دانش کنی
http://s9.picofile.com/file/8290471584/lean_publishing_scaling_php_applications_2014.pdf.html

1 پسندیده