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

پروژه dynamic-tp

dromara/dynamic-tp

کاربرد:

این پروژه یک فریم‌ورک سبک‌وزن برای مدیریت پویل ترد (Thread Pool) در برنامه‌های جاوا است که امکان تغییر پویا تنظیمات ترد پول رو بدون نیاز به ری‌استارت برنامه فراهم می‌کنه. همچنین دارای قابلیت مانیتورینگ و هشدار در زمان بروز مشکل (مثل افزایش صف یا افزایش ترد‌های فعال) هست. این ابزار با پیاده‌سازی از SPI، امکان اتصال به مراکز کانفیگ مختلف مثل Nacos, Apollo, Zookeeper, Consul و Etcd رو فراهم کرده و می‌تونه به راحتی با سیستم‌های توزیع‌شده یکپارچه شود.

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

وقتی که تو یک سیستم توزیع‌شده کار می‌کنی و نیاز داری تنظیمات ترد پول رو به صورت مرکزی و پویا مدیریت کنی، این ابزار عالیه!

مخصوصاً در شرایطی که:

- ترافیک سرویس‌ها ناگهانی افزایش پیدا می‌کنه (مثل ترافیک بالا در فروشگاه آنلاین)

- می‌خوای بدون داون‌تایم، تعداد ترد‌ها یا صف‌ها رو تنظیم کنی

- می‌خوای از بروز OOM یا تهدید عملکرد با هشدار زودهنگام جلوگیری کنی

- با میان‌افزارهایی مثل RabbitMQ, Kafka, Tomcat کار می‌کنی و می‌خوای ترد پول اون‌ها رو هم مدیریت کنی

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

یک سرویس ایمیل‌سندر داری که در ساعات شلوغ، صف ایمیل می‌پره بالا — با dynamic-tp می‌تونی به صورت خودکار تعداد ترد‌ها رو افزایش بدی.

تو یک سیستم پرداخت، می‌خوای از بروز تاخیر در پردازش تراکنش‌ها با هشدار زمان واقعی جلوگیری کنی — این ابزار می‌تونه اطلاع‌رسانی کنه.

مدیریت ترد پول Tomcat یا Jetty رو از طریق Nacos تغییر بدی بدون استاپ کردن سرویس.

یکپارچه‌سازی با Kafka Listener و تنظیم پویای تعداد مصرف‌کننده‌ها بر اساس بار سیستم.

  • ##dynamic
  • ##Java
  • ##Microservices
  • ##Nacos
  • ##Apollo
  • ##Zookeeper
  • ##Consul
  • ##Monitoring
  • ##Alerting
  • ##SPI