وب‌سرویس مجید

پروژه surging

microsurging/surging

کاربرد:

این موتور میکروسرویس یک چارچوب سبک و با عملکرد بالا برای مدیریت فراخوانی‌های RPC در سیستم‌های توزیع‌شده است. قابلیت پشتیبانی از الگوهای برنامه‌نویسی رویدادمحور و واکنش‌گرا (Reactive) رو داره و برای ساخت سرویس‌های مقیاس‌پذیر و قابل اعتماد مناسب است. همچنین امکان ردیابی فراخوانی‌ها، تشخیص خطا و یکپارچه‌سازی با ابزارهای نظارتی مثل SkyWalking رو فراهم می‌کنه.

در چه شرایطی بهتره استفاده شود؟

وقتی داری یک سیستم میکروسرویسی پیچیده می‌سازی و نیاز به ارتباط کارآمد بین سرویس‌ها داری، این ابزار عالیه. به‌ویژه در محیط‌هایی که پشتیبانی از چندین پروتکل (مثل HTTP، gRPC، MQTT و DNS) و مدیریت بار کاری با الگوریتم‌های مختلف لود بالانسینگ مهمه. همچنین اگر نیاز به نظارت توزیع‌شده و عیب‌یابی در فراخوانی‌ها داری، استفاده از این موتور منطقیه.

چند مثال از موارد استفاده

ساخت پلتفرم‌های تراکنشی مثل سیستم‌های بانکی با قابلیت ردیابی دقیق فراخوانی‌ها

توسعه سرویس‌های IoT که از پروتکل MQTT و UDP استفاده می‌کنن

سیستم‌های چت یا نوتیفیکیشن زنده با استفاده از WebSocket

ادغام سرویس‌های قدیمی با پروتکل‌های مختلف مثل Thrift و DNS

مدیریت ترافیک در پلتفرم‌های بزرگ با استفاده از Consul و ZooKeeper برای ثبت سرویس‌ها

  • ##Microservices
  • ##RPC
  • ##ReactiveProgramming
  • ##EventDriven
  • ##LoadBalancing
  • ##ServiceGovernance
  • ##DistributedTracing
  • ##SkyWalking
  • ##Consul
  • ##ZooKeeper