PYHINTS Telegram 907
Python Hints
توی معماری سیستم یک اصطلاحی داریم به اسم؛ distributed monolithic که خب یک anti-pattern هست برای معماری micro-service اول هفته با یک شرکتی برای مشاوره صحبت کردیم (کارشون رو قبول نکردم ولی یک قرارداد کوچک بستم برای اینکه بگم مشکل فعلی سیستم کجاس) معماری سیستم…
پیام دادید یک راهکار یا ... برای اینکه تست کنیم معماری که استفاده کردیم واقعاً microservice هست یا Distributed monolothic پیشنهاد می‌دید ؟

سوال جالبی بود و هیچوقت به این فکر نکرده بودم که چطوری میشه؛ یک تست سریع راه انداخت، اما بنظرم بهترین جواب هم توی خود ویژگی‌های microservice هست:

تمام سرویس‌ها اگر که باهم اجرا بشه؛ سیستم باید کار کنه!
اما اگر هر سرویس رو خاموش کنید (مثلاً برای ۵ دقیقه) باقی سرویس‌ها باید بدون مشکل کار کنند، وقتی بعد از ۵ دقیقه اون سرویس خاموش شده رو روشن کردید، سیستم باید کامل کار کنه.

مثال: فرآیند خرید محصول (انسانی)
ثبت سفارش - تایید موجودی - تایید سفارش و صدور فاکتور - پرداخت - تایید پرداخت - آماده سازی - ارسال.

توی این فرآیند اگر واحد تایید موجودی؛ همه باهم رفته باشند ناهار، واحد‌های دیگه از کار نمی‌افته!
ثبت سفارشات همگی انجام می‌شه، و واحدهای بعد از تایید موجودی هم تمام کارهایی که از قبل براشون ارسال شده رو انجام می‌دند اما کار جدید نخواهند داشت.

حالا بعد از ناهار که این واحد بر میگرده؛ اینطوری نیست که ثبت سفارشات به مشتری‌ها گفته باشه چون واحد تأیید موجودی نیستند پس من سفارش نمی‌گیرم ازت؛ سفارشات رو یادداشت کردند وقتی واحد تأیید موجودی بر میگرده به یکباره همرو باهم بهشون تحویل میده.

خلاصه؛ یک بررسی سریع این هست، هرکدوم از سرویس‌های شمارو که من برای ۵ دقیقه خاموش کنم، تمامی باقی سرویس‌ها باید بتونند به درستی کارهای خودشون رو انجام بدند.

پ.ن:
سعی کردم مثالم خیلی ساده باشه (چون خودشون ذکر کردند جونیور هستند)
28👍8



tgoop.com/pyHints/907
Create:
Last Update:

پیام دادید یک راهکار یا ... برای اینکه تست کنیم معماری که استفاده کردیم واقعاً microservice هست یا Distributed monolothic پیشنهاد می‌دید ؟

سوال جالبی بود و هیچوقت به این فکر نکرده بودم که چطوری میشه؛ یک تست سریع راه انداخت، اما بنظرم بهترین جواب هم توی خود ویژگی‌های microservice هست:

تمام سرویس‌ها اگر که باهم اجرا بشه؛ سیستم باید کار کنه!
اما اگر هر سرویس رو خاموش کنید (مثلاً برای ۵ دقیقه) باقی سرویس‌ها باید بدون مشکل کار کنند، وقتی بعد از ۵ دقیقه اون سرویس خاموش شده رو روشن کردید، سیستم باید کامل کار کنه.

مثال: فرآیند خرید محصول (انسانی)
ثبت سفارش - تایید موجودی - تایید سفارش و صدور فاکتور - پرداخت - تایید پرداخت - آماده سازی - ارسال.

توی این فرآیند اگر واحد تایید موجودی؛ همه باهم رفته باشند ناهار، واحد‌های دیگه از کار نمی‌افته!
ثبت سفارشات همگی انجام می‌شه، و واحدهای بعد از تایید موجودی هم تمام کارهایی که از قبل براشون ارسال شده رو انجام می‌دند اما کار جدید نخواهند داشت.

حالا بعد از ناهار که این واحد بر میگرده؛ اینطوری نیست که ثبت سفارشات به مشتری‌ها گفته باشه چون واحد تأیید موجودی نیستند پس من سفارش نمی‌گیرم ازت؛ سفارشات رو یادداشت کردند وقتی واحد تأیید موجودی بر میگرده به یکباره همرو باهم بهشون تحویل میده.

خلاصه؛ یک بررسی سریع این هست، هرکدوم از سرویس‌های شمارو که من برای ۵ دقیقه خاموش کنم، تمامی باقی سرویس‌ها باید بتونند به درستی کارهای خودشون رو انجام بدند.

پ.ن:
سعی کردم مثالم خیلی ساده باشه (چون خودشون ذکر کردند جونیور هستند)

BY Python Hints


Share with your friend now:
tgoop.com/pyHints/907

View MORE
Open in Telegram


Telegram News

Date: |

Hashtags are a fast way to find the correct information on social media. To put your content out there, be sure to add hashtags to each post. We have two intelligent tips to give you: In 2018, Telegram’s audience reached 200 million people, with 500,000 new users joining the messenger every day. It was launched for iOS on 14 August 2013 and Android on 20 October 2013. Content is editable within two days of publishing More>> To view your bio, click the Menu icon and select “View channel info.”
from us


Telegram Python Hints
FROM American