Telegram Group & Telegram Channel
#Quick

یک عادت خوبی که توی بچه‌های ایران هست که یک endpoint توی پروژه‌های بکند می‌سازند به اسم health-check اما ۹۰٪ اشتباه پیاده‌سازی میشه متأسفانه.

برای اونایی که نمی‌دونند، health-check برای این هست که بصورت اتوماتیک یک سیستم دیگه مثل k8s یا سیستم مانیتورینگ بتونه وضعیت بکند رو بررسی کنه و اگر جوابی نگرفت ایمیل بزنه یا اون pod رو ریست کنه.

حالا چرا میگم اشتباه پیاده‌سازی میشه، اول میرم سراغ مانیتورینگ:

فرض کن شما یک بکند داری که برای کار کردن به postgres, celery نیاز داره با این وضعیت سیستم شما وقتی سالم هست که به postgres شما بتونه یه درستی دسترسی بگیره و البته به celery (عملکرد celery, postgres رو اگر بخواید بررسی کنید نیاز به ۲ تا سیستم مانیتورینگ جدا دارید، برای شما توی سطح اپلیکیشن دسترسی به این سرویس‌ها مهم هست)

فکر کنم متوجه منظورم شدید؛ توی health-check باید دسترسی به سرویس‌هایی که بکند شما بدون اونا healthy نیست رو هم چک کنید.
توی مثال قبلی اگر celery برای شما اجبار نیست توی health-check کانکشن بهش رو تست نمی‌کنید.

حالا چرا k8s رو مثال زدم ؟ برای اینکه بگم استفاده از این endpoint برای بررسی pod ها کار درستی نیست:

هر pod بصورت جداگونه و بصورت تک سرویس در نظر گرفته میشه که به تنهایی می‌تونه restart بشه بدون اینکه به سیستم لطمه بزنه (من HA درنظرم گرفتم، k8s برای همینه دیگه) پس باید تو سریعتر زمانی که عملکرد خودش رو از دست میده restart بشه فکر کن load سیستم بره بالا در این شرایط هم از روی health-check نمی‌شه مطمئن بود آیا چون load شبکه رفت بالا جواب دیر میاد یا memory leakage داریم یا ...
پس سرویس رو از exception, ... مانیتور کنید با k8s تا جایی که می‌شه.



tg-me.com/pyHints/657
Create:
Last Update:

#Quick

یک عادت خوبی که توی بچه‌های ایران هست که یک endpoint توی پروژه‌های بکند می‌سازند به اسم health-check اما ۹۰٪ اشتباه پیاده‌سازی میشه متأسفانه.

برای اونایی که نمی‌دونند، health-check برای این هست که بصورت اتوماتیک یک سیستم دیگه مثل k8s یا سیستم مانیتورینگ بتونه وضعیت بکند رو بررسی کنه و اگر جوابی نگرفت ایمیل بزنه یا اون pod رو ریست کنه.

حالا چرا میگم اشتباه پیاده‌سازی میشه، اول میرم سراغ مانیتورینگ:

فرض کن شما یک بکند داری که برای کار کردن به postgres, celery نیاز داره با این وضعیت سیستم شما وقتی سالم هست که به postgres شما بتونه یه درستی دسترسی بگیره و البته به celery (عملکرد celery, postgres رو اگر بخواید بررسی کنید نیاز به ۲ تا سیستم مانیتورینگ جدا دارید، برای شما توی سطح اپلیکیشن دسترسی به این سرویس‌ها مهم هست)

فکر کنم متوجه منظورم شدید؛ توی health-check باید دسترسی به سرویس‌هایی که بکند شما بدون اونا healthy نیست رو هم چک کنید.
توی مثال قبلی اگر celery برای شما اجبار نیست توی health-check کانکشن بهش رو تست نمی‌کنید.

حالا چرا k8s رو مثال زدم ؟ برای اینکه بگم استفاده از این endpoint برای بررسی pod ها کار درستی نیست:

هر pod بصورت جداگونه و بصورت تک سرویس در نظر گرفته میشه که به تنهایی می‌تونه restart بشه بدون اینکه به سیستم لطمه بزنه (من HA درنظرم گرفتم، k8s برای همینه دیگه) پس باید تو سریعتر زمانی که عملکرد خودش رو از دست میده restart بشه فکر کن load سیستم بره بالا در این شرایط هم از روی health-check نمی‌شه مطمئن بود آیا چون load شبکه رفت بالا جواب دیر میاد یا memory leakage داریم یا ...
پس سرویس رو از exception, ... مانیتور کنید با k8s تا جایی که می‌شه.

BY Python Hints


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyHints/657

View MORE
Open in Telegram


Python Hints Telegram | DID YOU KNOW?

Date: |

The messaging service and social-media platform owes creditors roughly $700 million by the end of April, according to people briefed on the company’s plans and loan documents viewed by The Wall Street Journal. At the same time, Telegram Group Inc. must cover rising equipment and bandwidth expenses because of its rapid growth, despite going years without attempting to generate revenue.

Spiking bond yields driving sharp losses in tech stocks

A spike in interest rates since the start of the year has accelerated a rotation out of high-growth technology stocks and into value stocks poised to benefit from a reopening of the economy. The Nasdaq has fallen more than 10% over the past month as the Dow has soared to record highs, with a spike in the 10-year US Treasury yield acting as the main catalyst. It recently surged to a cycle high of more than 1.60% after starting the year below 1%. But according to Jim Paulsen, the Leuthold Group's chief investment strategist, rising interest rates do not represent a long-term threat to the stock market. Paulsen expects the 10-year yield to cross 2% by the end of the year. A spike in interest rates and its impact on the stock market depends on the economic backdrop, according to Paulsen. Rising interest rates amid a strengthening economy "may prove no challenge at all for stocks," Paulsen said.

Python Hints from sa


Telegram Python Hints
FROM USA