Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
مروری بر اخبار لینوکسی در این روزهای اخیر:
یک مدت کوچیک فرصت نشد که پست بگذارم، گفتم به صورت کلی مروری بر خبرهای لینوکسی داشته باشیم.|
توزیع siduction Linux 2024.1.0 با محیطهای دسکتاپ Xfce 4.20، KDE Plasma 6.2 و LXQt 2.1 عرضه شد.
توزیع postmarketOS 24.12 با KDE Plasma Mobile 6.2.4 و GNOME Shell 46 برای دستگاههای موبایل منتشر شد.
برنامه OpenShot 3.3 با بهبودهایی مانند انتخابگر رنگ سازگار با Wayland و تم پیشفرض جدید منتشر شد.
برنامه Darktable 5.0 با ویژگیهای جدید و پشتیبانی بهبودیافته از دوربینها عرضه گردید.
توزیع Grml 2024.12 با پشتیبانی از پردازندههای 64 بیتی ARM و هسته لینوکس 6.11 منتشر شد.
برنامه DXVK 2.5.2 با بهبود پشتیبانی از بازیهایی مانند Alpha Protocol و Borderlands 2 عرضه شد.
برنامه IPFire 2.29 با آمادگی برای Wi-Fi 7 و رمزنگاری پساکوانتومی منتشر شد.
برنامه LibreOffice 24.8.4 با 55 اصلاحیه بهعنوان بهروزرسانی نگهداری عرضه گردید.
برنامه Xfce 4.20 با پشتیبانی آزمایشی از Wayland و بهبودهایی در مدیریت فایل و پنل عرضه شد.
توزیع CentOS Stream 10 با هسته لینوکس 6.12 LTS و GNOME 47 منتشر شد.
برنامه KDE Frameworks 6.9 با آیکون نمادین جدید برای Wine و اصلاحات مختلف عرضه شد.
برنامه KDE Gear 24.12 با ویژگیهای جدید و انتقال Dolphin به دستگاههای موبایل منتشر شد.
برنامه Proton 9.0-4 با پشتیبانی از بازیهایی مانند Total War: Shogun 2 و Warhammer 40K: Space Marine 2 عرضه شد.
یک مدت کوچیک فرصت نشد که پست بگذارم، گفتم به صورت کلی مروری بر خبرهای لینوکسی داشته باشیم.|
توزیع siduction Linux 2024.1.0 با محیطهای دسکتاپ Xfce 4.20، KDE Plasma 6.2 و LXQt 2.1 عرضه شد.
توزیع postmarketOS 24.12 با KDE Plasma Mobile 6.2.4 و GNOME Shell 46 برای دستگاههای موبایل منتشر شد.
برنامه OpenShot 3.3 با بهبودهایی مانند انتخابگر رنگ سازگار با Wayland و تم پیشفرض جدید منتشر شد.
برنامه Darktable 5.0 با ویژگیهای جدید و پشتیبانی بهبودیافته از دوربینها عرضه گردید.
توزیع Grml 2024.12 با پشتیبانی از پردازندههای 64 بیتی ARM و هسته لینوکس 6.11 منتشر شد.
برنامه DXVK 2.5.2 با بهبود پشتیبانی از بازیهایی مانند Alpha Protocol و Borderlands 2 عرضه شد.
برنامه IPFire 2.29 با آمادگی برای Wi-Fi 7 و رمزنگاری پساکوانتومی منتشر شد.
برنامه LibreOffice 24.8.4 با 55 اصلاحیه بهعنوان بهروزرسانی نگهداری عرضه گردید.
برنامه Xfce 4.20 با پشتیبانی آزمایشی از Wayland و بهبودهایی در مدیریت فایل و پنل عرضه شد.
توزیع CentOS Stream 10 با هسته لینوکس 6.12 LTS و GNOME 47 منتشر شد.
برنامه KDE Frameworks 6.9 با آیکون نمادین جدید برای Wine و اصلاحات مختلف عرضه شد.
برنامه KDE Gear 24.12 با ویژگیهای جدید و انتقال Dolphin به دستگاههای موبایل منتشر شد.
برنامه Proton 9.0-4 با پشتیبانی از بازیهایی مانند Total War: Shogun 2 و Warhammer 40K: Space Marine 2 عرضه شد.
Forwarded from My CS Journey (Ali)
This media is not supported in your browser
VIEW IN TELEGRAM
زاکربرگ میگه به عنوان آخرین نسخهٔ Llama در سال 2024، Llama3.3-70B رو عرضه میکنیم (عرضه شد چند روز پیش) که عملکرد مشابه Llama3.1-405B داره. بعدش در سال 2025 میریم برای Llama4.
Forwarded from linuxtnt(linux tips and tricks) (hosein seilany https://seilany.ir/)
🔰نسخه جدید میزکار Xfce با ویژگیهای زیر منتشر شده است:
🔰ویژگیهای جدید میزکار Xfce 4.20
🔹پشتیبانی از Wayland (آزمایشی)
بیشتر اجزای Xfce اکنون از Wayland پشتیبانی میکنند، بدون نیاز به XWayland.
یک کتابخانه جدید به نام "libxfce4windowing" معرفی شده است.
برای استفاده از Wayland نیاز به نصب مدیرهای پنجرهای مانند Labwc و Wayfire دارید.
محدودیتها: برخی ویژگیها مانند تنظیمات صفحهکلید، موس، و گرفتن اسکرینشات به صورت کامل در Wayland پشتیبانی نمیشوند.
🔹بهبودهای Thunar (مدیر فایل)
اضافه شدن دکمههای جدید در نوار ابزار (مانند باز کردن تب یا پنجره جدید).
پشتیبانی از لینکهای سمبلیک در موقعیتهای از راه دور.
بهبود عملکرد برای مدیریت فایلهای حجیم.
قابلیت نمایش فایلهای مخفی در نوار وضعیت و استفاده از آیکونهای نمادین و رنگی.
اضافه شدن حالت Split View با میانبرهای جدید برای جابجایی بین پنجرهها.
🔹مدیر انرژی (xfce4-power-manager)
سادهسازی مدیریت قفل صفحه و پشتیبانی از حالت خواب هیبریدی.
اضافه شدن پشتیبانی از کلیدهای تنظیم روشنایی و نور پسزمینه صفحهکلید.
تنظیمات و سفارشیسازی (xfce4-settings)
بهبود بارگذاری تمها برای جلوگیری از لگ و نمایش هشدار برای تمهای ناقص.
پشتیبانی بهتر از تمهای تیره.
مدیریت بهینهتر نمایشگرها، از جمله تنظیم ابعاد و مدیریت پروفایلهای مختلف.
🔹پانل (xfce4-panel)
تنظیم عرض حاشیه پانل.
اضافه شدن ویژگی نمایش دسکتاپ با حرکت ماوس روی آیکون مربوطه.
پشتیبانی از حالتهای مختلف نمایش ساعت (دیجیتال، آنالوگ و LCD).
🔹بهبودهای کلی
رفع مشکلات مقیاسگذاری برای آیکونها در نمایشگرهای HiDPI.
بهبود عملکرد جستجوی فایل و مدیریت آرایش آیکونها در دسکتاپ.
افزایش پایداری و کاهش لگ در عملیاتهای سنگین.
—————————————
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
🔰ویژگیهای جدید میزکار Xfce 4.20
🔹پشتیبانی از Wayland (آزمایشی)
بیشتر اجزای Xfce اکنون از Wayland پشتیبانی میکنند، بدون نیاز به XWayland.
یک کتابخانه جدید به نام "libxfce4windowing" معرفی شده است.
برای استفاده از Wayland نیاز به نصب مدیرهای پنجرهای مانند Labwc و Wayfire دارید.
محدودیتها: برخی ویژگیها مانند تنظیمات صفحهکلید، موس، و گرفتن اسکرینشات به صورت کامل در Wayland پشتیبانی نمیشوند.
🔹بهبودهای Thunar (مدیر فایل)
اضافه شدن دکمههای جدید در نوار ابزار (مانند باز کردن تب یا پنجره جدید).
پشتیبانی از لینکهای سمبلیک در موقعیتهای از راه دور.
بهبود عملکرد برای مدیریت فایلهای حجیم.
قابلیت نمایش فایلهای مخفی در نوار وضعیت و استفاده از آیکونهای نمادین و رنگی.
اضافه شدن حالت Split View با میانبرهای جدید برای جابجایی بین پنجرهها.
🔹مدیر انرژی (xfce4-power-manager)
سادهسازی مدیریت قفل صفحه و پشتیبانی از حالت خواب هیبریدی.
اضافه شدن پشتیبانی از کلیدهای تنظیم روشنایی و نور پسزمینه صفحهکلید.
تنظیمات و سفارشیسازی (xfce4-settings)
بهبود بارگذاری تمها برای جلوگیری از لگ و نمایش هشدار برای تمهای ناقص.
پشتیبانی بهتر از تمهای تیره.
مدیریت بهینهتر نمایشگرها، از جمله تنظیم ابعاد و مدیریت پروفایلهای مختلف.
🔹پانل (xfce4-panel)
تنظیم عرض حاشیه پانل.
اضافه شدن ویژگی نمایش دسکتاپ با حرکت ماوس روی آیکون مربوطه.
پشتیبانی از حالتهای مختلف نمایش ساعت (دیجیتال، آنالوگ و LCD).
🔹بهبودهای کلی
رفع مشکلات مقیاسگذاری برای آیکونها در نمایشگرهای HiDPI.
بهبود عملکرد جستجوی فایل و مدیریت آرایش آیکونها در دسکتاپ.
افزایش پایداری و کاهش لگ در عملیاتهای سنگین.
—————————————
📌نویسنده: حسین سیلانی
📌منبع : آکادمی کندوی دانش
https://learninghive.ir
Forwarded from DevTwitter | توییت برنامه نویسی
ابزار innotop یک realtime مانیتورینگ شبیه به دستور top برای MySQL/MariaDB است.
ابزار innotopgo همان innotop که با Go باز نویسی شده
https://github.com/innotop/innotop
https://github.com/lefred/innotopgo
@DevTwitter | <MehrdadLinux />
ابزار innotopgo همان innotop که با Go باز نویسی شده
https://github.com/innotop/innotop
https://github.com/lefred/innotopgo
@DevTwitter | <MehrdadLinux />
Forwarded from IRCF | اینترنت آزاد برای همه
#هشدار
توسط کانفیگ فرگمنت GFW-knocker به سرور VPN وصل نمیشید و صرفا فیلترینگ یوتیوب، توییتر و اینستاگرام رو بیاثر میکنه. بنابراین آیپی شما، آیپی ایران خودتون هست و اگر قصد مخفینگهداشتن هویتتون رو دارین باید به ایننکته توجه داشته باشین. همونطور که در استفاده از واتساپ که دیروز کمر رستم رو براش شکستن و رفع فیلتر کردن، بههمین مساله لازمه دقت کنید!
🔍 ircf.space
@ircfspace
توسط کانفیگ فرگمنت GFW-knocker به سرور VPN وصل نمیشید و صرفا فیلترینگ یوتیوب، توییتر و اینستاگرام رو بیاثر میکنه. بنابراین آیپی شما، آیپی ایران خودتون هست و اگر قصد مخفینگهداشتن هویتتون رو دارین باید به ایننکته توجه داشته باشین. همونطور که در استفاده از واتساپ که دیروز کمر رستم رو براش شکستن و رفع فیلتر کردن، بههمین مساله لازمه دقت کنید!
🔍 ircf.space
@ircfspace
Forwarded from CleverDevs (Mammad)
اگه پروژه اوپن سورسی توسعه میدید که دوست دارید بیشتر دیده بشه میتونید برام بفرستید تا توی کانال معرفی کنم
اگه نخواستید تو کانال باشه میتونید تو کامنتای همین پست هم بفرستید
پ.ن توضیحات کامل بدید دربارش
#openSource
@CleverDevs - @CleverDevsGp
اگه نخواستید تو کانال باشه میتونید تو کامنتای همین پست هم بفرستید
پ.ن توضیحات کامل بدید دربارش
#openSource
@CleverDevs - @CleverDevsGp
Forwarded from Python Hints
تهران امروز
من میگم تهران، شما بخون ایران.
آخوند جز نابودی
هیچ چیزی برای ما نداره ...
من میگم تهران، شما بخون ایران.
آخوند جز نابودی
هیچ چیزی برای ما نداره ...
Forwarded from DevTwitter | توییت برنامه نویسی
This media is not supported in your browser
VIEW IN TELEGRAM
هر روز ابزارها و SDK های جدید میاد برای راحت کردن و بخصوص سریع تر کردن انواع مدلهایAI از جمله LLM و VLM و ASR و TTS و ...
یکی از این ابزارها Nexa SDK ست که بخصوص برای on-device inference / لوکال و روی انواع device ها استفاده میشه.
واقعا سریع بود، البته بخاطر اینکه مدلها خیلی quantized شدن بعضیهاشون کیفیتشون نسبت به مدلهای اصلی یک کمی پایینتره. ولی راحت میتونید روی لپتاپ همه مدلها را اجرا کنید برای انواع کارها مثل:
- text generation, image generation, vision-language models (VLM), Audio Language Model, auto-speech-recognition (ASR), and text-- to-speech (TTS)
Github: github.com/NexaAI/nexa-sdk
@DevTwitter | <Mehdi Allahyari/>
یکی از این ابزارها Nexa SDK ست که بخصوص برای on-device inference / لوکال و روی انواع device ها استفاده میشه.
واقعا سریع بود، البته بخاطر اینکه مدلها خیلی quantized شدن بعضیهاشون کیفیتشون نسبت به مدلهای اصلی یک کمی پایینتره. ولی راحت میتونید روی لپتاپ همه مدلها را اجرا کنید برای انواع کارها مثل:
- text generation, image generation, vision-language models (VLM), Audio Language Model, auto-speech-recognition (ASR), and text-- to-speech (TTS)
Github: github.com/NexaAI/nexa-sdk
@DevTwitter | <Mehdi Allahyari/>
Forwarded from DevTwitter | توییت برنامه نویسی
#کوته_نیوز
#گوز_گوز
به زودی در مورد رفع فیلتر تلگرام، اینستاگرام و یوتیوب تصمیم گیری میشود.
@DevTwitter
#گوز_گوز
به زودی در مورد رفع فیلتر تلگرام، اینستاگرام و یوتیوب تصمیم گیری میشود.
@DevTwitter
Forwarded from کانال اطلاعرسانی توزیع پارچ
مهاجرت به سیستمدی بوت توی پارچ چه مزایایی رو به همراه خواهد داشت؟
سیستمدی بوت باعث میشه تا شناختهشدن بوت لودر توی دستگاههایی مثل دستگاههای اپل و همینطور برخی از برند های لپتاپ که در شناختن گراب مشکل دارن، سادهتر بشه.
همینطور سرعت بوت بالاتری رو نسبت به گراب و احتمال خرابی کمتری رو نسبت به گراب داره.
در انتها یک خبر خوب برای دوستانی که پارچ رو به صورت دوالبوت با مایکروسافت ویندوز استفاده میکنن، در رلیز بعدی پارچ شما صرفاً با اجرای boot to windows از منوی برنامهها مستقیماً به ویندوز بوت میشید. (از ویژگیهای سیستمدی بوت ساده تر کردن این مدل فرآیند هاست.)
کریسمس رو به کاربران مسیحی توزیع پارچ تبریک میگیم.
با احترام
تیم توسعه توزیع پارچ
@ParchLinux
سیستمدی بوت باعث میشه تا شناختهشدن بوت لودر توی دستگاههایی مثل دستگاههای اپل و همینطور برخی از برند های لپتاپ که در شناختن گراب مشکل دارن، سادهتر بشه.
همینطور سرعت بوت بالاتری رو نسبت به گراب و احتمال خرابی کمتری رو نسبت به گراب داره.
در انتها یک خبر خوب برای دوستانی که پارچ رو به صورت دوالبوت با مایکروسافت ویندوز استفاده میکنن، در رلیز بعدی پارچ شما صرفاً با اجرای boot to windows از منوی برنامهها مستقیماً به ویندوز بوت میشید. (از ویژگیهای سیستمدی بوت ساده تر کردن این مدل فرآیند هاست.)
کریسمس رو به کاربران مسیحی توزیع پارچ تبریک میگیم.
با احترام
تیم توسعه توزیع پارچ
@ParchLinux
Forwarded from Nafas's stuffs
امشب تونستم اولین اکستنشن vscode ام رو پابلیش کنم و این تجربه باحالی برام بود
حالا اکستنشن چیه؟
شما بهش کد CSS میدی و بهت یوتیلیتی کلاس تیلویند میده, اسمش csstail هست و الان میتونین توی market place وی اس کد ببینیدش
اینم لینک ریپازیتوری اگه مایل به کانتریبیوت بودین:
https://github.com/nafasebra/csstail
حالا اکستنشن چیه؟
شما بهش کد CSS میدی و بهت یوتیلیتی کلاس تیلویند میده, اسمش csstail هست و الان میتونین توی market place وی اس کد ببینیدش
اینم لینک ریپازیتوری اگه مایل به کانتریبیوت بودین:
https://github.com/nafasebra/csstail
GitHub
GitHub - nafasebra/csstail: 💥 CSSTail is a VSCode extension for convert CSS styles to TailwindCSS utility classes. Select, Right…
💥 CSSTail is a VSCode extension for convert CSS styles to TailwindCSS utility classes. Select, Right-click and boom! - nafasebra/csstail
Forwarded from code2 - تکنولوژی و فناوری (Mahdi Taleghani)
این شرکت توی لیندکین آشنا شدم و برای یه موقعیت قرار شد task رو انجام بدم. یه کار خیلی جالبی که دارن این که ریسورس های مختلف برای job role هاشون رو لیست کردن. به نظرم خیلی کار جالب و قشنگی هست.
منابع هم انصافاً دستچین و خوب بود 👌
https://payever.org/careers/technical-faq
منابع هم انصافاً دستچین و خوب بود 👌
https://payever.org/careers/technical-faq
Forwarded from Md Daily (Mahan)
خلاصه بخوام بگم، تو این مجموعه، یه سیستم کوتاه کننده لینک (همون URL) رو با استفاده از معماری میکروسرویسها، gRPC و Go میسازیم و در عین حال چیزای مهمی مثل API Gateways و کش کردن رو هم بررسی میکنیم.
معماری میکروسرویس چیه؟
میکروسرویس یه جور روش طراحی نرمافزاره که توش یه برنامه به یه عالمه سرویس کوچیک و جدا از هم تقسیم میشه که هر کدومشون یه کار خاص رو انجام میدن و با بقیه از طریق شبکه و با پروتکلهای سبک مثل HTTP یا gRPC ارتباط برقرار میکنن.
خوبیهای میکروسرویسها:
* مقیاسپذیری: هر سرویس میتونه جداگونه مقیاس پیدا کنه.
* انعطافپذیری: سرویسها میتونن از تکنولوژیها و زبونهای مختلف استفاده کنن.
* تحمل خطا: اگه یه سرویس خراب شه، معمولاً بقیه کارشون مختل نمیشه.
تیمها میتونن سرویسها رو جدا جدا توسعه بدن و منتشر کنن.
کی از میکروسرویس استفاده نکنیم:
وقتی نیاز نیست :) میکروسرویس در ظاهر داره بخش های پروژه رو از هم جدا سازی میکنه و بهتون این امکان رو میده سرویس های مستقل جدا از هم توسعه بدید ولی در عمل داره یه پیچیدگی اضافه تر برای ارتباط سرویس ها بهتون اضافه میکنه.
چرا از API Gateways استفاده می کنیم؟
یه درگاه API در ساده ترین شکل ممکن استفاده بین کاربرا و میکروسرویسهای داخلی شما قرار میگیره. این سرویس همه درخواستهای API که میان رو مدیریت میکنه، اونها رو به سرویسهای درست میفرسته و اگه لازم باشه جوابها رو جمع میکنه.
کارهای اصلی یه درگاه API:
* مسیریابی: درخواستها رو به میکروسرویس درست میفرسته.
* احراز هویت و مجوز: چک میکنه ببینه کیه و اجازه چی داره.
* تبدیل درخواست: درخواستها و جوابها رو به فرمتهای مختلف تبدیل میکنه.
* محدود کردن تعداد درخواستها: جلوی زیاد اومدن درخواستها و خراب شدن سرویسها رو میگیره.
درگاه API در مقابل reverse proxy
این دوتا شبیه همن، ولی فرق دارن:
* هدف: درگاه API برای مدیریت API و هماهنگ کردن میکروسرویسهاست، ولی reverse proxy فقط درخواستهای HTTP رو به سرورهای بکند میفرسته.
* احراز هویت: درگاههای API هویت کاربر رو چک میکنن، ولی reverse proxy معمولاً این کار رو نمیکنه.
* تبدیل درخواست: درگاههای API میتونن درخواستها رو تغییر بدن و جوابها رو جمع کنن، ولی reverse proxy معمولاً درخواستها رو بدون تغییر میفرسته.
* ویژگیهای مخصوص API: درگاههای API قابلیتهایی مثل محدود کردن تعداد درخواستها، کش کردن، و نظارت رو دارن، اما reverse proxy ندارد.
خلاصه که درگاه API خیلی کاملتر و مناسب میکروسرویسهاست، ولی reverse proxy فقط روی فرستادن درخواستها و تقسیم بار تمرکز داره.
چرا gRPC برای میکروسرویسها؟
مفهوم gRPC یک چارچوب RPC با کارایی بالا است که برای سیستمهای توزیعشده مدرن طراحی شده و مزایای قابل توجهی نسبت به APIهای HTTP سنتی ارائه میده. به جای فرمتهای مبتنی بر متن مانند JSON، این چارچوپ از پروتکل بافرها (Protobuf) برای سریالسازی فشرده و کارآمد استفاده میکنه (داده ها را به صورت باینری ارسال و دریافت میکنه) که باعث کاهش پهنای باند و سربار پردازش میشه. gRPC که بر پایه HTTP/2 ساخته شده، از ویژگیهایی مثل چندگانه سازی (multiplexing)، (streaming) و ارتباط با تأخیر کم پشتیبانی میکنه.
برخلاف APIهای REST HTTP استاندارد، gRPC از تایپ ها پشتیبانی میکنه، تولید خودکار کد برای کلاینتها و سرورها به زبانهای مختلف و امنیت داخلی با TLS رو هم فراهم میکنه. این امر gRPC را سریعتر، کارآمدتر و مقیاسپذیرتر میکنه، به ویژه برای میکروسرویسها و سیستمهایی که به ارتباط بین سرویسی کارآمد نیاز دارن.
ساده و خلاصش شده اینکه شما یه فایل به نام .proto ایجاد میکنید و توش تعریف میکنید چه داده هایی قرار ارسال یا دریافت بشه و نوع هرکدوم از داده ها چی هستند بعدش با استفاده از کامپایلر (Protocol Buffer) میاد بسته به زبانی که دارید باهاش برنامه نویسی میکنید فایل های مورد نیاز رو تولید میکنه . یک بخشی از سرویس به عنوان کلاینت و یه بخشی از سرویس به عنوان سرور عمل میکنه. که توی این مثال api getway ما نقش client داره و کوتاه کننده ی لینک نقش server رو بازی میکنه. چطوری؟ جلوتور با مثال بهش می رسیم
جمع بندی:
ما به یه api getway نیاز داریم که کاربر بتونه با استفاده از http بهش متصل بشه و endpoint داشته باشه و درخواست ها را با استفاده از پروتکل grpc به سرویس کوتاه کننده ی لینک برسونه و جواب برگشتی رو به کاربر نشون بده.
🆔 @MdDaily
معماری میکروسرویس چیه؟
میکروسرویس یه جور روش طراحی نرمافزاره که توش یه برنامه به یه عالمه سرویس کوچیک و جدا از هم تقسیم میشه که هر کدومشون یه کار خاص رو انجام میدن و با بقیه از طریق شبکه و با پروتکلهای سبک مثل HTTP یا gRPC ارتباط برقرار میکنن.
خوبیهای میکروسرویسها:
* مقیاسپذیری: هر سرویس میتونه جداگونه مقیاس پیدا کنه.
* انعطافپذیری: سرویسها میتونن از تکنولوژیها و زبونهای مختلف استفاده کنن.
* تحمل خطا: اگه یه سرویس خراب شه، معمولاً بقیه کارشون مختل نمیشه.
تیمها میتونن سرویسها رو جدا جدا توسعه بدن و منتشر کنن.
کی از میکروسرویس استفاده نکنیم:
وقتی نیاز نیست :) میکروسرویس در ظاهر داره بخش های پروژه رو از هم جدا سازی میکنه و بهتون این امکان رو میده سرویس های مستقل جدا از هم توسعه بدید ولی در عمل داره یه پیچیدگی اضافه تر برای ارتباط سرویس ها بهتون اضافه میکنه.
چرا از API Gateways استفاده می کنیم؟
یه درگاه API در ساده ترین شکل ممکن استفاده بین کاربرا و میکروسرویسهای داخلی شما قرار میگیره. این سرویس همه درخواستهای API که میان رو مدیریت میکنه، اونها رو به سرویسهای درست میفرسته و اگه لازم باشه جوابها رو جمع میکنه.
کارهای اصلی یه درگاه API:
* مسیریابی: درخواستها رو به میکروسرویس درست میفرسته.
* احراز هویت و مجوز: چک میکنه ببینه کیه و اجازه چی داره.
* تبدیل درخواست: درخواستها و جوابها رو به فرمتهای مختلف تبدیل میکنه.
* محدود کردن تعداد درخواستها: جلوی زیاد اومدن درخواستها و خراب شدن سرویسها رو میگیره.
درگاه API در مقابل reverse proxy
این دوتا شبیه همن، ولی فرق دارن:
* هدف: درگاه API برای مدیریت API و هماهنگ کردن میکروسرویسهاست، ولی reverse proxy فقط درخواستهای HTTP رو به سرورهای بکند میفرسته.
* احراز هویت: درگاههای API هویت کاربر رو چک میکنن، ولی reverse proxy معمولاً این کار رو نمیکنه.
* تبدیل درخواست: درگاههای API میتونن درخواستها رو تغییر بدن و جوابها رو جمع کنن، ولی reverse proxy معمولاً درخواستها رو بدون تغییر میفرسته.
* ویژگیهای مخصوص API: درگاههای API قابلیتهایی مثل محدود کردن تعداد درخواستها، کش کردن، و نظارت رو دارن، اما reverse proxy ندارد.
خلاصه که درگاه API خیلی کاملتر و مناسب میکروسرویسهاست، ولی reverse proxy فقط روی فرستادن درخواستها و تقسیم بار تمرکز داره.
چرا gRPC برای میکروسرویسها؟
مفهوم gRPC یک چارچوب RPC با کارایی بالا است که برای سیستمهای توزیعشده مدرن طراحی شده و مزایای قابل توجهی نسبت به APIهای HTTP سنتی ارائه میده. به جای فرمتهای مبتنی بر متن مانند JSON، این چارچوپ از پروتکل بافرها (Protobuf) برای سریالسازی فشرده و کارآمد استفاده میکنه (داده ها را به صورت باینری ارسال و دریافت میکنه) که باعث کاهش پهنای باند و سربار پردازش میشه. gRPC که بر پایه HTTP/2 ساخته شده، از ویژگیهایی مثل چندگانه سازی (multiplexing)، (streaming) و ارتباط با تأخیر کم پشتیبانی میکنه.
برخلاف APIهای REST HTTP استاندارد، gRPC از تایپ ها پشتیبانی میکنه، تولید خودکار کد برای کلاینتها و سرورها به زبانهای مختلف و امنیت داخلی با TLS رو هم فراهم میکنه. این امر gRPC را سریعتر، کارآمدتر و مقیاسپذیرتر میکنه، به ویژه برای میکروسرویسها و سیستمهایی که به ارتباط بین سرویسی کارآمد نیاز دارن.
ساده و خلاصش شده اینکه شما یه فایل به نام .proto ایجاد میکنید و توش تعریف میکنید چه داده هایی قرار ارسال یا دریافت بشه و نوع هرکدوم از داده ها چی هستند بعدش با استفاده از کامپایلر (Protocol Buffer) میاد بسته به زبانی که دارید باهاش برنامه نویسی میکنید فایل های مورد نیاز رو تولید میکنه . یک بخشی از سرویس به عنوان کلاینت و یه بخشی از سرویس به عنوان سرور عمل میکنه. که توی این مثال api getway ما نقش client داره و کوتاه کننده ی لینک نقش server رو بازی میکنه. چطوری؟ جلوتور با مثال بهش می رسیم
جمع بندی:
ما به یه api getway نیاز داریم که کاربر بتونه با استفاده از http بهش متصل بشه و endpoint داشته باشه و درخواست ها را با استفاده از پروتکل grpc به سرویس کوتاه کننده ی لینک برسونه و جواب برگشتی رو به کاربر نشون بده.
🆔 @MdDaily
Forwarded from Md Daily (Mahan)
داشتم فکر میکردم برای این اموزشش رو به صورت ویدیویی توی چنتا قسمت بگیرم.
نظرتون چیه؟
با ویدیویی راحت تر هستید یا همین شکل به صورت متنی جلو بریم.
پ ن :
اگه با ویدیویی موافق هستید پستو لایک کنید
نظرتون چیه؟
با ویدیویی راحت تر هستید یا همین شکل به صورت متنی جلو بریم.
پ ن :
اگه با ویدیویی موافق هستید پستو لایک کنید
Forwarded from IRCF | اینترنت آزاد برای همه