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: |

Write your hashtags in the language of your target audience. ZDNET RECOMMENDS In the “Bear Market Screaming Therapy Group” on Telegram, members are only allowed to post voice notes of themselves screaming. Anything else will result in an instant ban from the group, which currently has about 75 members. Among the requests, the Brazilian electoral Court wanted to know if they could obtain data on the origins of malicious content posted on the platform. According to the TSE, this would enable the authorities to track false content and identify the user responsible for publishing it in the first place. To view your bio, click the Menu icon and select “View channel info.”
from us


Telegram Python Hints
FROM American