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

پروژه pg_eventserv

CrunchyData/pg_eventserv

این یک سرور کوچک نوشته‌شده به زبان Go است که وظیفه انتقال رویدادهای LISTEN/NOTIFY در پایگاه داده PostgreSQL را به طور زنده از طریق WebSocket بر عهده دارد.

کاربرد:

این ابزار برای موقعیت‌هایی مناسب است که نیاز به واکنش سریع به تغییرات دیتابیس دارید، بدون اینکه مجبور باشید به صورت دوره‌ای دیتابیس را پرس‌وجو کنید. مثلاً زمانی که یک رکورد جدید اضافه می‌شود یا یک وضعیت تغییر می‌کند، سرور این رویداد را فوراً از طریق WebSocket به کلاینت‌ها اطلاع می‌دهد.

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

وقتی از PostgreSQL استفاده می‌کنید و نیاز به سیستم اطلاع‌رسانی بلادرنگ دارید، مثل:

- نمایش آپدیت‌های زنده در داشبوردها

- سیستم‌های چت یا هشدارهای مبتنی بر رویداد دیتابیس

- هماهنگی بین سرویس‌های میکروسرویسی بدون نیاز به صف پیام

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

- وقتی یک کاربر وارد سیستم می‌شود، دیتابیس یک رویداد notify می‌فرستد و سرور آن را به کلاینت‌های متصل از طریق WebSocket ارسال می‌کند.

- یک صف پردازش پس‌زمینه (background job) پس از اتمام کار، یک notify ارسال می‌کند و رابط کاربری بلافاصله آپدیت می‌شود.

- سیستم نظارت بر وضعیت سرورها که با تغییر وضعیت در دیتابیس، کاربر را به صورت لحظه‌ای آگاه می‌کند.

  • ##realtime
  • ##postgresql
  • ##websocket
  • ##golang
  • ##event
  • ##microservices
  • ##live
  • ##database
  • ##CrunchyData
  • ##pg