ಮೂಲಸೌಕರ್ಯ ಅವಲೋಕನ

ಈ ಲೇಖನವು Thinvent ಸಾರ್ವಜನಿಕ ವೆಬ್‌ಸೈಟ್‌ಗೆ ಶಕ್ತಿ ನೀಡುವ ಮೂಲಸೌಕರ್ಯದ ಸಮಗ್ರ ಅವಲೋಕನವನ್ನು ಒದಗಿಸುತ್ತದೆ. ನಾವು ವೆಬ್ ಸರ್ವರ್‌ನಿಂದ ಡೇಟಾಬೇಸ್ ಪದರದವರೆಗೆ ಸಂಪೂರ್ಣ ತಂತ್ರಜ್ಞಾನ ಸ್ಟಾಕ್ ಅನ್ನು ಒಳಗೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ಎಲ್ಲಾ ಘಟಕಗಳು ಹೇಗೆ ಒಟ್ಟಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿ ವೇಗದ, ವಿಶ್ವಾಸಾರ್ಹ ಮತ್ತು ಸ್ಕೇಲೆಬಲ್ ಇ-ಕಾಮರ್ಸ್ ಅನುಭವವನ್ನು ನೀಡುತ್ತವೆ ಎಂಬುದನ್ನು ವಿವರಿಸುತ್ತೇವೆ.

ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ ಸ್ಟಾಕ್

Flask - ಅಡಿಪಾಯ

ನಮ್ಮ ವೆಬ್‌ಸೈಟ್ ಅನ್ನು Flask ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ, ಇದು ಹಗುರ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ Python ವೆಬ್ ಫ್ರೇಮ್‌ವರ್ಕ್ ಆಗಿದೆ. Flask ಮುಖ್ಯ ರೂಟಿಂಗ್, ವಿನಂತಿ/ಪ್ರತಿಕ್ರಿಯೆ ನಿರ್ವಹಣೆ ಮತ್ತು ಬ್ಲೂಪ್ರಿಂಟ್ ವ್ಯವಸ್ಥೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅದು ನಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮಾಡ್ಯುಲರ್ ಘಟಕಗಳಾಗಿ ಸಂಘಟಿಸುತ್ತದೆ.

ನಾವು ಬಳಸುವ ಪ್ರಮುಖ Flask ವೈಶಿಷ್ಟ್ಯಗಳು:

  • ಬ್ಲೂಪ್ರಿಂಟ್ಗಳು: ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ತಾರ್ಕಿಕ ಮಾಡ್ಯೂಲ್ಗಳಾಗಿ ಸಂಘಟಿಸಿ (web, api, cart, product, ಇತ್ಯಾದಿ)

  • Jinja2 ಟೆಂಪ್ಲೇಟಿಂಗ್: ಟೆಂಪ್ಲೇಟ್ ಉತ್ತರಾಧಿಕಾರದೊಂದಿಗೆ ಸರ್ವರ್-ಬದಿ HTML ಉತ್ಪಾದನೆ

  • ವಿನಂತಿ ಸಂದರ್ಭ: HTTP ವಿನಂತಿಗಳು ಮತ್ತು ಸೆಷನ್ಗಳ ಸ್ವಯಂಚಾಲಿತ ನಿರ್ವಹಣೆ

  • Werkzeug: ಅಭಿವೃದ್ಧಿ ಸರ್ವರ್ ಮತ್ತು ಉಪಯುಕ್ತ ಕಾರ್ಯಗಳು

Flask ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ವೆಬ್ ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಆರಂಭಿಸಲಾಗಿದೆ, ಅಲ್ಲಿ ನಾವು:

  • ವೆಬ್ ಬ್ಲೂಪ್ರಿಂಟ್ ರಚಿಸಿ

  • ಅಂತಾರಾಷ್ಟ್ರೀಕರಣಕ್ಕಾಗಿ Babel ಅನ್ನು ಆರಂಭಿಸಿ

  • Valkey ಸೆಷನ್ ಸಂಗ್ರಹಣೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ

  • ಟೆಂಪ್ಲೇಟ್ ವೇರಿಯೇಬಲ್ಗಳಿಗಾಗಿ ಕಾಂಟೆಕ್ಸ್ಟ್ ಪ್ರೊಸೆಸರ್ಗಳನ್ನು ಹೊಂದಿಸಿ

Gunicorn - ಉತ್ಪಾದನಾ ಸರ್ವರ್

ಉತ್ಪಾದನೆಗಾಗಿ, ನಾವು Gunicorn (ಗ್ರೀನ್ ಯುನಿಕಾರ್ನ್) ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಇದು Python WSGI HTTP ಸರ್ವರ್ ಆಗಿದೆ. Gunicorn ನಮ್ಮ Flask ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹಲವಾರು ವರ್ಕರ್ ಪ್ರಕ್ರಿಯೆಗಳೊಂದಿಗೆ ಚಲಾಯಿಸುತ್ತದೆ.

Gunicorn ಅನ್ನು systemd ನಿರ್ವಹಿಸುತ್ತದೆ, ಇದು ಅದು ಕ್ರ್ಯಾಶ್ ಆದಾಗ ಅಥವಾ ಸರ್ವರ್ ರೀಬೂಟ್ ಆದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುಪ್ರಾರಂಭವಾಗುವುದನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ. ಇದು ಹಸ್ತಚಾಲಿತ ಹಸ್ತಕ್ಷೇಪವಿಲ್ಲದೆ ಹೆಚ್ಚಿನ ಲಭ್ಯತೆಯನ್ನು ನೀಡುತ್ತದೆ.

Nginx - ರಿವರ್ಸ್ ಪ್ರಾಕ್ಸಿ ಮತ್ತು ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್

Nginx ನಮ್ಮ ರಿವರ್ಸ್ ಪ್ರಾಕ್ಸಿ ಮತ್ತು ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು Gunicorn ಮುಂದೆ ಇದ್ದು, ಈ ಕೆಳಗಿನವುಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:

  • SSL/TLS ಅಂತ್ಯಗೊಳಿಸುವಿಕೆ: HTTPS ಗೂಢಲಿಪೀಕರಣ/ವಿಸರ್ಜನೆ

  • ಸ್ಥಿರ ಫೈಲ್ ಸೇವೆ: CSS, JavaScript, ಚಿತ್ರಗಳು (ನೇರವಾಗಿ ಡಿಸ್ಕ್‌ನಿಂದ ಸೇವೆ)

  • ರಿವರ್ಸ್ ಪ್ರಾಕ್ಸಿ: ಡೈನಾಮಿಕ್ ವಿನಂತಿಗಳನ್ನು Gunicorn ಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಿ

  • ದರ ಮಿತಿಗೊಳಿಸುವಿಕೆ: ದುರುಪಯೋಗದಿಂದ ರಕ್ಷಿಸಿ

  • ವಿನಂತಿ ಸಂಕೋಚನ: ವೇಗವಾದ ವರ್ಗಾವಣೆಗಾಗಿ Gzip ಸಂಕೋಚನ

Ubuntu - ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್

ಎಲ್ಲಾ EC2 ಇನ್‌ಸ್ಟನ್ಸ್‌ಗಳು Ubuntu ಅನ್ನು ಚಲಾಯಿಸುತ್ತವೆ, ಇದು ನಮ್ಮ ಆಯ್ಕೆಯ Linux ವಿತರಣೆಯಾಗಿದೆ. ಲಭ್ಯವಿರುವಾಗ pip ಬದಲಿಗೆ Ubuntu python ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಬಳಸಲು ನಾವು ಆದ್ಯತೆ ನೀಡುತ್ತೇವೆ.

ಸಾಮಾನ್ಯ ವಿನಂತಿ ಹರಿವು ಹೀಗಿದೆ:

flowchart LR
    A[Client Browser] -->|HTTPS Request| B[Nginx]
    B -->|Proxy to| C[Gunicorn]
    C -->|WSGI| D[Flask App]
    D -->|Query| E[Valkey Cache]
    E -->|Miss| F[DynamoDB]
    F -->|Response| E
    E -->|Hit| G[Response]
    G --> B
    B -->|Response| A

CloudFront - ವಿಷಯ ವಿತರಣಾ ಜಾಲ

CloudFront ನಮ್ಮ CDN ಆಗಿದೆ, ಒದಗಿಸುತ್ತದೆ:

  • DDoS ರಕ್ಷಣೆ: ವಿತರಣಾ ದಾಳಿಗಳ ವಿರುದ್ಧ ಅಂತರ್ನಿರ್ಮಿತ ರಕ್ಷಣೆ

  • ಮೂಲ ಶೀಲ್ಡಿಂಗ್: ಟ್ರಾಫಿಕ್ ಸ್ಪೈಕ್ಗಳಿಂದ ನಮ್ಮ ಮೂಲ ಸರ್ವರ್ಗಳನ್ನು ರಕ್ಷಿಸುತ್ತದೆ

ನಮ್ಮ CloudFront ವಿತರಣೆಯು ಎರಡು ಮೂಲಗಳನ್ನು ಹೊಂದಿದೆ:

  • ಬ್ಯಾಕೆಂಡ್ ಸರ್ವರ್: ಬ್ಯಾಕೆಂಡ್ Flask ಅಪ್ಲಿಕೇಶನ್

  • S3: ಸ್ಥಿರ ಸ್ವತ್ತುಗಳಿಗಾಗಿ S3 ಬಕೆಟ್

ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾದ ಕ್ಯಾಶ್ ವರ್ತನೆಗಳು:

  • /s/* - ಸ್ಥಿರ ಸ್ವತ್ತುಗಳು (CSS, JS, ಚಿತ್ರಗಳು) 24-ಗಂಟೆ TTL ಯೊಂದಿಗೆ

  • /ds/*.pdf - ಡೇಟಾಶೀಟ್‌ಗಳು 24-ಗಂಟೆ TTL ಯೊಂದಿಗೆ

  • /api/* - ಯಾವುದೇ ಕ್ಯಾಶಿಂಗ್ ಇಲ್ಲದ API ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು

  • /cart - ಕಾರ್ಟ್ 24-ಗಂಟೆ TTL ಯೊಂದಿಗೆ

  • /set-language - ಕ್ಯಾಶಿಂಗ್ ಇಲ್ಲ (ಡೈನಾಮಿಕ್)

ಡೇಟಾ ಪದರ

DynamoDB - ಪ್ರಾಥಮಿಕ ಡೇಟಾಬೇಸ್

ನಾವು Amazon DynamoDB ಅನ್ನು ನಮ್ಮ ಪ್ರಾಥಮಿಕ ಡೇಟಾಬೇಸ್ ಆಗಿ ಬಳಸುತ್ತೇವೆ. DynamoDB ಒಂದು NoSQL ಡೇಟಾಬೇಸ್ ಆಗಿದೆ.

ನಮ್ಮ DynamoDB ಟೇಬಲ್‌ಗಳು ಒಳಗೊಂಡಿವೆ:

  • ಶಿಫಾರಸುಗಳು: AI-ರಚಿಸಿದ ಉತ್ಪನ್ನ ಶಿಫಾರಸುಗಳು

  • ಉತ್ಪನ್ನ ವಿವರಣೆಗಳು: ಬಹು ಭಾಷೆಗಳಲ್ಲಿ ಉತ್ಪನ್ನ ವಿವರಣೆಗಳು

  • ಕ್ವೆರಿ ಪುಟಗಳು: SEO ಗಾಗಿ ಪಾರ್ಸ್ ಮಾಡಿದ ಕ್ವೆರಿ ಪುಟಗಳು

ನಾವು PynamoDB ಅನ್ನು ಬಳಸುತ್ತೇವೆ, ಇದು DynamoDB ಗಾಗಿ Pythonic ORM ಆಗಿದೆ, ಇದು ಒದಗಿಸುತ್ತದೆ:

  • ಮಾದರಿ ವ್ಯಾಖ್ಯಾನಗಳು: ಡೇಟಾಬೇಸ್ ಟೇಬಲ್‌ಗಳಿಗಾಗಿ Python ಕ್ಲಾಸ್‌ಗಳು

Valkey - ಇನ್-ಮೆಮೊರಿ ಕ್ಯಾಶ್

Valkey (Redis ನ ಫೋರ್ಕ್) ನಮ್ಮ ಇನ್-ಮೆಮೊರಿ ಕ್ಯಾಶ್ ಪದರವಾಗಿದೆ, ಒದಗಿಸುತ್ತದೆ:

  • ಸೆಷನ್ ಸಂಗ್ರಹಣೆ: 30-ದಿನಗಳ ಸ್ಲೈಡಿಂಗ್ ಅವಧಿಯೊಂದಿಗೆ ಬಳಕೆದಾರ ಸೆಷನ್ಗಳು

  • ಆಗಾಗ್ಗೆ ಪ್ರವೇಶಿಸುವ ಡೇಟಾ: ಉತ್ಪನ್ನ ಎಣಿಕೆಗಳು, ಜನಪ್ರಿಯ ಕ್ವೆರಿಗಳು

  • ಆಟೋಕಂಪ್ಲೀಟ್ ಕ್ಯಾಶ್: ಹುಡುಕಾಟ ಸಲಹೆಗಳು

  • ಚಿತ್ರ ಮ್ಯಾನಿಫೆಸ್ಟ್: ಉತ್ಪನ್ನ ಚಿತ್ರ ಸ್ಥಳಗಳು

Valkey ಗಮನಾರ್ಹ ಕಾರ್ಯಕ್ಷಮತೆ ಪ್ರಯೋಜನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ:

  • ಓದುವ ಕಾರ್ಯಾಚರಣೆಗಳಿಗೆ DynamoDB ಗಿಂತ 100x ವೇಗವಾಗಿದೆ

  • ಕಡಿಮೆಯಾದ ಡೇಟಾಬೇಸ್ ಲೋಡ್: ಕ್ಯಾಶ್ ಹಿಟ್ಗಳು DynamoDB ಕ್ವೆರಿಗಳನ್ನು ತಪ್ಪಿಸುತ್ತವೆ

  • ಸೆಷನ್ ನಿರಂತರತೆ: ವಿನಂತಿಗಳಾದ್ಯಂತ Valkey-ಬೆಂಬಲಿತ ಸೆಷನ್ಗಳು

ನಾವು Valkey ಅನ್ನು ಇದಕ್ಕಾಗಿ ಬಳಸುತ್ತೇವೆ:

  • ಸೆಷನ್ಗಳು: ಬಳಕೆದಾರ ಲಾಗಿನ್ ಸ್ಥಿತಿ, ಕಾರ್ಟ್ ಡೇಟಾ

  • ಕ್ಯಾಶಿಂಗ್: ಜನಪ್ರಿಯ ಕ್ವೆರಿಗಳು, ಆಟೋಕಂಪ್ಲೀಟ್ ಸಲಹೆಗಳು

  • ಕೌಂಟರ್ಗಳು: ಉತ್ಪನ್ನ ಸ್ಟಾಕ್ ಎಣಿಕೆಗಳು (ಕಾರ್ಯಕ್ಷಮತೆಗಾಗಿ ಕ್ಯಾಶ್ ಮಾಡಲಾಗಿದೆ)

  • ಕ್ಯೂಗಳು: ಹಿನ್ನೆಲೆ ಕೆಲಸ ಸಂಸ್ಕರಣೆ

S3 - ಆಬ್ಜೆಕ್ಟ್ ಸಂಗ್ರಹಣೆ

Amazon S3 ನಮ್ಮ ಆಬ್ಜೆಕ್ಟ್ ಸಂಗ್ರಹಣಾ ಸೇವೆಯಾಗಿದೆ.

ನಾವು S3 ಅನ್ನು ಇದಕ್ಕಾಗಿ ಬಳಸುತ್ತೇವೆ:

  • ಉತ್ಪನ್ನ ಚಿತ್ರಗಳು: ಹೆಚ್ಚಿನ ರೆಸಲ್ಯೂಶನ್ ಉತ್ಪನ್ನ ಫೋಟೋಗಳು

  • ಡೇಟಾಶೀಟ್‌ಗಳು: PDF ಉತ್ಪನ್ನ ವಿಶೇಷಣಗಳು

  • ಸ್ಥಿರ ಸ್ವತ್ತುಗಳು: CSS, JS, ಚಿತ್ರಗಳು

DNS ಮತ್ತು ರೂಟಿಂಗ್

Route53 - ಡೊಮೇನ್ ನಿರ್ವಹಣೆ

Route53 ನಮ್ಮ DNS ನಿರ್ವಹಣೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ:

  • ಡೊಮೇನ್ ನೋಂದಣಿ: thinvent.in ಮತ್ತು ಸಂಬಂಧಿತ ಡೊಮೇನ್ಗಳು

Nginx ರೂಟಿಂಗ್

Nginx URL ಮಾದರಿಗಳ ಆಧಾರದ ಮೇಲೆ ವಿನಂತಿಗಳನ್ನು ಮಾರ್ಗ ಮಾಡುತ್ತದೆ:

  • / → Flask ಅಪ್ಲಿಕೇಶನ್ (ಮುಖಪುಟ, ಉತ್ಪನ್ನಗಳು, ಕಾರ್ಟ್, ಚೆಕ್ಔಟ್)

  • /q/ → Flask ಅಪ್ಲಿಕೇಶನ್ (ಕ್ವೆರಿ ಪುಟಗಳು, ಹುಡುಕಾಟ ಫಲಿತಾಂಶಗಳು)

  • /api/ → Flask ಅಪ್ಲಿಕೇಶನ್ (API ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳು)

  • /static/ → CloudFront/S3 (ಸ್ಥಿರ ಸ್ವತ್ತುಗಳು)

ಹುಡುಕಾಟ ಮತ್ತು AI ಮೂಲಸೌಕರ್ಯ

ಹುಡುಕಾಟ ಸೇವೆ

ಹುಡುಕಾಟ ಕಾರ್ಯಕ್ಕಾಗಿ ನಾವು ಸ್ವತಂತ್ರ Flask ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಚಲಾಯಿಸುತ್ತೇವೆ. ಈ ಸೇವೆಯು ಒದಗಿಸುತ್ತದೆ:

  • ವೆಕ್ಟರ್ ಹುಡುಕಾಟ: ಸಂಬಂಧಿತ ಕ್ವೆರಿಗಳಿಗೆ ಸಿಮ್ಯಾಂಟಿಕ್ ಸಾಮ್ಯತೆ

  • ಆಟೋಕಂಪ್ಲೀಟ್: ಪ್ರಿಫಿಕ್ಸ್ ಆಧಾರಿತ ಹುಡುಕಾಟ ಸಲಹೆಗಳು

  • ಜನಪ್ರಿಯ ಕ್ವೆರಿಗಳು: ಹೆಚ್ಚು ಹುಡುಕಲಾದ ಪದಗಳು

  • ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆ: ಫೆಸೆಟ್ಗಳಿಗಾಗಿ ಹುಡುಕಾಟ ಕ್ವೆರಿಗಳನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ

ಹುಡುಕಾಟ ಸೇವೆಯು ಬಳಸುತ್ತದೆ:

  • Valkey RediSearch: ವೆಕ್ಟರ್ ಸಾಮ್ಯತೆ ಹುಡುಕಾಟ

  • SentenceTransformer: ಎಂಬೆಡಿಂಗ್ ಉತ್ಪಾದನೆ

  • ಫ್ರೇಸ್ ಮ್ಯಾಪಿಂಗ್‌ಗಳು: ಸಬ್‌ಸ್ಟ್ರಿಂಗ್ ಮ್ಯಾಚಿಂಗ್ ಮೂಲಕ ಫಿಲ್ಟರ್ ಹೊರತೆಗೆಯುವಿಕೆ

AI ಪೂರೈಕೆದಾರರು

ವಿವಿಧ ಕಾರ್ಯಗಳಿಗಾಗಿ ನಾವು ಬಹು AI ಪೂರೈಕೆದಾರರನ್ನು ಬಳಸುತ್ತೇವೆ:

DeepSeek

  • ಮಾದರಿ: deepseek-chat

  • ಬಳಕೆಯ ಸಂದರ್ಭಗಳು: ಉತ್ಪನ್ನ ವಿವರಣೆಗಳು, ಕ್ವೆರಿ ಪುಟ ವಿಷಯ, ಅನುವಾದ

  • API: Together.ai ಫಾಲ್‌ಬ್ಯಾಕ್ನೊಂದಿಗೆ DeepSeek API

  • ಕ್ಯಾಶಿಂಗ್: ಪ್ರಾಂಪ್ಟ್ ಕ್ಯಾಶಿಂಗ್ ದಕ್ಷತೆಗಾಗಿ ಸಿಸ್ಟಂ ಪ್ರಾಂಪ್ಟ್‌ಗಳು

Gemini

  • ಮಾದರಿ: Gemini (ನಿರ್ದಿಷ್ಟ ಮಾದರಿ)

  • ಬಳಕೆಯ ಸಂದರ್ಭಗಳು: ವಿಷಯ ಉತ್ಪಾದನೆ

  • ಏಕೀಕರಣ: ನೇರ API ಕರೆಗಳು

Amazon Bedrock

  • ಮಾದರಿಗಳು: Nova Pro

  • ಬಳಕೆಯ ಸಂದರ್ಭಗಳು: ಆಂತರಿಕ ಚಾಟ್

  • ಏಕೀಕರಣ: boto3 SDK

Amazon Bedrock

  • ಮಾದರಿಗಳು: Nova Lite

  • ಬಳಕೆಯ ಸಂದರ್ಭಗಳು: ಗ್ರಾಹಕ ಚಾಟ್‌ಬಾಟ್

  • ಏಕೀಕರಣ: boto3 SDK

ಸಂಪೂರ್ಣ ವಿನಂತಿ ಹರಿವು

ನಮ್ಮ ಮೂಲಸೌಕರ್ಯದ ಮೂಲಕ ಸಾಮಾನ್ಯ ವಿನಂತಿಯು ಹೇಗೆ ಹರಿಯುತ್ತದೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

flowchart TD
    A[Client Browser] -->|DNS Query| B[Route53]
    B -->|IP Address| C[CloudFront]
    C -->|Cache Check| D{Cache Hit?}
    D -->|Yes| E[Return Cached Content]
    D -->|No| F[Nginx]
    F -->|Proxy| G[Gunicorn]
    G -->|WSGI| H[Flask App]
    H -->|Cache Check| I[Valkey]
    I -->|Hit| J[Return Cached Data]
    I -->|Miss| K[DynamoDB]
    K -->|Query| L[Return Data]
    L --> I
    J --> M[Build Response]
    E --> M
    M --> N[Send to Client]

ಮಾನಿಟರಿಂಗ್ ಮತ್ತು ಆರೋಗ್ಯ

UptimeRobot - ಬಾಹ್ಯ ಮಾನಿಟರಿಂಗ್

ಎಲ್ಲಾ ಸಾರ್ವಜನಿಕ-ಮುಖಿ ಎಂಡ್‌ಪಾಯಿಂಟ್‌ಗಳ ಬಾಹ್ಯ ಮಾನಿಟರಿಂಗ್ಗಾಗಿ ನಾವು UptimeRobot ಅನ್ನು ಬಳಸುತ್ತೇವೆ:

  • ಬ್ಯಾಕೆಂಡ್ ಸರ್ವರ್: ಬ್ಯಾಕೆಂಡ್ ವೆಬ್‌ಸೈಟ್

  • www.thinvent.in: ಸಾರ್ವಜನಿಕ ವೆಬ್‌ಸೈಟ್

ಆರೋಗ್ಯ ತಪಾಸಣೆಗಳು

  • Gunicorn: systemd ಮರುಪ್ರಾರಂಭಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ

  • Flask: /health ಎಂಡ್‌ಪಾಯಿಂಟ್ ಸ್ಥಿತಿಯನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ

  • Valkey: ಸಂಪರ್ಕ ಆರೋಗ್ಯವನ್ನು ಮಾನಿಟರ್ ಮಾಡಲಾಗುತ್ತದೆ

  • DynamoDB: ಸುಪ್ತತೆ ಮತ್ತು ಥ್ರೋಪುಟ್ ಮಾನಿಟರ್ ಮಾಡಲಾಗುತ್ತದೆ

ಲಾಗಿಂಗ್

  • ಅಪ್ಲಿಕೇಶನ್ ಲಾಗ್‌ಗಳು: Gunicorn error.log

  • ಆಕ್ಸೆಸ್ ಲಾಗ್‌ಗಳು: Gunicorn access.log

  • ಇಮೇಲ್: Python ಟ್ರೇಸ್‌ಬ್ಯಾಕ್‌ಗಳೊಂದಿಗೆ ನಿರ್ಣಾಯಕ ಘಟನೆಗಳಿಗೆ ನೈಜ-ಸಮಯದ ಅಧಿಸೂಚನೆಗಳು

ಸಾರಾಂಶ

ನಮ್ಮ ಮೂಲಸೌಕರ್ಯವನ್ನು ಇದಕ್ಕಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ:

  • ಕಾರ್ಯಕ್ಷಮತೆ: ಬಹು ಕ್ಯಾಶಿಂಗ್ ಪದರಗಳು, CDN, ಆಪ್ಟಿಮೈಸ್ಡ್ ಕ್ವೆರಿಗಳು

  • ಸ್ಕೇಲೆಬಿಲಿಟಿ: ಆಟೋ-ಸ್ಕೇಲಿಂಗ್ ಡೇಟಾಬೇಸ್‌ಗಳು, ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್

  • ವೆಚ್ಚ-ಪರಿಣಾಮಕಾರಿತ್ವ: ಪೇ-ಪರ್-ಯೂಸ್, ಡೇಟಾಬೇಸ್ ಲೋಡ್ ಕಡಿಮೆ ಮಾಡಲು ಕ್ಯಾಶಿಂಗ್

Flask, Gunicorn, Nginx, Ubuntu, DynamoDB, Valkey, CloudFront ಮತ್ತು UptimeRobot ಸಂಯೋಜನೆಯು ನಮ್ಮ ಇ-ಕಾಮರ್ಸ್ ವೇದಿಕೆಗೆ ದೃಢವಾದ, ಸ್ಕೇಲೆಬಲ್ ಅಡಿಪಾಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು