C# Friends – Telegram
C# Friends
117 subscribers
58 photos
4 videos
29 files
72 links
C#, Asp.Net Core, Blazor & Architecture
Guids, Experiences, Tutorials, News and Codes.
Github: saeedrezayi/mrgrayhat
Contact me: @mrgrayhat
Download Telegram
C# Friends
از سری مفاهیم معماری میکروسرویس ها، Api Gateway چیست و چه کاربردهایی دارد: 1. مدیریت متمرکز درخواست ها و خروجی ها، logging و trace 2. اعمال محدودیت و مکانیزم های مختلف به فرآیندها، مانند QOS، Rate Limiting، Load Balancing, Service Discovery, Authorization…
بررسی اجمالی پیکربندی API Gateway یا گلوگاه با کتابخانه Ocelot

حال نگاهی به کتابخانه بسیار کاربردی ocelot می‌اندازیم. ocelot یک کتابخانه برای ساخت api gateway ها یا همان گلوگاه های برنامه است که به شما امکان پیکربندی آدرس ها و سرویس های مورد نظر و تعداد زیادی امکانات دیگر را میدهد.
در کانفیگ زیر، درخواستی که به مسیر blog/ در gateway میرسد با نام Upstream Path مشخص شده که ورودی ما هست(درخواست کلاینت یا سرویس دیگری)، بسته به کانفیگ به Downstream تعیین شده ارجاع داده میشود. (path ها همراه پارامترها و متد ها به همدیگر map میشوند، مانند routing mvc، عملا درخواست ها فقط ارجاع میشن و پاسخ دریافتی از سرویس ها از طریق gateway به کلاینت برمیگردد)
در این کانفیگ، دو instance از سرویس Blog اجرا شده و یکی از دو Down stream توسط مکانیزم load balancing انتخاب میشود.
پارامتر Downstream Path آدرس مسیریابی میکروسرویس ها را مشخص کرده و Downstream Scheme و HostAndPort به ترتیب پروتکل آنها و url و پورتی که هاست شده اند.
[Client] Request to gateway -> localhost:9000/blog/1
=> send [Get] /blog/1 to localhost:9001/api/blog/1
=> api gateway will receive blog service response -> send result to client
تنظیم Load Balancer هم روی الگوریتم نوبتی یا همان Round Robin است که بین localhost:9001 و localhost:9002 به ترتیب بار را تقسیم میکند.
به این صورت اتصال سفت میان سرویس ها کاهش یافته و کنترل و scalability پروژه افزایش چشمگیری میابد.
{
"DownstreamPathTemplate": "/api/blog/{id}",
"DownstreamScheme": "http",
"DownstreamHostAndPorts": [
{ "Host": "localhost", "Port": 9001 }, // blog instance #1
{ "Host": "localhost", "Port": 9002 } // blog clone #2
],
"UpstreamPathTemplate": "/blog/{id}",
"LoadBalancer": "RoundRobin", //OR LeastConnection OR Cookie sticky
"UpstreamHttpMethod": [ "Get" ]
}

Ocelot official Docs:
https://ocelot.readthedocs.io/en/latest/introduction/bigpicture.html

@csharpfriends
#Microservice #ocelot #ApiGateway #LoadBalancing
همینطور که در تصویر مشاهده میکنید، مفهوم گذرگاه و Api gateway به شکل ساده ای ترسیم شده.
رابط کاربری یا همان کلاینت، با Gateway در ارتباط خواهد بود و gateway وظیفه کنترل محدودیت ها، ثبت رخداد ها و مسیریابی به میکروسرویس ها را انجام میدهد.
گذرگاه مانند یک میان افزار، بسته به Config انجام شده برای آن (مانند mvc endpoint routing) وظیفه مسیریابی درخواست ها و مَپ کردن آنها به مسیرهای دو سرویس در پشت این گذرگاه را دارد. سپس خروجی آنها را برمیگرداند.
* یک درخواست میتواند نیازمند اجرای دو action مختلف باشد، مثلا کلاینت درخواست گزارش وضعیت هواشناسی را ارسال میکند، گذرگاه پس از گرفتن اطلاعات از سرویس آب و هوا (1) و سپس ارسال آن به سرویس دیگری برای پردازش (2) و نهایتا بازگشت نتیجه نهایی به کلاینت. این کار در Gateway ها امکان پذیر و قابل پیکربندی میباشد.
@csharpfriends #ApiGateway #MicroService #CleanArchitecture
از سری مطالب معماری مبتنی بر سرویس و میکروسرویس ها که در چند بخش توضیح داده شده / خواهد شد:
۱. انواع پیاده سازی میکروسرویس
۲. میکروسرویس ها و Api Gateway ها
- ارتباطات سرویس ها و کلاینت ها
- محدودیت نرخ درخواست ها و تبادل
- کیفیت خدمات و کنترل جریان QoS
- مقیاس پذیری، توزیع و تقسیم بار
- نگهداری و توسعه
- ابزار ها و کتابخانه های کاربردی، ocelot.net
۳. میکروسرویس ها، Message Broker و Event Bus ها
۴. داکر، container ها و kubernetes
۵. پلتفرم های ابری و ☁️ Cloud
۵.۱ سرویس های Azure
یه مدتی خیلی درگیر مشغله های کاری بودم و از کارایی که دوست داشتم فاصله گرفتم و مطالبی که نوشته بودم رو نرسیدم تکمیل کنم، اما ازونجایی که معمولا وقتی کاری رو هی به تعویق میندازیم به مراتب دیرتر انجام میدیم یا اصلا انجام نمیدیم 😁،
تصمیم گرفتم چکیده مطالب اخیری که داشتم مینوشتم رو بزارم تا بعدا کاملترشون کنیم. (کمالگرایی اگر واژه نزدیکی بهش باشه، معمولا هممون رو اذیت میکنه و وسواس بیشتری ایجاد میکنه)‌
قطعا جای تکمیل کردن و بهتر کردن وجود داره و هیچ کس و هیچ چیز کامل نیست، من هم معمولا مطالب رو به لحاظ تجربی و نگارش خودم یا با مشاوره دوستان مینویسم و ترجمه و کپی ای نیست. دوست ندارم چیزایی که بقیه نوشتن طوطی وار تیتر کنم.
پس نظراتتون بسیار ارزشمنده و آموزنده، اکثر شما سروران و استادان بنده اید ❤️
C# Friends pinned «از سری مطالب معماری مبتنی بر سرویس و میکروسرویس ها که در چند بخش توضیح داده شده / خواهد شد: ۱. انواع پیاده سازی میکروسرویس ۲. میکروسرویس ها و Api Gateway ها - ارتباطات سرویس ها و کلاینت ها - محدودیت نرخ درخواست ها و تبادل - کیفیت خدمات و کنترل جریان QoS…»
Forwarded from Mr.Grayhat [Saeed.R]
339261_788.pdf
697.4 KB
پیش نویس طرح حمايت از حقوق كاربران و خدمات پايه كاربردی فضای مجازی.
1400/04/26
💔 برنامه نویسی در ایران به تاریخ پیوست

بالاخره طرح قطع کردن اینترنت تصویب شد. 😭😭😭
هزاران برنامه نویس بیکار میشن
یا اینکه مجبور میشن با زجر و مکافات ادامه بدن...
۲۰ ساله شغلم اینه، الان چطوری بیوفتم دنبال کار دیگه

🚫کمپین بدون اینترنت برنامه نویسی نمیکنم🚫

پخش کنید تا صنعت نرم افزار بخوابه و بفهمن نباید ابزار برنامه نویسان رو ازشون گرفت و به زور وادارشون کرد که با زجر برنامه بنویسن
@SenfProgrammer
صنف مجازی برنامه نویسان
#کمپین_بدون_اینترنت_برنامه_نویسی_نمیکنم
https://news.1rj.ru/str/csharpfriendsgroup/72
یه بخشی از موسیقی های خوبو میزارم تو گروه شاید شماهم دوست داشته باشین موقع کار، استراحت گوش بدین.
سلیقه ایه راک، پست فولک بلوز، کلاسیک، ویولون ... ولی اشتراکا بی کلام.
Forwarded from CodeForFood
Expert Performance Indexing in SQL Server 2019 (2019).rar
11.7 MB
Forwarded from CodeForFood
Beginning Entity Framework Core 5 (2021).rar
3.7 MB
Forwarded from CodeForFood
C# 9 and .NET 5 - Modern Cross-Platform Development (2020).rar
12.8 MB
Forwarded from CodeForFood