$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?>$lang['tuto'] = "ಟ್ಯುಟೋರಿಯಲ್"; ?> ಬೃಹತ್

ಬೃಹತ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು NestJS ನಲ್ಲಿ ಪ್ರಯತ್ನವಿಲ್ಲದ ಅಧಿಸೂಚನೆಗಳು

Temp mail SuperHeros
ಬೃಹತ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು NestJS ನಲ್ಲಿ ಪ್ರಯತ್ನವಿಲ್ಲದ ಅಧಿಸೂಚನೆಗಳು
ಬೃಹತ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು NestJS ನಲ್ಲಿ ಪ್ರಯತ್ನವಿಲ್ಲದ ಅಧಿಸೂಚನೆಗಳು

ಬಲ್ಕ್ ಇನ್ಸರ್ಟ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಸುವ್ಯವಸ್ಥಿತ ಅಧಿಸೂಚನೆ ವಿತರಣೆ

ಇಲಾಖೆ, ಗ್ರೇಡ್ ಅಥವಾ ಅನುಭವದಂತಹ ವಿವಿಧ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ ನೂರಾರು ಉದ್ಯೋಗಿಗಳಿಗೆ ವೋಚರ್‌ಗಳನ್ನು ನಿಯೋಜಿಸುವ ವ್ಯವಸ್ಥೆಯನ್ನು ನೀವು ನಿರ್ವಹಿಸುತ್ತಿದ್ದೀರಿ ಎಂದು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ. ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಅಡೆತಡೆಗಳನ್ನು ಉಂಟುಮಾಡದೆ ಪ್ರತಿ ಉದ್ಯೋಗಿಗೆ ಸಮರ್ಥವಾಗಿ ತಿಳಿಸುವುದು ಒಂದು ದೊಡ್ಡ ಕಾರ್ಯವಾಗಿದೆ. 🔔 ನೀವು ಸಾಕೆಟ್‌ಗಳು ಅಥವಾ ಪೋಲಿಂಗ್ ಕಾರ್ಯವಿಧಾನಗಳ ಸಂಕೀರ್ಣತೆಯನ್ನು ತಪ್ಪಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವಾಗ ಈ ಸವಾಲು ಇನ್ನಷ್ಟು ಬೆದರಿಸುವುದು.

ಅಂತಹ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ, ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳು (SSE) ಪ್ರಬಲವಾದ ಆದರೆ ನೇರವಾದ ಪರಿಹಾರವಾಗಿ ಹೊರಹೊಮ್ಮುತ್ತವೆ. ನಿಮ್ಮ NestJS ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ SSE ಅನ್ನು ನಿಯಂತ್ರಿಸುವ ಮೂಲಕ, ಡೈನಾಮಿಕ್ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ ನಿರ್ದಿಷ್ಟ ಉದ್ಯೋಗಿಗಳ ಗುಂಪುಗಳಿಗೆ ತಿಳಿಸಲು ನೀವು ನೈಜ-ಸಮಯದ ಸಂವಹನ ಚಾನಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಮಾರಾಟ ವಿಭಾಗಕ್ಕೆ ವೋಚರ್‌ಗಳನ್ನು ಹಂಚಿದಾಗ, ನಿಖರವಾದ ಮತ್ತು ಅರ್ಥಪೂರ್ಣವಾದ ನವೀಕರಣಗಳನ್ನು ಖಾತ್ರಿಪಡಿಸುವ ಮೂಲಕ ಆ ಉದ್ಯೋಗಿಗಳು ಮಾತ್ರ ಅಧಿಸೂಚನೆಗಳನ್ನು ಸ್ವೀಕರಿಸಬೇಕು.

ಈ ಲೇಖನದ ಮೂಲಕ, NestJS ಅನ್ನು ಬಳಸಿಕೊಂಡು ಬೃಹತ್ ಅಳವಡಿಕೆ ಪ್ರಕ್ರಿಯೆಗೆ SSE ಅನ್ನು ಹೇಗೆ ಸಂಯೋಜಿಸುವುದು ಎಂಬುದನ್ನು ಪ್ರದರ್ಶಿಸುವ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಯಲ್ಲಿ ನಾವು ಧುಮುಕುತ್ತೇವೆ. ನಾವು ಜೀವನಚಕ್ರದ ಮೂಲಕ ನಡೆಯುತ್ತೇವೆ, ಬ್ಯಾಕೆಂಡ್‌ನಲ್ಲಿ ಈವೆಂಟ್‌ಗಳನ್ನು ಪ್ರಚೋದಿಸುವುದರಿಂದ ಹಿಡಿದು ಮುಂಭಾಗದಲ್ಲಿ ನವೀಕರಣಗಳನ್ನು ಆಲಿಸುವವರೆಗೆ, ಎಲ್ಲವೂ ತಡೆರಹಿತ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಾಪಾಡಿಕೊಳ್ಳುವಾಗ. 💼

ನೀವು HR ಟೂಲ್ ಅಥವಾ ಹಣಕಾಸು ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿರಲಿ, ಈ ವರ್ಕ್‌ಫ್ಲೋ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ನೈಜ ಸಮಯದಲ್ಲಿ ವೈಯಕ್ತೀಕರಿಸಿದ ಅಧಿಸೂಚನೆಗಳನ್ನು ತಲುಪಿಸಲು ನಿಮಗೆ ಅಧಿಕಾರ ನೀಡುತ್ತದೆ. SSE ಯ ಸರಳತೆ ಮತ್ತು ಅದು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್‌ನ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಹೇಗೆ ಹೆಚ್ಚಿಸಬಹುದು ಎಂಬುದನ್ನು ನಾವು ಬಿಚ್ಚಿಡೋಣ.

ಆಜ್ಞೆ ಬಳಕೆಯ ಉದಾಹರಣೆ
@Sse NestJS ಡೆಕೋರೇಟರ್ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು (SSE) ಎಂಡ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, @Sse('ವೋಚರ್ಡ್-ನೌಕರ') ಕ್ಲೈಂಟ್‌ಗೆ ನೈಜ-ಸಮಯದ ನವೀಕರಣಗಳನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಲು ಅಂತಿಮ ಬಿಂದುವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.
fromEvent RxJS ನಿಂದ ಹೊರಸೂಸಲ್ಪಟ್ಟ ಈವೆಂಟ್ ಅನ್ನು ಪರಿವರ್ತಿಸುವ ಒಂದು ಕಾರ್ಯ ಈವೆಂಟ್ ಎಮಿಟರ್ ಗಮನಿಸಬಹುದಾದ ಸ್ಟ್ರೀಮ್ ಆಗಿ. ಉದಾಹರಣೆಗೆ, ಈವೆಂಟ್‌ನಿಂದ(this.eventEmitter, 'ನಂತರ ಸೇರಿಸಿದ-ವೋಚರ್') ನಿರ್ದಿಷ್ಟ ಘಟನೆಯನ್ನು ಆಲಿಸುತ್ತದೆ.
Observable ಅಸಮಕಾಲಿಕ ಡೇಟಾ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು RxJS ನಿಂದ ಒಂದು ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. NestJS ನಲ್ಲಿ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಇದು ಅತ್ಯಗತ್ಯ ಗಮನಿಸಬಹುದಾದ<MessageEvent>.
@InjectQueue Bull ನಂತಹ ಲೈಬ್ರರಿಗಳೊಂದಿಗೆ ಉದ್ಯೋಗ ಸಂಸ್ಕರಣೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಉಪಯುಕ್ತವಾದ NestJS ಡೆಕೋರೇಟರ್ ಸರದಿ ನಿದರ್ಶನವನ್ನು ಇಂಜೆಕ್ಟ್ ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, @InjectQueue('allotVoucher') 'allotVoucher' ಹೆಸರಿನ ಸರತಿಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ.
WorkerHost NestJS ನಲ್ಲಿ ಕಸ್ಟಮ್ ಜಾಬ್ ಪ್ರೊಸೆಸರ್‌ಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಅನುಮತಿಸುವ BullMQ ನಿಂದ ಮೂಲ ವರ್ಗ. ಉದಾಹರಣೆಗೆ, ದಿ AllotVoucherConsumer ವರ್ಗ ವಿಸ್ತರಿಸುತ್ತದೆ ವರ್ಕರ್ ಹೋಸ್ಟ್ ನಿರ್ದಿಷ್ಟ ಕೆಲಸಗಳನ್ನು ನಿರ್ವಹಿಸಲು.
@OnWorkerEvent ಕ್ಯೂ ಕೆಲಸದ ನಿರ್ದಿಷ್ಟ ಜೀವನಚಕ್ರದ ಘಟನೆಗಳನ್ನು ಕೇಳಲು ಅಲಂಕಾರಿಕರು ಬಳಸುತ್ತಾರೆ. ಉದಾಹರಣೆಗೆ, @OnWorkerEvent('ಪೂರ್ಣಗೊಂಡಿದೆ') ಕೆಲಸದ "ಪೂರ್ಣಗೊಂಡ" ಈವೆಂಟ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
createMany ಪ್ರಿಸ್ಮಾ ಆಜ್ಞೆಯು ಅನೇಕ ದಾಖಲೆಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಡೇಟಾಬೇಸ್‌ಗೆ ಸೇರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, prisma.Employee Voucher.createMany ಒಂದೇ ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ ಎಲ್ಲಾ ಉದ್ಯೋಗಿಗಳ ವೋಚರ್‌ಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ.
EventSource ಬ್ಯಾಕೆಂಡ್‌ನಿಂದ ಸರ್ವರ್-ಸೆಂಟ್ ಈವೆಂಟ್‌ಗಳನ್ನು (SSE) ಸ್ವೀಕರಿಸಲು JavaScript API. ಉದಾಹರಣೆಗೆ, ಹೊಸ EventSource('http://localhost/vouchered-employee') ಸ್ಟ್ರೀಮಿಂಗ್ ಡೇಟಾಕ್ಕಾಗಿ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ.
add ಕ್ಯೂಗೆ ಹೊಸ ಕೆಲಸವನ್ನು ಸೇರಿಸಲು ಬುಲ್ ಕ್ಯೂಗಳಿಂದ ಒಂದು ವಿಧಾನ. ಉದಾಹರಣೆಗೆ, allotVoucherQueue.add('ಅಲಾಟ್-ವೋಚರ್', ಜಾಬ್‌ಡೇಟಾ) ಸಂಸ್ಕರಣೆಗಾಗಿ ಕೆಲಸವನ್ನು ನಿಗದಿಪಡಿಸುತ್ತದೆ.
@OnEvent ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ಹೊರಸೂಸುವ ನಿರ್ದಿಷ್ಟ ಈವೆಂಟ್‌ಗಳನ್ನು ಆಲಿಸುವ NestJS ಡೆಕೋರೇಟರ್. ಉದಾಹರಣೆಗೆ, @OnEvent('ಆಫ್ಟರ್-ಹಂಚಿಕೆ-ವೋಚರ್') ಈ ಘಟನೆಯನ್ನು ಹೊರಸೂಸಿದಾಗ ಒಂದು ವಿಧಾನವನ್ನು ಪ್ರಚೋದಿಸುತ್ತದೆ.

ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳು ಮತ್ತು ಕ್ಯೂಗಳೊಂದಿಗೆ ಸಮರ್ಥ ಅಧಿಸೂಚನೆಗಳು

ಒದಗಿಸಿದ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ವೋಚರ್ ದಾಖಲೆಗಳನ್ನು ಡೇಟಾಬೇಸ್‌ಗೆ ದೊಡ್ಡ ಪ್ರಮಾಣದಲ್ಲಿ ಸೇರಿಸಿದ ನಂತರ ಉದ್ಯೋಗಿಗಳಿಗೆ ನೈಜ-ಸಮಯದ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸುವ ವ್ಯವಸ್ಥೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ. ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ವೋಚರ್ ಕಂಟ್ರೋಲರ್ ಅನ್ನು ನಿಯೋಜಿಸಿ, ಇದು ವೋಚರ್ ಹಂಚಿಕೆ ಕಾರ್ಯಗಳನ್ನು ರಚಿಸಲು ಅಂತಿಮ ಬಿಂದುವನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ. ಕಾರ್ಯವನ್ನು ರಚಿಸಿದಾಗ, ಅದು ಹೆಸರಿನ ಈವೆಂಟ್ ಅನ್ನು ಹೊರಸೂಸುತ್ತದೆ ನಂತರ-ಹಂಚಿಕೆ-ವೋಚರ್. ಸಿಸ್ಟಮ್ ಈವೆಂಟ್-ಚಾಲಿತ ಮತ್ತು ಮಾಡ್ಯುಲರ್ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ನಂತರದ ಹಂತಗಳನ್ನು ಪ್ರಚೋದಿಸಲು ಈ ಈವೆಂಟ್ ಅತ್ಯಗತ್ಯ. ಈ ವಿನ್ಯಾಸವು ಕಾಳಜಿಗಳ ಸ್ಪಷ್ಟವಾದ ಪ್ರತ್ಯೇಕತೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ವ್ಯವಸ್ಥೆಯನ್ನು ಹೆಚ್ಚು ನಿರ್ವಹಿಸಬಲ್ಲ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ಮಾಡುತ್ತದೆ. 🎯

ಸೇವಾ ಪದರದಲ್ಲಿ, ದಿ ವೋಚರ್ ಸೇವೆಯನ್ನು ನಿಯೋಜಿಸಿ BullMQ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಸರತಿಯಲ್ಲಿರುವ ಕಾರ್ಯಗಳಿಗಾಗಿ ತರ್ಕವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ. ಸ್ವೀಕರಿಸಿದ ನಂತರ ನಂತರ-ಹಂಚಿಕೆ-ವೋಚರ್ ಈವೆಂಟ್, ಇದು ಹೆಸರಿನ ಕ್ಯೂಗೆ ಕೆಲಸವನ್ನು ಸೇರಿಸುತ್ತದೆ ಹಂಚಿಕೆ ಚೀಟಿ. ಈ ಸರತಿಯು ಅಸಮಕಾಲಿಕ ಸಂಸ್ಕರಣೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ದೊಡ್ಡ ಡೇಟಾಸೆಟ್‌ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗಲೂ ಸಿಸ್ಟಮ್ ಸ್ಪಂದಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಮಾರಾಟ ವಿಭಾಗದಲ್ಲಿ 200 ಉದ್ಯೋಗಿಗಳಿಗೆ ವೋಚರ್‌ಗಳನ್ನು ನಿಯೋಜಿಸಿದರೆ, ಕಾರ್ಯಾಚರಣೆಯು ಇತರ ವಿನಂತಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವುದಿಲ್ಲ ಎಂದು ಕ್ಯೂ ಖಚಿತಪಡಿಸುತ್ತದೆ. ಸರದಿಯ ಸಂರಚನೆಯು ಅಂತಹ ಆಯ್ಕೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಸಂಪೂರ್ಣ ತೆಗೆದುಹಾಕಿ ಕೆಲಸ ಪೂರ್ಣಗೊಂಡ ನಂತರ ರೆಡಿಸ್ ಅನ್ನು ಸ್ವಚ್ಛವಾಗಿಡಲು.

ಸರದಿಯಲ್ಲಿ ಕೆಲಸಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲಾಗುತ್ತದೆ AllotVoucherConsumer ವರ್ಗ. ಇಲ್ಲಿ, ಸಂಬಂಧಿತ ಉದ್ಯೋಗಿಗಳನ್ನು ಗುರುತಿಸುವ ಮತ್ತು ವೋಚರ್ ದಾಖಲೆಗಳನ್ನು ಡೇಟಾಬೇಸ್‌ಗೆ ಸೇರಿಸುವ ತರ್ಕವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ. ಪ್ರಿಸ್ಮಾ ಆಜ್ಞೆ ಅನೇಕ ರಚಿಸಿ ದಾಖಲೆಗಳನ್ನು ಬ್ಯಾಚ್-ಇನ್ಸರ್ಟ್ ಮಾಡಲು ಬಳಸಲಾಗುತ್ತದೆ ಉದ್ಯೋಗಿ ಚೀಟಿ ಟೇಬಲ್, ಇದು ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ಹೊಂದುವಂತೆ ಮಾಡಲಾಗಿದೆ. ಡೇಟಾಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಯು ಪೂರ್ಣಗೊಂಡ ನಂತರ, ಚಂದಾದಾರರಿಗೆ ತಿಳಿಸಲು ಮತ್ತೊಂದು ಈವೆಂಟ್ ಅನ್ನು ಹೊರಸೂಸಲಾಗುತ್ತದೆ. ಈ ಈವೆಂಟ್ ಬಲ್ಕ್ ಅಳವಡಿಕೆಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಿದ ನಂತರ ಮಾತ್ರ ಉದ್ಯೋಗಿಗಳಿಗೆ ಸೂಚನೆ ನೀಡಲಾಗುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ಅಧಿಸೂಚನೆ ವ್ಯವಸ್ಥೆಗೆ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಸೇರಿಸುತ್ತದೆ. 🌟

ಮುಂಭಾಗದಲ್ಲಿ, ರಿಯಾಕ್ಟ್ ಘಟಕವು ಸರ್ವರ್-ಕಳುಹಿಸಿದ ಈವೆಂಟ್‌ಗಳನ್ನು ಒಂದು ಮೂಲಕ ಆಲಿಸುತ್ತದೆ ಈವೆಂಟ್ಸೋರ್ಸ್. ಉದ್ಯೋಗಿಗಳಿಗೆ ಸೂಚಿಸಿದಂತೆ, ಪುಟ ರಿಫ್ರೆಶ್ ಅಗತ್ಯವಿಲ್ಲದೇ UI ನಲ್ಲಿ ಅವರ ವಿವರಗಳನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ನವೀಕರಿಸಲಾಗುತ್ತದೆ. ಈ ವಿಧಾನವು ತಡೆರಹಿತ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಲೈವ್ ಸ್ಪೋರ್ಟ್ಸ್ ಸ್ಕೋರ್‌ಗಳು ಅಥವಾ ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ ಅಧಿಸೂಚನೆಗಳಂತಹ ಆಧುನಿಕ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ಕಂಡುಬರುವ ನೈಜ-ಸಮಯದ ನವೀಕರಣಗಳಿಗೆ ಹೋಲುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, HR ವಿಭಾಗದಲ್ಲಿನ ಉದ್ಯೋಗಿಗಳು ಮಾರಾಟಕ್ಕಾಗಿ ಉದ್ದೇಶಿಸಲಾದ ನವೀಕರಣಗಳನ್ನು ನೋಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಬ್ಯಾಕೆಂಡ್ ಹಂಚಿಕೆ ಮಾನದಂಡಗಳ ಆಧಾರದ ಮೇಲೆ ಈವೆಂಟ್‌ಗಳನ್ನು ನಿಖರವಾಗಿ ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ. ಈ ನಿರ್ದಿಷ್ಟತೆಯು ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಪ್ರಸ್ತುತತೆ ಎರಡನ್ನೂ ಹೆಚ್ಚಿಸುತ್ತದೆ, ಬಳಕೆದಾರ-ಕೇಂದ್ರಿತ ವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸುತ್ತದೆ. 🖥️

NestJS ನಲ್ಲಿ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳೊಂದಿಗೆ (SSE) ಬೃಹತ್ ಪ್ರಮಾಣದಲ್ಲಿ ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತಿದೆ

ಈ ಪರಿಹಾರವು ಬೃಹತ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಪ್ರಿಸ್ಮಾ ಮತ್ತು ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳೊಂದಿಗೆ (SSE) NestJS ಅನ್ನು ಬಳಸುವ ಬ್ಯಾಕೆಂಡ್ ವಿಧಾನವನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ಇದು ಈವೆಂಟ್-ಚಾಲಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ ಮತ್ತು ಕ್ಯೂಯಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ.

// Backend: AllocateVoucherController
import { Controller, Post, Body, Sse, OnEvent } from '@nestjs/common';
import { AllocateVoucherService } from './allocate-voucher.service';
import { EventEmitter2 } from '@nestjs/event-emitter';
import { Observable } from 'rxjs';
import { map, fromEvent } from 'rxjs';
@Controller('allocate-voucher')
export class AllocateVoucherController {
  constructor(
    private readonly allocateVoucherService: AllocateVoucherService,
    private readonly eventEmitter: EventEmitter2
  ) {}
  @Post()
  async create(@Body() createDto: any) {
    const result = await this.allocateVoucherService.create(createDto);
    return result;
  }
  @Sse('vouchered-employee')
  updatedEmployeeEvent(): Observable<MessageEvent> {
    return fromEvent(this.eventEmitter, 'after-added-voucher').pipe(
      map((data) => new MessageEvent('after-added-voucher', { data })),
    );
  }
}

NestJS ಮತ್ತು ರಿಯಾಕ್ಟ್ ಬಳಸಿಕೊಂಡು ಬಲ್ಕ್ ಇನ್ಸರ್ಟ್‌ಗಳಿಗಾಗಿ ನೈಜ-ಸಮಯದ ನವೀಕರಣಗಳು

ಈ ಮುಂಭಾಗದ ಉದಾಹರಣೆಯು ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಕೇಳಲು ರಿಯಾಕ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಸ್ವೀಕರಿಸಿದಂತೆ UI ಅನ್ನು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ನವೀಕರಿಸುತ್ತದೆ. ಬೃಹತ್ ಅಳವಡಿಕೆಯ ನಂತರ ಉದ್ಯೋಗಿಗಳಿಗೆ ನೈಜ ಸಮಯದಲ್ಲಿ ಸೂಚನೆ ಪಡೆಯುವುದನ್ನು ಇದು ಖಚಿತಪಡಿಸುತ್ತದೆ.

// Frontend: React Component for SSE
import React, { useEffect, useState } from 'react';
const EmployeeUpdates = () => {
  const [employees, setEmployees] = useState([]);
  useEffect(() => {
    const eventSource = new EventSource('http://localhost:3000/allocate-voucher/vouchered-employee');
    eventSource.onmessage = (event) => {
      const newEmployee = JSON.parse(event.data);
      setEmployees((prev) => [...prev, newEmployee]);
    };
    return () => eventSource.close();
  }, []);
  return (
    <table>
      <thead>
        <tr><th>Name</th><th>Voucher</th></tr>
      </thead>
      <tbody>
        {employees.map((emp) => (
          <tr key={emp.id}><td>{emp.name}</td><td>{emp.voucher}</td></tr>
        ))}
      </tbody>
    </table>
  );
};
export default EmployeeUpdates;

ಬಲ್ಕ್ ಇನ್ಸರ್ಟ್ ಕಾರ್ಯಾಚರಣೆಗಳಿಗಾಗಿ ಯೂನಿಟ್ ಟೆಸ್ಟಿಂಗ್ ಅಧಿಸೂಚನೆಗಳು

ಈ ಜೆಸ್ಟ್ ಪರೀಕ್ಷೆಯು ಈವೆಂಟ್ ಹೊರಸೂಸುವಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ ಮತ್ತು NestJS ನಲ್ಲಿ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳಿಗಾಗಿ ಬ್ಯಾಕೆಂಡ್‌ನಲ್ಲಿ ಅಧಿಸೂಚನೆ ಕಾರ್ಯವಿಧಾನವು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

// Jest Test: AllocateVoucherService
import { Test, TestingModule } from '@nestjs/testing';
import { AllocateVoucherService } from './allocate-voucher.service';
import { EventEmitter2 } from '@nestjs/event-emitter';
describe('AllocateVoucherService', () => {
  let service: AllocateVoucherService;
  let eventEmitter: EventEmitter2;
  beforeEach(async () => {
    const module: TestingModule = await Test.createTestingModule({
      providers: [AllocateVoucherService, EventEmitter2],
    }).compile();
    service = module.get(AllocateVoucherService);
    eventEmitter = module.get(EventEmitter2);
  });
  it('should emit after-allocate-voucher event', async () => {
    jest.spyOn(eventEmitter, 'emit');
    const result = await service.create({ someData: 'test' });
    expect(eventEmitter.emit).toHaveBeenCalledWith('after-allocate-voucher', result);
  });
});

NestJS ನಲ್ಲಿ SSE ಜೊತೆಗೆ ರಿಯಲ್-ಟೈಮ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ವರ್ಧಿಸುವುದು

ವೋಚರ್ ಹಂಚಿಕೆಗಳ ಕುರಿತು ಉದ್ಯೋಗಿಗಳಿಗೆ ತಿಳಿಸಲು ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳ (ಎಸ್‌ಎಸ್‌ಇ) ಅನುಷ್ಠಾನವನ್ನು ನಾವು ಅನ್ವೇಷಿಸಿದ್ದೇವೆ, ನೈಜ-ಸಮಯದ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಎಸ್‌ಎಸ್‌ಇಗೆ ವ್ಯಾಪಕ ಬಳಕೆಯ ಸಂದರ್ಭವಿದೆ. ಗ್ರಾಹಕರು ನಿರಂತರವಾಗಿ ಮತದಾನ ಮಾಡದೆ ಸರ್ವರ್ ಡೇಟಾದೊಂದಿಗೆ ನವೀಕರಿಸಬೇಕಾದ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ SSE ಹೊಳೆಯುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಫ್ಲಾಶ್ ಮಾರಾಟದ ಸಮಯದಲ್ಲಿ ಲೈವ್ ಇನ್ವೆಂಟರಿ ನವೀಕರಣಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವ ಆನ್‌ಲೈನ್ ಚಿಲ್ಲರೆ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಕುರಿತು ಯೋಚಿಸಿ. SSE ಅನ್ನು ಬಳಸಿಕೊಂಡು, ನೀವು ಎಲ್ಲಾ ಸಂಪರ್ಕಿತ ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ಅಪ್‌ಡೇಟ್‌ಗಳನ್ನು ಸಮರ್ಥವಾಗಿ ತಳ್ಳಬಹುದು, ಅವರು ಅನಗತ್ಯ ಸರ್ವರ್ ಲೋಡ್ ಇಲ್ಲದೆ ಇತ್ತೀಚಿನ ಸ್ಟಾಕ್ ಮಟ್ಟವನ್ನು ವೀಕ್ಷಿಸುತ್ತಾರೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ಈ ವಿಧಾನವು ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ತಡೆರಹಿತವಾಗಿರಿಸುವಾಗ ಸ್ಕೇಲೆಬಿಲಿಟಿಯನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ. 🛒

ನಾವು ಮಾಡಿದಂತೆ BullMQ ನಂತಹ ಸುಧಾರಿತ ಸರತಿ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಸಂಯೋಜಿಸುವುದು ಹಂಚಿಕೆ ಚೀಟಿ ಕ್ಯೂ, ಬೃಹತ್ ಡೇಟಾ ಸಂಸ್ಕರಣೆ ಕಾರ್ಯಗಳಿಗೆ ದೃಢತೆಯನ್ನು ಸೇರಿಸುತ್ತದೆ. ಸರ್ವರ್ ಪುನರಾರಂಭ ಸಂಭವಿಸಿದರೂ ಸಹ, ಬಾಕಿ ಉಳಿದಿರುವ ಕಾರ್ಯಗಳು ಹಾಗೆಯೇ ಉಳಿಯುತ್ತವೆ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯು ಪುನರಾರಂಭಗೊಳ್ಳುತ್ತದೆ ಎಂದು ಕ್ಯೂ ಖಚಿತಪಡಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಮರುಪ್ರಯತ್ನ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು, ವಿಫಲವಾದ ಉದ್ಯೋಗಗಳನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು (ಉದಾಹರಣೆಗೆ, ತಾತ್ಕಾಲಿಕ ಡೇಟಾಬೇಸ್ ಡೌನ್‌ಟೈಮ್‌ನಿಂದಾಗಿ) ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಇಲಾಖೆಗಳಾದ್ಯಂತ 300 ಉದ್ಯೋಗಿಗಳಿಗೆ ಹಂಚಿಕೆಯು ತಾತ್ಕಾಲಿಕ ದೋಷವನ್ನು ಎದುರಿಸಿದರೆ, ಕ್ಯೂನ ಸ್ಥಿತಿಸ್ಥಾಪಕತ್ವವು ಯಾವುದೇ ದಾಖಲೆಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸದೆ ಬಿಡುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ, ನಿಮ್ಮ ಸಿಸ್ಟಮ್ಗೆ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಸೇರಿಸುತ್ತದೆ.

ನೈಜ-ಸಮಯದ ಅಧಿಸೂಚನೆಗಳನ್ನು ಮೀರಿ, ವಿವರವಾದ ಸಾರಾಂಶಗಳ ಅಗತ್ಯವಿರುವ ಕಾರ್ಯಗಳಿಗಾಗಿ SSE ಇಮೇಲ್ ಸೇವೆಗಳನ್ನು ಸಹ ಪೂರೈಸಬಹುದು. ಎಲ್ಲಾ ವೋಚರ್ ಅಧಿಸೂಚನೆಗಳನ್ನು SSE ಮೂಲಕ ಕಳುಹಿಸಿದ ನಂತರ, ಬ್ಯಾಕೆಂಡ್ ಅಸಮಕಾಲಿಕವಾಗಿ ವರದಿಯನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ನಿರ್ವಾಹಕರಿಗೆ ಏಕೀಕೃತ ಇಮೇಲ್ ಅನ್ನು ಕಳುಹಿಸಬಹುದು. ಈ ಬಹು-ಚಾನೆಲ್ ಸಂವಹನವು ತಕ್ಷಣದ ಅಧಿಸೂಚನೆಗಳು ಮತ್ತು ಸಮಗ್ರ ಅನುಸರಣೆಗಳನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ, ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಬಳಕೆದಾರರ ಆದ್ಯತೆಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ. ಅಂತಹ ಏಕೀಕರಣವು ನಿಮ್ಮ ಸಿಸ್ಟಂನ ನಮ್ಯತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ, ಸುಸಜ್ಜಿತ ಬಳಕೆದಾರ ಅನುಭವವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. 📧

NestJS ನಲ್ಲಿ SSE ಕುರಿತು ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು

  1. ವೆಬ್‌ಸಾಕೆಟ್‌ಗಳ ಮೂಲಕ ಸರ್ವರ್-ಸೈಡ್ ಈವೆಂಟ್‌ಗಳನ್ನು ಬಳಸುವ ಪ್ರಯೋಜನಗಳೇನು?
  2. SSE ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸರಳವಾಗಿದೆ ಮತ್ತು HTTP ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಫೈರ್‌ವಾಲ್-ಸ್ನೇಹಿಯಾಗಿಸುತ್ತದೆ. WebSockets ಗಿಂತ ಭಿನ್ನವಾಗಿ, ಇದು ನೈಜ-ಸಮಯದ ನವೀಕರಣಗಳಿಗೆ ಪರಿಣಾಮಕಾರಿಯಾದ ಏಕ ದಿಕ್ಕಿನ ಸಂಪರ್ಕವನ್ನು ಮಾತ್ರ ಅಗತ್ಯವಿದೆ.
  3. ನಾನು ಬಳಸಬಹುದೇ @Sse ನಿಯಂತ್ರಕದಲ್ಲಿ ಬಹು ಅಂತಿಮ ಬಿಂದುಗಳೊಂದಿಗೆ?
  4. ಹೌದು, ನೀವು ಬಹು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು @Sse ನಿರ್ದಿಷ್ಟ ಅಗತ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ ಗ್ರಾಹಕರಿಗೆ ವಿಭಿನ್ನ ಡೇಟಾ ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಒದಗಿಸಲು ಅದೇ ನಿಯಂತ್ರಕದಲ್ಲಿನ ಅಂತಿಮ ಬಿಂದುಗಳು.
  5. ಸರದಿ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ದೋಷಗಳನ್ನು ನಾನು ಹೇಗೆ ನಿರ್ವಹಿಸುವುದು?
  6. BullMQ ನೊಂದಿಗೆ, ನೀವು ಮರುಪ್ರಯತ್ನದ ಆಯ್ಕೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು ಮತ್ತು ಈವೆಂಟ್ ಕೇಳುಗರನ್ನು ಬಳಸಬಹುದು @OnWorkerEvent('failed') ದೋಷಗಳನ್ನು ಲಾಗ್ ಮಾಡಲು ಮತ್ತು ಅಗತ್ಯವಿದ್ದರೆ ಕೆಲಸಗಳನ್ನು ಮರುಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು.
  7. ಪ್ರಿಸ್ಮಾ ಮಾಡುತ್ತಾನೆ createMany ವಿಧಾನ ಬೆಂಬಲ ವಹಿವಾಟು ರೋಲ್ಬ್ಯಾಕ್?
  8. ಹೌದು, ಪ್ರಿಸ್ಮಾ createMany ವಹಿವಾಟಿನಲ್ಲಿ ಸುತ್ತಿಕೊಳ್ಳಬಹುದು. ವಹಿವಾಟಿನಲ್ಲಿ ಯಾವುದೇ ಕಾರ್ಯಾಚರಣೆ ವಿಫಲವಾದಲ್ಲಿ, ಎಲ್ಲಾ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಸ್ಥಿರತೆಗಾಗಿ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.
  9. SSE ಸ್ಟ್ರೀಮ್ ಸಮಯದಲ್ಲಿ ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕ ಕಡಿತಗೊಂಡರೆ ಏನಾಗುತ್ತದೆ?
  10. ಸಂಪರ್ಕ ಕಡಿತವನ್ನು ಪತ್ತೆಹಚ್ಚಿದ ನಂತರ ಸರ್ವರ್ ನವೀಕರಣಗಳನ್ನು ಕಳುಹಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಮರುಸಂಪರ್ಕ ತರ್ಕವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು EventSource API.
  11. ದ್ವಿಮುಖ ಸಂವಹನಕ್ಕಾಗಿ SSE ಅನ್ನು ಬಳಸಬಹುದೇ?
  12. ಇಲ್ಲ, SSE ಏಕಮುಖವಾಗಿದೆ (ಸರ್ವರ್-ಟು-ಕ್ಲೈಂಟ್). ದ್ವಿಮುಖ ಸಂವಹನಕ್ಕಾಗಿ, WebSockets ಅಥವಾ HTTP2 ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಬಳಸಿ.
  13. NestJS ನಲ್ಲಿ SSE ಅಂತಿಮ ಬಿಂದುಗಳನ್ನು ನಾನು ಹೇಗೆ ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು?
  14. ಗಾರ್ಡ್ ಅಥವಾ ಮಿಡಲ್‌ವೇರ್‌ಗಳನ್ನು ಬಳಸಿ @UseGuards, ನಿಮ್ಮ SSE ಅಂತಿಮ ಬಿಂದುಗಳಿಗೆ ದೃಢೀಕರಣ ಮತ್ತು ದೃಢೀಕರಣವನ್ನು ಜಾರಿಗೊಳಿಸಲು.
  15. SSE ಬ್ರೌಸರ್ ಅಲ್ಲದ ಕ್ಲೈಂಟ್‌ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದೇ?
  16. ಹೌದು, HTTP ಮತ್ತು ಈವೆಂಟ್ ಸ್ಟ್ರೀಮಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ಯಾವುದೇ ಕ್ಲೈಂಟ್ (ಉದಾ., Node.js, cURL) SSE ಸ್ಟ್ರೀಮ್‌ಗಳನ್ನು ಸೇವಿಸಬಹುದು.
  17. SSE ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗೆ ಸಂಪರ್ಕಿಸಬಹುದಾದ ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯ ಕ್ಲೈಂಟ್‌ಗಳು ಎಷ್ಟು?
  18. ಇದು ನಿಮ್ಮ ಸರ್ವರ್‌ನ ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಸಂಪನ್ಮೂಲ ಮಿತಿಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ ಮತ್ತು ಕ್ಲಸ್ಟರಿಂಗ್ ಹೆಚ್ಚಿನ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಅಳೆಯಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
  19. SSE ಮೂಲಕ JSON ಡೇಟಾವನ್ನು ಕಳುಹಿಸಲು ಸಾಧ್ಯವೇ?
  20. ಹೌದು, ನೀವು ಆಬ್ಜೆಕ್ಟ್‌ಗಳನ್ನು JSON ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗೆ ಧಾರಾವಾಹಿ ಮಾಡಬಹುದು ಮತ್ತು ಅವುಗಳನ್ನು ಬಳಸಿ ಕಳುಹಿಸಬಹುದು new MessageEvent NestJS ನಲ್ಲಿ.

NestJS ನಲ್ಲಿ ಪರಿಣಾಮಕಾರಿ ನೈಜ-ಸಮಯದ ಅಧಿಸೂಚನೆಗಳು

ಬಳಸಿಕೊಂಡು ನೈಜ-ಸಮಯದ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಅಳವಡಿಸುವುದು SSE NestJS ನಲ್ಲಿ ಸರ್ವರ್ ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳ ನಡುವಿನ ಸಂವಹನವನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. ಈ ವಿಧಾನವು ನಿರಂತರ ಮತದಾನಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಸರ್ವರ್ ಲೋಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅಧಿಸೂಚನೆಗಳಿಗೆ ನಿಖರವಾದ ಗುರಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, HR ಉಪಕರಣವು ಇತರರಿಗೆ ಅಡ್ಡಿಪಡಿಸದೆಯೇ ಹೊಸ ವೋಚರ್‌ಗಳ ಕುರಿತು ಮಾರಾಟದಲ್ಲಿರುವ 200 ಉದ್ಯೋಗಿಗಳಿಗೆ ಸೂಚಿಸಬಹುದು. 🎯

BullMQ ಮತ್ತು Prisma ನಂತಹ ಸಾಧನಗಳೊಂದಿಗೆ, ಈ ಸೆಟಪ್ ಅಸಮಕಾಲಿಕ ಕಾರ್ಯ ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಸಮರ್ಥ ಡೇಟಾಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಖಾತ್ರಿಗೊಳಿಸುತ್ತದೆ. ಈವೆಂಟ್-ಆಧಾರಿತ ವಾಸ್ತುಶಿಲ್ಪದ ನಮ್ಯತೆಯು ವಿವಿಧ ನೈಜ-ಸಮಯದ ಅವಶ್ಯಕತೆಗಳಿಗೆ ಸ್ಕೇಲೆಬಲ್ ಪರಿಹಾರವಾಗಿದೆ, ಬಳಕೆದಾರರ ನಿಶ್ಚಿತಾರ್ಥ ಮತ್ತು ಸಿಸ್ಟಮ್ ವಿಶ್ವಾಸಾರ್ಹತೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ.

ಮೂಲಗಳು ಮತ್ತು ಉಲ್ಲೇಖಗಳು
  1. ವಿವರವಾದ ದಸ್ತಾವೇಜನ್ನು NestJS ಫ್ರೇಮ್‌ವರ್ಕ್ ಸ್ಕೇಲೆಬಲ್ ಸರ್ವರ್-ಸೈಡ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು.
  2. ಬಳಕೆಗೆ ಮಾರ್ಗದರ್ಶನ BullMQ Node.js ಅಪ್ಲಿಕೇಶನ್‌ಗಳಲ್ಲಿ ದೃಢವಾದ ಉದ್ಯೋಗ ಕ್ಯೂ ನಿರ್ವಹಣೆಗಾಗಿ.
  3. ಅಧಿಕೃತ ಪ್ರಿಸ್ಮಾ ದಾಖಲೆ ಡೇಟಾಬೇಸ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಮತ್ತು ORM ಬಳಕೆಗಾಗಿ.
  4. ಒಳನೋಟಗಳು ಸರ್ವರ್-ಸೆಂಟ್ ಈವೆಂಟ್‌ಗಳು (SSE) ನೈಜ-ಸಮಯದ ಕ್ಲೈಂಟ್-ಸರ್ವರ್ ಸಂವಹನಕ್ಕಾಗಿ.
  5. ನಿಂದ ಪ್ರಾಯೋಗಿಕ ಮುಂಭಾಗದ ಅನುಷ್ಠಾನ ಉದಾಹರಣೆಗಳು ReactJS ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಸಂವಾದಾತ್ಮಕ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು.