ನಾನು ಕಾಫಿ ಕುಡಿಯುವ ಮೊದಲು ಬ್ಯಾಕೆಂಡ್ ಕಟ್ಟಲು ಪ್ರಯತ್ನಿಸಿದ ದಿನ
ಒಂದು ಸೋಮವಾರ ಬೆಳಿಗ್ಗೆ ನೀವು ಒಂದು ಬ್ಯಾಕೆಂಡ್ನ್ನು ಸ್ಥಾಪಿಸಲು ಪ್ರಯತ್ನಿಸಿ - ನಿಮ್ಮ API ಗೇಟ್ವೇ 403 ನಿಷೇಧಿತದಲ್ಲಿ ರಜೆಯಲ್ಲಿದೆ ಮತ್ತು ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಬದ್ಧತೆಯ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿದೆ ಎಂದು ಅರಿತುಕೊಂಡಿದ್ದೀರಾ? ಅದು ನಾನೇ, ಒಮ್ಮೆ. ನನಗೆ ಒಂದು ಸಣ್ಣ ಎಂಡ್ಪಾಯಿಂಟ್ ಬೇಕಿತ್ತು - ಕೇವಲ ಸ್ನೇಹಪರ /hello - ಮತ್ತು ಹೇಗೋ ನಾನು ಹಾ Hogwarts ಮನೆಯನ್ನು ಆರಿಸುತ್ತಿರುವಂತೆ VPC ಗಳ ಬಗ್ಗೆ ವಾದಿಸುತ್ತಾ ಕೊನೆಗೊಂಡೆ.
ಇಲ್ಲಿ ಒಳ್ಳೆಯ ಸುದ್ದಿ ಇದೆ: ಲವಬಲ್ ಕ್ಲೌಡ್ "ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ನಿರ್ಮಿಸಿ" ಭಾಗವನ್ನು… ಒಳ್ಳೆಯದು… ಪ್ರೀತಿಯಿಂದ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದೆ. ಅಥವಾ ಕನಿಷ್ಠ ಕೋಪವನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ನೀವು 30 ನಿಮಿಷಗಳು, ವೈ-ಫೈ ಸಂಪರ್ಕ ಮತ್ತು ಕೆಲವು ರೂಪಕಗಳಿಗೆ ಸಹಿಷ್ಣುತೆಯನ್ನು ಹೊಂದಿದ್ದರೆ, ಲವಬಲ್ ಕ್ಲೌಡ್ನೊಂದಿಗೆ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಹೇಗೆ ನಿರ್ಮಿಸುವುದು ಎಂಬುದರ ಕುರಿತು ನಾನು ನಿಮಗೆ ಹಂತ ಹಂತವಾಗಿ ವಿವರಿಸುತ್ತೇನೆ, ಏನನ್ನು ನೋಡಬೇಕು ಮತ್ತು ಅದನ್ನು ಎಂಡ್ಪಾಯಿಂಟ್ಗಳ ಸ್ಪಾಗೆಟ್ಟಿ ಬೌಲ್ ಆಗದಂತೆ ಹೇಗೆ ತಡೆಯುವುದು.
ಮುನ್ನೆಚ್ಚರಿಕೆ: ಇದು ಪ್ರಾಯೋಗಿಕ, ಕೈಗೆಟುಕುವ ಮಾರ್ಗದರ್ಶಿಯಾಗಿದೆ. ಕಡಿಮೆ ಮಾರಾಟಗಾರರ ಕಾವ್ಯ, ಹೆಚ್ಚು "ಇಲ್ಲಿ ಕ್ಲಿಕ್ ಮಾಡಿ, ಇದನ್ನು ಟೈಪ್ ಮಾಡಿ, ಅದನ್ನು ಮಾಡಬೇಡಿ." ಮತ್ತು ಹೌದು, ನಾವು ನಿಜವಾದದನ್ನು ರವಾನಿಸಲಿದ್ದೇವೆ: ದೃಢೀಕರಣ, ಡೇಟಾಬೇಸ್, ಪರಿಸರ ರಹಸ್ಯಗಳು, ನಿಯೋಜನೆ, ಮೇಲ್ವಿಚಾರಣೆ ಮತ್ತು ಸ್ಕೇಲ್ಗೆ ತ್ವರಿತ ಮಾರ್ಗದೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವ API. ತಿಂಡಿ ತೆಗೆದುಕೊಳ್ಳಿ. ನಾವು ರವಾನಿಸುತ್ತಿದ್ದೇವೆ.
ಲವಬಲ್ ಕ್ಲೌಡ್ ಎಂದರೇನು ಮತ್ತು ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್ ಏಕೆ ಕಾಳಜಿ ವಹಿಸಬೇಕು?
ಲವಬಲ್ ಕ್ಲೌಡ್ ಅನ್ನು ಆಧುನಿಕ ಬ್ಯಾಕೆಂಡ್ ಸ್ವಿಟ್ಜರ್ಲೆಂಡ್ ಸೈನ್ಯದ ಚಾಕುವಾಗಿ ಯೋಚಿಸಿ: ಸರ್ವರ್ಲೆಸ್ ಕಾರ್ಯಗಳು, API ರೂಟಿಂಗ್, ಡೇಟಾಬೇಸ್ ಸಂಪರ್ಕಗಳು, ಪರಿಸರ ರಹಸ್ಯಗಳು ಮತ್ತು CI/CD - ಇವೆಲ್ಲವೂ YAML ಫೈಲ್ಗಳ ಧೂಳಿನ ಮೃಗಾಲಯವನ್ನು ನಿರ್ವಹಿಸುವುದರಿಂದ ನಿಮ್ಮನ್ನು ಉಳಿಸಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ.
- ನೀವು ಕೋಡ್ ಬರೆಯಿರಿ (ನೋಡ್/ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್, ಪೈಥಾನ್ - ಇದೀಗ ಹಾಟ್ ಆಗಿರುವುದಕ್ಕಾಗಿ ಡಾಕ್ಸ್ ಪರಿಶೀಲಿಸಿ).
- ನೀವು ಮಾರ್ಗಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೀರಿ (REST). ನೀವು ಅಲಂಕಾರಿಕವಾಗಿದ್ದರೆ, ನೀವು GraphQL ಅನ್ನು ಲೇಯರ್ ಮಾಡಬಹುದು ಅಥವಾ JSON ನೊಂದಿಗೆ ಅಂಟಿಕೊಳ್ಳಬಹುದು.
- ನೀವು ನಿರ್ವಹಿಸಿದ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಹುಕ್ ಅಪ್ ಮಾಡಿ (PostgreSQL ಇಲ್ಲಿ ವಿಶಿಷ್ಟವಾದ ಪ್ರೌಢಶಾಲಾ ಪ್ರಿಯತಮೆಯಾಗಿದೆ).
- ನೀವು ನಿಯೋಜಿಸುತ್ತೀರಿ. ಅದು ಸ್ಕೇಲ್ ಆಗುತ್ತದೆ. ಹೆಚ್ಚಿನ ಸರ್ವರ್ಗಳನ್ನು ಸೇರಿಸಲು ಬೆಳಿಗ್ಗೆ 3 ಗಂಟೆಗೆ ಎಚ್ಚರಗೊಳ್ಳುವ ಬಗ್ಗೆ ನೀವು ಚಿಂತಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತೀರಿ.
ನಿಮ್ಮ "ಬ್ಯಾಕೆಂಡ್" ನ ಮಾನಸಿಕ ಮಾದರಿಯು ಹೀಗಿದ್ದರೆ: ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು + ದೃಢೀಕರಣ + ಡೇಟಾ + ನಿಯೋಜನೆ + ಲಾಗ್ಗಳು, ಲವಬಲ್ ಕ್ಲೌಡ್ ಕಡಿಮೆ ಬೀಪ್ಗಳು ಮತ್ತು ಹೆಚ್ಚಿನ ರಸೀದಿಗಳೊಂದಿಗೆ ಎಕ್ಸ್ಪ್ರೆಸ್ ಲೇನ್ ಆಗಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.
ಲವಬಲ್ ಕ್ಲೌಡ್ನೊಂದಿಗೆ ಬ್ಯಾಕೆಂಡ್ ನಿರ್ಮಿಸಲು ಗೇಮ್ ಪ್ಲಾನ್
- ಲವಬಲ್ ಕ್ಲೌಡ್ ಯೋಜನೆ ಮತ್ತು ರೆಪೊವನ್ನು ರಚಿಸಿ.
- ಒಂದು ಸಾರ್ವಜನಿಕ ಮತ್ತು ಒಂದು ಸಂರಕ್ಷಿತ ಮಾರ್ಗದೊಂದಿಗೆ API ಅನ್ನು ಸ್ಕ್ಯಾಫೋಲ್ಡ್ ಮಾಡಿ.
- PostgreSQL ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸೇರಿಸಿ ಮತ್ತು ವಲಸೆಯನ್ನು ಚಲಾಯಿಸಿ.
- ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ಸರಳ ORM ಅನ್ನು ವೈರ್ ಅಪ್ ಮಾಡಿ.
- ದೃಢೀಕರಣವನ್ನು ಸೇರಿಸಿ (JWT, ಸೆಷನ್ ಟೋಕನ್ಗಳು ಅಥವಾ OAuth - ನಿಮ್ಮ ಕರೆ).
- ವೇದಿಕೆ ಪರಿಸರಕ್ಕೆ ನಿಯೋಜಿಸಿ.
- ಮೇಲ್ವಿಚಾರಣೆ/ಲಾಗ್ ಮಾಡುವುದು ಮತ್ತು ಒಂದು ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆಯನ್ನು ಸೇರಿಸಿ.
- ನಿಮ್ಮ ಭವಿಷ್ಯದ ಸ್ವಂತ ಹೃದಯವನ್ನು ಮುರಿಯದೆ ಉತ್ಪಾದನೆಗೆ ಪ್ರಚಾರ ಮಾಡಿ.
ಹೌದು, ಇದು ಬಹಳಷ್ಟು ಎಂದು ತೋರುತ್ತದೆ. ಇಲ್ಲ, ಇದು ವಾರವಿಡೀ ತೆಗೆದುಕೊಳ್ಳುವುದಿಲ್ಲ.
ಹಂತ 1: ನಿಮ್ಮ ಲವಬಲ್ ಕ್ಲೌಡ್ ಯೋಜನೆಯನ್ನು ಸ್ಪಿನ್ ಅಪ್ ಮಾಡಿ (ಎ.ಕೆ.ಎ. ಹೊಸ ಪ್ರಾಜೆಕ್ಟ್ ಸ್ಮೆಲ್)
- ಖಾತೆಯನ್ನು ರಚಿಸಿ ಮತ್ತು ಹೊಸ ಯೋಜನೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ. ನಂತರ ನೀವು ಗುರುತಿಸುವ ಹೆಸರನ್ನು ಇರಿಸಿ - "not_final_backend_v7" ಒಂದು ಬಲೆ.
- ನಿಮ್ಮ ರನ್ಟೈಮ್ ಅನ್ನು ಆರಿಸಿ (API ಗಳಿಗಾಗಿ ನೋಡ್/ಟೈಪ್ಸ್ಕ್ರಿಪ್ಟ್ ಸಾಮಾನ್ಯ ಗುಂಪನ್ನು ಮೆಚ್ಚಿಸುತ್ತದೆ).
- ಲಭ್ಯವಿದ್ದರೆ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ: "REST API" ಅಥವಾ "ಸರ್ವರ್ಲೆಸ್ ಕಾರ್ಯಗಳು" ಖಾಲಿ ಪುಟದ ಭಯಕ್ಕಿಂತ ವೇಗವಾಗಿ ನಿಮ್ಮನ್ನು ಹಸಿರು ಬಣ್ಣಕ್ಕೆ ತರುತ್ತದೆ.
ನೀವು Git ರೆಪೊ (ನಿಮ್ಮದು ಅಥವಾ ಅವರದು) ಮತ್ತು ಅಭಿವೃದ್ಧಿ ಪರಿಸರವನ್ನು ಪಡೆಯುತ್ತೀರಿ. ನೀವು ತಕ್ಷಣವೇ ಶಾಖೆಯನ್ನು ಹೊಂದಿದ್ದರೆ ಬೋನಸ್ ಅಂಕಗಳು ("feature/hello-api") ಆದ್ದರಿಂದ ನಿಮ್ಮ ಮುಖ್ಯ ಶಾಖೆಯು ತಪ್ಪುಗಳ ಜೀವಂತ ವಸ್ತುಸಂಗ್ರಹಾಲಯವಾಗುವುದಿಲ್ಲ.
ಹಂತ 2: ನಿಮ್ಮ ಮೊದಲ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಸ್ಕ್ಯಾಫೋಲ್ಡ್ ಮಾಡಿ (ಏಕೆಂದರೆ ಹಲೋ ವರ್ಲ್ಡ್ ಇನ್ನೂ ಹೊಡೆಯುತ್ತದೆ)
ಮೂಲ ಮಾರ್ಗವನ್ನು ರಚಿಸಿ: /api/hello. ಅದನ್ನು ಮೂಕ ಮತ್ತು ಸಂತೋಷವಾಗಿಡಿ.
- ಮಾರ್ಗ ಫೈಲ್:
routes/hello.ts
- ಕಾರ್ಯ:
{ message: "Hello, world" } ನಂತಹ JSON ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ
- ಸ್ಥಳೀಯವಾಗಿ ಪರೀಕ್ಷಿಸಿ: cURL ಅಥವಾ ನಿಮ್ಮ ನೆಚ್ಚಿನ HTTP ಕ್ಲೈಂಟ್. ನೀವು 200 ಅನ್ನು ಪಡೆಯದಿದ್ದರೆ, ನಿಮ್ಮ ಹೆಜ್ಜೆಗಳನ್ನು ಹಿಂತಿರುಗಿ ಮತ್ತು ಲಾಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
ಪ್ರೊ ಸಲಹೆ: ನಿಮ್ಮ ಮಾರ್ಗ ಹ್ಯಾಂಡ್ಲರ್ಗಳನ್ನು ತೆಳ್ಳಗೆ ಇರಿಸಿ - ಎಂಡ್ಪಾಯಿಂಟ್ ಒಳಗೆ ಯಾವುದೇ ವ್ಯವಹಾರ ತರ್ಕವಿಲ್ಲ. ಸೇವೆಗಳಲ್ಲಿ ತರ್ಕವನ್ನು ಹಾಕಿ. ನಿಮ್ಮ ಭವಿಷ್ಯದ ರಿಫ್ಯಾಕ್ಟರ್ಗಳು ನಿಮಗೆ ಧನ್ಯವಾದಗಳನ್ನು ಹೇಳುತ್ತವೆ.
ಹಂತ 3: ಪ್ರಾಚೀನ ಡೆವೋಪ್ಸ್ ಸ್ಪಿರಿಟ್ಸ್ ಅನ್ನು ಕರೆಯದೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸೇರಿಸಿ
PostgreSQL ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ. ಇದು ವಿಶ್ವಾಸಾರ್ಹ, ಸಂಬಂಧಿತವಾಗಿದೆ ಮತ್ತು ಸೇರುವಿಕೆಗೆ ಅಲರ್ಜಿಯನ್ನು ಹೊಂದಿಲ್ಲ.
- ಲವಬಲ್ ಕ್ಲೌಡ್ನಲ್ಲಿ, ನಿರ್ವಹಿಸಿದ Postgres ನಿದರ್ಶನವನ್ನು ರಚಿಸಿ.
- ಪರಿಕರಗಳನ್ನು ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳಾಗಿ ಸಂಗ್ರಹಿಸಿ:
DATABASE_URL, DB_USER, DB_PASS, DB_HOST, DB_NAME.
- ORM ಅಥವಾ ಪ್ರಶ್ನೆ ಬಿಲ್ಡರ್ ಅನ್ನು ಆರಿಸಿ (Prisma, Drizzle, Knex). ವೇಗ ಮತ್ತು ಸ್ಕೀಮಾ ವಿವೇಕಕ್ಕಾಗಿ ನಾನು ಪ್ರಿಸ್ಮಾಗೆ ಪಕ್ಷಪಾತಿಯಾಗಿದ್ದೇನೆ.
ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಸಾಬೀತುಪಡಿಸಲು ಸಣ್ಣ users ಟೇಬಲ್ ಅನ್ನು ರಚಿಸಿ:
- ಸ್ಕೀಮಾ:
id (uuid), email (unique), created_at (timestamp).
- ನಿಮ್ಮ ಅಭಿವೃದ್ಧಿ ಪರಿಸರದಿಂದ ವಲಸೆಯನ್ನು ಚಲಾಯಿಸಿ.
- ಪಟ್ಟಿಯನ್ನು ಹಿಂತಿರುಗಿಸುವ
GET /api/users ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಬರೆಯಿರಿ. ಹೊಸದನ್ನು ಸೇರಿಸಲು POST /api/users ಅನ್ನು ಸೇರಿಸಿ. ದೃಢೀಕರಣದೊಂದಿಗೆ ಅದನ್ನು ರಕ್ಷಿಸಿ (ಮುಂದಿನ ಹಂತ), ಆದರೆ ಈಗ, ಪರೀಕ್ಷಾ ಸೇರ್ಪಡೆಯೊಂದಿಗೆ ಪರಿಶೀಲಿಸಿ.
ನೀವು ಸಮಯ ಮೀರಿದೆ ಅಥವಾ ಸಂಪರ್ಕ ಮರುಹೊಂದಿಕೆಗಳನ್ನು ನೋಡುತ್ತಿದ್ದರೆ, ಪರಿಶೀಲಿಸಿ: ಸರಿಯಾದ ಪೋರ್ಟ್, SSL ಮೋಡ್ ಮತ್ತು ನಿಮ್ಮ ಅಭಿವೃದ್ಧಿ ಪರಿಸರವು DB ಯೊಂದಿಗೆ ಮಾತನಾಡಲು ಅನುಮತಿಸಲಾಗಿದೆಯೇ (VPC ನಿಯಮಗಳು ಮತ್ತು IP ಅನುಮತಿಸದ ಪಟ್ಟಿಗಳು ನಾಟಕವನ್ನು ಪ್ರೀತಿಸುತ್ತವೆ).
ಹಂತ 4: ಬಳಕೆದಾರರನ್ನು ಅಳಲು ಮಾಡದ ದೃಢೀಕರಣವನ್ನು ಸೇರಿಸಿ
ನೀವು ಆಯ್ಕೆಗಳನ್ನು ಹೊಂದಿದ್ದೀರಿ:
- ಸ್ಥಿತಿಯಿಲ್ಲದ API ಗಳಿಗಾಗಿ JWT ಆಧಾರಿತ ದೃಢೀಕರಣ
- ಸುರಕ್ಷಿತ ಕುಕೀಗಳೊಂದಿಗೆ ಸೆಷನ್ ಟೋಕನ್ಗಳು (ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಉತ್ತಮವಾಗಿದೆ)
- Google, GitHub ಇತ್ಯಾದಿಗಳೊಂದಿಗೆ OAuth (ಗುಪ್ತಪದದ ಶುದ್ಧೀಕರಣವನ್ನು ತಪ್ಪಿಸಲು ಉತ್ತಮವಾಗಿದೆ)
ತ್ವರಿತ ಗೆಲುವಿಗಾಗಿ, JWT ಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ:
- ಲಾಗಿನ್ನಲ್ಲಿ ಟೋಕನ್ಗಳನ್ನು ರಚಿಸಿ (
POST /api/auth/login).
- ಲವಬಲ್ ಕ್ಲೌಡ್ನ ರಹಸ್ಯ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ಸಹಿ ಮಾಡುವ ರಹಸ್ಯವನ್ನು ಸಂಗ್ರಹಿಸಿ.
Authorization: Bearer <token> ಹೆಡರ್ ಅನ್ನು ಓದುವ ಮಧ್ಯಂತರವನ್ನು ರಚಿಸಿ.
POST /api/users ಮತ್ತು ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸುವ ಯಾವುದನ್ನಾದರೂ ಮಾರ್ಗಗಳನ್ನು ರಕ್ಷಿಸಿ.
ನೆನಪಿಡಿ: ಸಣ್ಣ ಟೋಕನ್ ಜೀವಿತಾವಧಿಗಳು + ರಿಫ್ರೆಶ್ ಟೋಕನ್ಗಳು = ಸಾಧನಗಳು ಕಳೆದುಹೋದಾಗ ಅಥವಾ ಡೆವಲಪರ್ಗಳು YouTube ಕಾಮೆಂಟ್ನಲ್ಲಿ ಟೋಕನ್ ಅನ್ನು ಬಿಟ್ಟಿದ್ದಾರೆಂದು ಮರೆತಾಗ ಕಡಿಮೆ ತಲೆನೋವು (ಕೇಳಬೇಡಿ).
ಹಂತ 5: ಪರಿಸರ ವೇರಿಯೇಬಲ್ಗಳು: ರಹಸ್ಯಗಳು, ಸ್ಮಾರಕಗಳಲ್ಲ
ಲವಬಲ್ ಕ್ಲೌಡ್ನ ಪರಿಸರ ವ್ಯವಸ್ಥಾಪಕವನ್ನು ಬಳಸಿಕೊಂಡು ರಹಸ್ಯಗಳನ್ನು ಕೇಂದ್ರೀಕರಿಸಿ:
- ಮೂರನೇ ವ್ಯಕ್ತಿಯ API ಕೀಗಳು (ಇಮೇಲ್ ಪೂರೈಕೆದಾರ, ಪಾವತಿಗಳು)
ಪ್ರತಿ ಪರಿಸರಕ್ಕೆ ಅವುಗಳನ್ನು ಹೊಂದಿಸಿ (ಅಭಿವೃದ್ಧಿ, ವೇದಿಕೆ, ಉತ್ಪಾದನೆ). ಏನನ್ನೂ ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡಬೇಡಿ. ಮಾಡಬೇಡಿ. "ಈಗಿನವರೆಗೆ ಮಾತ್ರ" ಸಹ. ಭಯಾನಕ ಕಥೆಗಳು ಹೇಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತವೆ.
ಹಂತ 6: ನಿಮ್ಮ ಭವಿಷ್ಯದ ಚಿಕಿತ್ಸಕನಿಗೆ ವಿವರಿಸದೆ ವೇದಿಕೆಗೆ ನಿಯೋಜಿಸಿ
ನಿಯೋಜಿಸಿ ಕ್ಲಿಕ್ ಮಾಡಿ. ಲಾಗ್ಗಳನ್ನು ನೋಡಿ. ಉಸಿರಾಡಿ.
- ಆರೋಗ್ಯ ತಪಾಸಣೆಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ: ನಿಮ್ಮ ಮೂಲ ಅಥವಾ
/api/health ok ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆಯೇ?
- ಸ್ಮೋಕ್ ಪರೀಕ್ಷೆಯನ್ನು ಚಲಾಯಿಸಿ:
GET /api/hello, GET /api/users.
- ಪರೀಕ್ಷಾ ಟೋಕನ್ನೊಂದಿಗೆ ಒಂದು ಸಂರಕ್ಷಿತ ಮಾರ್ಗವನ್ನು ಪ್ರಯತ್ನಿಸಿ - ಅದು ಇಲ್ಲದೆ 401 ಅನ್ನು ದೃಢೀಕರಿಸಿ, ಅದರೊಂದಿಗೆ 200 ಅನ್ನು.
ಶೀತಲ ಪ್ರಾರಂಭಗಳು ನಿಧಾನವಾಗಿದ್ದರೆ, ಸಣ್ಣ ಕಾರ್ಯಗಳನ್ನು ಒಂದೇ ಸೇವೆಗೆ ಬ್ಯಾಚ್ ಮಾಡಿ. ಸರ್ವರ್ಲೆಸ್ ಉತ್ತಮವಾಗಿದೆ, ಆದರೆ 400 ಸಣ್ಣ ಕಾರ್ಯಗಳು ವಾಹಕವಿಲ್ಲದ ಆರ್ಕೆಸ್ಟ್ರಾ ಆಗಿರಬಹುದು.
ಹಂತ 7: ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಸೇರಿಸಿ ಆದ್ದರಿಂದ ನೀವು ಬೆಳಿಗ್ಗೆ 2 ಗಂಟೆಗೆ ಊಹಿಸುವುದಿಲ್ಲ
- ವಿನಂತಿ ಲಾಗಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ (ರಚನಾತ್ಮಕ ಲಾಗ್ಗಳು, ದಯವಿಟ್ಟು).
- ದೋಷ ಸೆರೆಹಿಡಿಯುವಿಕೆಯನ್ನು ಹೊಂದಿಸಿ (ವಿನಂತಿ ID ಯೊಂದಿಗೆ ಸ್ಟಾಕ್ ಟ್ರೇಸ್ಗಳು).
- ಸುಪ್ತತೆಯ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳನ್ನು ಸೇರಿಸಿ. ಕೇವಲ p50 ಅಲ್ಲ, p95 ಅನ್ನು ನೋಡಿ. ನಿಮ್ಮ ಬಳಕೆದಾರರು ಸರಾಸರಿಗಳನ್ನು ಅನುಭವಿಸುವುದಿಲ್ಲ.
- 5xx ಸ್ಪೈಕ್ಗಳು ಮತ್ತು DB ಸಂಪರ್ಕ ಚರ್ನ್ಗಾಗಿ ಎಚ್ಚರಿಕೆಗಳನ್ನು ರಚಿಸಿ.
ಪ್ರತಿ ಲೇಯರ್ನಲ್ಲಿ ವಿನಂತಿ ID ಯೊಂದಿಗೆ ಒಂದೇ ಲಾಗ್ ಲೈನ್ "ಇದನ್ನು ಯಾರಾದರೂ ನೋಡುತ್ತಿದ್ದಾರೆಯೇ?" ಎಂಬುವುದರೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುವ 10,000 Slack ಸಂದೇಶಗಳಿಗೆ ಯೋಗ್ಯವಾಗಿದೆ.
ಹಂತ 8: ಒಂದು ಪರೀಕ್ಷೆಯನ್ನು ಬರೆಯಿರಿ. ನಂತರ ಎರಡು. ನಂತರ ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಿ.
ಸಣ್ಣದಾಗಿ ಪ್ರಾರಂಭಿಸಿ:
- ಘಟಕ ಪರೀಕ್ಷೆ: ಇಮೇಲ್ಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸುವ ಅಥವಾ ಒಟ್ಟುಗಳನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡುವ ಸೇವಾ ಕಾರ್ಯ.
- ಸಂಯೋಜನೆ ಪರೀಕ್ಷೆ: ಪರೀಕ್ಷಾ DB ಯೊಂದಿಗೆ
/api/users ಅನ್ನು ಕರೆ ಮಾಡಿ.
ಪುಲ್ ವಿನಂತಿಗಳ ಮೇಲಿನ ಪರೀಕ್ಷೆಗಳನ್ನು ಚಲಾಯಿಸಲು CI ಅನ್ನು ವೈರ್ ಮಾಡಿ. ಕೆಂಪು ಪರೀಕ್ಷೆಗಳೊಂದಿಗೆ ಯಾವುದೇ PR ವಿಲೀನಗೊಳ್ಳುವುದಿಲ್ಲ. ನಿಮಗೆ ಇಂದು ಸಾವಿರ ಪರೀಕ್ಷೆಗಳು ಅಗತ್ಯವಿಲ್ಲ - ಕೇವಲ ನಿರ್ಣಾಯಕ ಮಾರ್ಗಗಳು. ಸೀಟ್ ಬೆಲ್ಟ್ಗಳಂತೆ.
ಹಂತ 9: ಉತ್ಪಾದನೆಗೆ ಪ್ರಚಾರ ಮಾಡಿ (ಹೌದು, ಎಚ್ಚರಿಕೆಯಿಂದ)
- ಒಂದು ಗಂಟೆ ಮುಖ್ಯವನ್ನು ಫ್ರೀಜ್ ಮಾಡಿ. ಮೊದಲು ವೇದಿಕೆಗೆ ಪರಿಹಾರಗಳನ್ನು ಇಳಿಸಿ.
- ಬಿಲ್ಡ್ ಅನ್ನು ಪ್ರಚಾರ ಮಾಡಿ. ನಂತರ ನಿಯೋಜನೆಯ ಸ್ಮೋಕ್ ಪರೀಕ್ಷೆಯನ್ನು ಚಲಾಯಿಸಿ.
- ಸಾರ್ವಜನಿಕ ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಲ್ಲಿ ದರ ಮಿತಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.
- ನೀವು ಸಂಗ್ರಹಿಸಿದರೆ, ವಿವೇಕಯುತ TTL ಗಳನ್ನು ಹೊಂದಿಸಿ. ನೀವು ಸಂಗ್ರಹಿಸದಿದ್ದರೆ, ನಿಮ್ಮ DB ದಣಿದ ಕಣ್ಣುಗಳಿಂದ ನಿಮ್ಮನ್ನು ನೋಡಲು ತಯಾರಾಗಿರಿ.
ಹಿಂತಿರುಗಿಸುವ ಯೋಜನೆಯನ್ನು ಸೇರಿಸಿ: ನೀವು ಒಂದನ್ನು ಹೊಂದಿರುವುದರಿಂದ ಅದನ್ನು ಜಿಂಕ್ ಮಾಡುತ್ತಿಲ್ಲ. ನೀವು ವಯಸ್ಕರಾಗಿದ್ದೀರಿ.
ಮಧ್ಯಾಹ್ನದಲ್ಲಿ ನೀವು ರವಾನಿಸಬಹುದಾದ ಸರಳ, ನೈಜ ಬ್ಯಾಕೆಂಡ್
ಸಣ್ಣ - ಆದರೆ ನೈಜ - ವೈಶಿಷ್ಟ್ಯ ಸೆಟ್ ಅನ್ನು ವೈರ್ ಮಾಡೋಣ:
- ಸಾರ್ವಜನಿಕ
GET /api/hello (ಆರೋಗ್ಯ ಮತ್ತು ವಿವೇಕ).
- ಸಂರಕ್ಷಿತ
POST /api/users (ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿ) ಮತ್ತು GET /api/me (ದೃಢೀಕರಿಸಿದ ಬಳಕೆದಾರರನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ).
- ನೇರ ಹುಡುಕಾಟಕ್ಕಾಗಿ
GET /api/users/:id.
- ಮೃದು ಅಳಿಸುವಿಕೆ:
DELETE /api/users/:id deleted_at ಅನ್ನು ಟಾಗಲ್ ಮಾಡುತ್ತದೆ.
/api/auth/login ಗೆ ದರ ಮಿತಿಯನ್ನು ಸೇರಿಸಿ ಆದ್ದರಿಂದ ಬಾಟ್ಗಳು ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಕಾರ್ಡಿಯೋ ಆಗಿ ಬಳಸುವುದಿಲ್ಲ.
ನಂತರ ನಿಮ್ಮ ಇಮೇಲ್ ಪೂರೈಕೆದಾರರ ಮೂಲಕ ಸ್ವಾಗತ ಇಮೇಲ್ ಅನ್ನು ಸಿಂಪಡಿಸಿ. ಸಂದೇಶವನ್ನು ವ್ಯವಹಾರಿಕ ಮತ್ತು ಸ್ನೇಹಪರವಾಗಿ ಇರಿಸಿ - ನಿಜವಾದ ಮಾರ್ಕೆಟಿಂಗ್ ಮಾರ್ಗಗಳಿಗಾಗಿ ಮಾರ್ಕೆಟಿಂಗ್ ಅನ್ನು ಉಳಿಸಿ.
ಲವಬಲ್ ಕ್ಲೌಡ್ನೊಂದಿಗೆ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ನಿರ್ಮಿಸುವಾಗ ಸಾಮಾನ್ಯ ಬಲೆಗಳು
- ಸರ್ವರ್ಲೆಸ್ನಲ್ಲಿ ಹಂಚಿಕೆಯ ಸ್ಥಿತಿ: ಆಹ್ವಾನಗಳ ನಡುವೆ ಮೆಮೊರಿ ಸಂಗ್ರಹಗಳನ್ನು ಅವಲಂಬಿಸಬೇಡಿ. Redis (ನಿರ್ವಹಿಸಲಾಗಿದೆ) ಅಥವಾ ನಿಮ್ಮ DB ಬಳಸಿ.
- CORS ಕಾನ್ಫಿಗ್ ಕಾಣೆಯಾಗಿದೆ: ಅನುಮತಿಸಲಾದ ಮೂಲಗಳನ್ನು ಹೊಂದಿಸಿ. ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ನ ಡೊಮೇನ್ಗಳಿಗೆ ನಿರ್ಬಂಧಿಸಿ. ಉತ್ಪಾದನೆಯಲ್ಲಿ ಪೂರ್ಣ ವೈಲ್ಡ್ಕಾರ್ಡ್ಗೆ ಹೋಗಬೇಡಿ.
- ದೀರ್ಘ ಶೀತಲ ಪ್ರಾರಂಭಗಳು: ಅವಲಂಬನೆಗಳನ್ನು ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಬಂಡಲ್ ಮಾಡಿ, ಪ್ರತಿ-ಕಾರ್ಯದ ಉಬ್ಬುವಿಕೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಿ ಅಥವಾ ಹಾಟ್ ಪಥಗಳನ್ನು ಕ್ರೋಢೀಕರಿಸಿ.
- ಸೂಚಿಸದ ಪ್ರಶ್ನೆಗಳು: ನಿಮ್ಮ
GET /api/users ಕ್ರಾಲ್ ಆಗಿದ್ದರೆ, email ಮತ್ತು created_at ನಲ್ಲಿ ಸೂಚ್ಯಂಕವನ್ನು ಸೇರಿಸಿ. ನಿಮ್ಮ ಭವಿಷ್ಯದ ನೀವು ಧನ್ಯವಾದಗಳನ್ನು ಕಳುಹಿಸುತ್ತೀರಿ.
- ಮೌನ ವೈಫಲ್ಯಗಳು: ಯಾವಾಗಲೂ ದೋಷಗಳನ್ನು ಸಂದರ್ಭದೊಂದಿಗೆ ಲಾಗ್ ಮಾಡಿ. "ಏನೋ ಮುರಿಯಿತು" ಡೆವೋಪ್ಸ್ ಕಾವ್ಯವಲ್ಲ.
ಕೋಡ್ ಅನ್ನು ಹೇಗೆ ರಚಿಸುವುದು ಆದ್ದರಿಂದ ನೀವು ನಂತರ ಅಳುವುದಿಲ್ಲ
- ಎಂಡ್ಪಾಯಿಂಟ್ಗಳಿಗಾಗಿ
routes/
- ವ್ಯವಹಾರ ತರ್ಕಕ್ಕಾಗಿ
services/
- ಡೇಟಾ ಪ್ರವೇಶಕ್ಕಾಗಿ
repositories/ ಅಥವಾ db/
- ದೃಢೀಕರಣ, ದರ ಮಿತಿ, ಇನ್ಪುಟ್ ಮೌಲ್ಯೀಕರಣಕ್ಕಾಗಿ
middlewares/
- ಸಹಾಯಕರರಿಗಾಗಿ
lib/ (ಇಮೇಲ್, ಕ್ರಿಪ್ಟೋ, ಮೂರನೇ ವ್ಯಕ್ತಿಯ API ಗಳು)
ಸಾಧ್ಯವಾದಾಗ ಕಾರ್ಯಗಳನ್ನು ಶುದ್ಧವಾಗಿಡಿ. ಅಡ್ಡಪರಿಣಾಮಗಳನ್ನು ಅಂಚುಗಳಲ್ಲಿ ಹಾಕಿ. ಇದು ಪರೀಕ್ಷೆಯನ್ನು ಸುಲಭಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಡೀಬಗ್ ಮಾಡುವುದು ಕ್ರೈಮ್ ಶೋನಂತೆ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ನಿಜವಾಗಿ ಮುಖ್ಯವಾದ ಕಾರ್ಯಕ್ಷಮತೆ ಟ್ವೀಕ್ಗಳು
- ಯಾವುದೇ ಪಟ್ಟಿ ಎಂಡ್ಪಾಯಿಂಟ್ನಲ್ಲಿ ಪುಟಗೊಟ್ಡಿಸುವಿಕೆಯನ್ನು ಬಳಸಿ. ನೀವು ದೊಡ್ಡ ಡೇಟಾಸೆಟ್ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಕರ್ಸರ್ ಆಧಾರಿತ.
- ಪ್ರತಿ ವಿನಂತಿಯಲ್ಲಿ ಜಗತ್ತನ್ನು ಮರು-ಕಳುಹಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು ETags ಅಥವಾ ಕೊನೆಯ-ಮಾರ್ಪಡಿಸಿದ ಹೆಡರ್ಗಳನ್ನು ಸೇರಿಸಿ.
- ದುಬಾರಿ ಪ್ರಶ್ನೆಗಳಿಗಾಗಿ ಲೆಕ್ಕಾಚಾರದ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ.
- ನೀವು ಸಾಧ್ಯವಾದಾಗ ಬರೆಯುವಿಕೆಯನ್ನು ಬ್ಯಾಚ್ ಮಾಡಿ. N+1 ಪ್ರಶ್ನೆಗಳು ಬ್ಯಾಕೆಂಡ್ ದೋಷಗಳ ಗ್ಲಿಟರ್ ಆಗಿವೆ - ಅವು ಎಲ್ಲೆಡೆ ಸಿಗುತ್ತವೆ.
ನೀವು ನಿರ್ಲಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಗದ ಭದ್ರತಾ ಮೂಲಭೂತ ಅಂಶಗಳು (ನೀವು ಬಯಸಿದರೂ ಸಹ)
- ಪ್ರತಿ ಮಾರ್ಗದಲ್ಲಿ ಇನ್ಪುಟ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ. JSON ಸ್ಕೀಮಾ ಅಥವಾ ಮೌಲ್ಯೀಕರಣ ಲಿಬ್ ಆಶ್ಚರ್ಯಕರ ದಾಳಿಗಳನ್ನು ತಡೆಯುತ್ತದೆ.
- Argon2 ಅಥವಾ bcrypt ನೊಂದಿಗೆ ಗುಪ್ತಪದಗಳನ್ನು ಹ್ಯಾಶ್ ಮಾಡಿ. ನಿಮ್ಮ ಸ್ವಂತ ಕ್ರಿಪ್ಟೋ ಅನ್ನು ಎಂದಿಗೂ ರೋಲ್ ಮಾಡಬೇಡಿ. ಎಂದಿಗೂ. ದಯವಿಟ್ಟು.
- ವೇಳಾಪಟ್ಟಿಯಲ್ಲಿ ಕೀಗಳು ಮತ್ತು ರಹಸ್ಯಗಳನ್ನು ತಿರುಗಿಸಿ. ಕ್ಯಾಲೆಂಡರ್ ಜ್ಞಾಪನೆಗಳು ಉಲ್ಲಂಘನೆಗಳಿಗಿಂತ ಅಗ್ಗವಾಗಿವೆ.
- ಕನಿಷ್ಠ-ಸವಲತ್ತು ಡೇಟಾಬೇಸ್ ಪಾತ್ರಗಳನ್ನು ಬಳಸಿ. ನಿಮ್ಮ API ಗೆ ಸೂಪರ್ಯುಸರ್ ಅಧಿಕಾರಗಳ ಅಗತ್ಯವಿಲ್ಲ - ಯಾರಿಗೂ ಇಲ್ಲ.
ಬೆಲೆ ವಾಸ್ತವ ಪರಿಶೀಲನೆ: ಎದೆಯುರಿ ಅಲ್ಲ, ಬೆಳವಣಿಗೆಗಾಗಿ ಯೋಜಿಸಿ
ಸರ್ವರ್ಲೆಸ್ ಉಚಿತವೆಂದು ಭಾವಿಸುತ್ತದೆ… ಅದು ಆಗುವವರೆಗೂ ಇಲ್ಲ. ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ:
- ಸಂಚಾರವು ಹೆಚ್ಚಾದಾಗ ಶೀತಲ ಪ್ರಾರಂಭ ದಂಡಗಳು.
- ಚಾಟಿ API ಗಳಿಗಾಗಿ ನಿರ್ಗಮನ ವೆಚ್ಚಗಳು.
- ಹಿನ್ನೆಲೆ ಉದ್ಯೋಗಗಳಾಗಿರಬೇಕಾದ ದೀರ್ಘಕಾಲೀನ ಕಾರ್ಯಗಳು.
ಬಜೆಟ್ಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಹೊಂದಿಸಿ. ನಿಮ್ಮ CFO ಬೆಂಕಿ ಎಮೋಜಿಯೊಂದಿಗೆ ನಿಮಗೆ ಪಠ್ಯ ಸಂದೇಶ ಕಳುಹಿಸಿದರೆ, ಅದು ಈಗಾಗಲೇ ತಡವಾಗಿದೆ.
ನಿಮಗೆ ಡಾಕ್ಸ್, ಉದಾಹರಣೆಗಳು ಮತ್ತು ವಿವೇಕ ಪರಿಶೀಲನೆ ಅಗತ್ಯವಿದ್ದಾಗ
ನಾನು ಎರಡು ಸತ್ಯಗಳಿಂದ ಬದುಕುತ್ತೇನೆ: ನೀವು ಏನನ್ನಾದರೂ ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದೀರಿ ಎಂಬುದನ್ನು ನೀವು ಮರೆಯುತ್ತೀರಿ ಮತ್ತು ನೀವು ಅದನ್ನು ರಾತ್ರಿ 11 ಗಂಟೆಗೆ ಮತ್ತೆ ಹೊಂದಿಸಬೇಕಾಗುತ್ತದೆ. ನಿಮ್ಮ ರೆಪೊದಲ್ಲಿ README ಅನ್ನು ಇರಿಸಿ:
- ಸಾಮಾನ್ಯ ಆಜ್ಞೆಗಳು (ವಲಸೆಗಳು, ಪರೀಕ್ಷೆಗಳು, ನಿಯೋಜಿಸಿ)
- ಉದಾಹರಣೆ ವಿನಂತಿಗಳೊಂದಿಗೆ ಎಂಡ್ಪಾಯಿಂಟ್ ಪಟ್ಟಿ
ಮೂರು ತಿಂಗಳಲ್ಲಿ ಹೊಸ ನಿಮಗಾಗಿ - ಅಥವಾ ಮುಂದಿನ ವಾರ ನಿಜವಾದ ಹೊಸ ತಂಡದ ಸದಸ್ಯರಿಗಾಗಿ ಅದನ್ನು ಸ್ನೇಹಪರವಾಗಿ ಮಾಡಿ.
ಗಮನಿಸಬೇಕಾದ ಅಂಶ: ಸಂಶೋಧನೆ ಮತ್ತು ಕೋಡ್ ವಿಮರ್ಶೆಗಾಗಿ ಶಾರ್ಟ್ಕಟ್
ಗಮನಿಸಬೇಕಾದ ಅಂಶ: ನೀವು ವಾಸ್ತುಶಿಲ್ಪದ ಆಯ್ಕೆಗಳ ಕುರಿತು ಎರಡನೇ ಅಭಿಪ್ರಾಯವನ್ನು ಬಯಸಿದರೆ ಅಥವಾ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಹೋಲಿಸಲು, Sider.AI ನಿಮ್ಮ ಯೋಜನೆಯನ್ನು ಪರಿಶೀಲಿಸುವ, ವಿಚಿತ್ರ ಅಂಚಿನ ಪ್ರಕರಣಗಳನ್ನು ಸೂಚಿಸುವ ಮತ್ತು ನೀವು ರವಾನಿಸುವ ಮೊದಲು ಪರಿಶೀಲನಾಪಟ್ಟಿಯನ್ನು ನಿಮಗೆ ನೀಡುವ ಅರ್ಥಹೀನ ತಂಡದ ಸದಸ್ಯನಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ನಿಮಗಾಗಿ ನಿಯೋಜಿಸಿ ಕ್ಲಿಕ್ ಮಾಡುವುದಿಲ್ಲ - ಆದರೆ ಇದು "ಓಹ್ ಇಲ್ಲ" Slack ಥ್ರೆಡ್ ಅನ್ನು ತಪ್ಪಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ತ್ವರಿತ ಉಲ್ಲೇಖ: ನಿಮ್ಮ ಲವಬಲ್ ಕ್ಲೌಡ್ ಬ್ಯಾಕೆಂಡ್ ಪರಿಶೀಲನಾಪಟ್ಟಿ
- ಯೋಜನೆಯನ್ನು ರಚಿಸಲಾಗಿದೆ, Git ಅನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ, ಶಾಖೆಯ ತಂತ್ರ
- JSON ಅನ್ನು ಹಿಂತಿರುಗಿಸುವ ಹಲೋ ಎಂಡ್ಪಾಯಿಂಟ್
- ಡೇಟಾಬೇಸ್ ಒದಗಿಸಲಾಗಿದೆ, ವಲಸೆ ರನ್, ORM ಸಂಪರ್ಕಿತ
- ದೃಢೀಕರಣ ಸ್ಥಳದಲ್ಲಿದೆ, ಪರಿಸರ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ರಹಸ್ಯಗಳು
- ವೇದಿಕೆಯನ್ನು ನಿಯೋಜಿಸಲಾಗಿದೆ, ಲಾಗ್ಗಳು ಸ್ವಚ್ಛವಾಗಿವೆ, ಸಂರಕ್ಷಿತ ಮಾರ್ಗಗಳು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆ
- ಮೇಲ್ವಿಚಾರಣೆ, ಎಚ್ಚರಿಕೆಗಳು, ಮೂಲ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳು
- CI ಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ವೈರ್ ಮಾಡಲಾಗಿದೆ, ಕೆಂಪು PR ಗಳಿಲ್ಲ
- ದರ ಮಿತಿ ಮತ್ತು ಹಿಂತಿರುಗಿಸುವ ಯೋಜನೆಯೊಂದಿಗೆ ಉತ್ಪಾದನಾ ರೋಲ್ಔಟ್
ಇದನ್ನು ನಿಮ್ಮ ಮಾನಿಟರ್ಗೆ ಟೇಪ್ ಮಾಡಿ. ಅಥವಾ ಟ್ಯಾಟೂ ಮಾಡಿ. (ದಯವಿಟ್ಟು ಟ್ಯಾಟೂ ಮಾಡಬೇಡಿ.)
ಸಂಗ್ರಹ: ಅದನ್ನು ಬೇಸರದ ಮೂಲಕ ಪ್ರೀತಿಯಿಂದ ಮಾಡಿ (ಒಳ್ಳೆಯ ರೀತಿಯಲ್ಲಿ)
ಪ್ರೀತಿಯ ಬ್ಯಾಕೆಂಡ್ ಎಂದರೆ ನೀವು ಮಲಗಿರುವಾಗ ನಿಶ್ಯಬ್ದವಾಗಿ ತನ್ನ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ. ಬೇಸರದ, ಸಾಬೀತಾದ ತುಣುಕುಗಳೊಂದಿಗೆ ನಿರ್ಮಿಸಿ: HTTP ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು, ಕ್ಲೀನ್ ದೃಢೀಕರಣ, ಗಟ್ಟಿಮುಟ್ಟಾದ ಡೇಟಾಬೇಸ್ ಮತ್ತು ಸೂಕ್ಷ್ಮ ನಿಯೋಜನೆ. ಲವಬಲ್ ಕ್ಲೌಡ್ ಸ್ಕ್ಯಾಫೋಲ್ಡಿಂಗ್ ನಾಟಕವನ್ನು ತೆಗೆದುಹಾಕುವ ಮೂಲಕ ಸಹಾಯ ಮಾಡುತ್ತದೆ ಆದ್ದರಿಂದ ನೀವು ಮುಖ್ಯವಾದ ಭಾಗಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಬಹುದು - ನಿಮ್ಮ ಉತ್ಪನ್ನ, ನಿಮ್ಮ ಬಳಕೆದಾರರು ಮತ್ತು ಬಹುಶಃ ನೀವು ಬಿಟ್ಟುಬಿಟ್ಟ ಕಾಫಿ.
/hello ಅನ್ನು ರವಾನಿಸಿ. /users ಅನ್ನು ಸೇರಿಸಿ. ಸ್ಕ್ರೂಗಳನ್ನು ಬಿಗಿಗೊಳಿಸಿ. ನಂತರ ನಿಮ್ಮ ಬ್ಯಾಕೆಂಡ್ ಗಂಟೆಗಳವರೆಗೆ ಬೇರೆ ಏನನ್ನಾದರೂ ಮಾಡಿ. ಅದು ಕೇವಲ ಪ್ರೀತಿಯಿಂದ ಮಾತ್ರವಲ್ಲ - ಅದು ಬದುಕುತ್ತಿದೆ.
ಸಣ್ಣ ಪ್ರಶ್ನೋತ್ತರ: ನೈಜ-ಪ್ರಪಂಚದ ಸನ್ನಿವೇಶಗಳು
ನಾನು ಒಂದೇ ಯೋಜನೆಯಲ್ಲಿ ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ API ಗಳನ್ನು ಮಿಶ್ರಣ ಮಾಡಬಹುದೇ?
ಹೌದು. ಖಾಸಗಿ ಮಾರ್ಗಗಳನ್ನು ಗೇಟ್ ಮಾಡಲು ಮಧ್ಯಂತರವನ್ನು ಬಳಸಿ ಮತ್ತು ಯಂತ್ರದಿಂದ ಯಂತ್ರಕ್ಕೆ ಸಂಚಾರಕ್ಕಾಗಿ ಟೋಕನ್ಗಳು/ಕೀಲಿಗಳನ್ನು ಬೇರ್ಪಡಿಸಿ. ವ್ಯಾಪ್ತಿಗಳನ್ನು ಬಿಗಿಯಾಗಿ ಇರಿಸಿ.
ನನಗೆ ಹಿನ್ನೆಲೆ ಉದ್ಯೋಗಗಳು ಬೇಕಾದರೆ ಏನು?
ದೀರ್ಘಕಾಲೀನ ಕೆಲಸಕ್ಕಾಗಿ (ಇಮೇಲ್ಗಳು, ವರದಿಗಳು, ಸಿಂಕ್ಗಳು) ನಿಗದಿತ ಅಥವಾ ಕ್ಯೂ-ಚಾಲಿತ ಕಾರ್ಯಗಳನ್ನು ಸ್ಪಿನ್ ಮಾಡಿ. ಸುದ್ದಿಪತ್ರಗಳನ್ನು ಕಳುಹಿಸಲು ಬಳಕೆದಾರರ ವಿನಂತಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಬೇಡಿ.
ವೇದಿಕೆ ಮತ್ತು ಉತ್ಪಾದನೆಯು ಹದಿಹರೆಯದವರಂತೆ ರಹಸ್ಯಗಳನ್ನು ಬದಲಾಯಿಸುವುದನ್ನು ನಾನು ಹೇಗೆ ತಡೆಯುವುದು?
ವಿಭಿನ್ನ ಪರಿಸರಗಳು. ವಿಭಿನ್ನ ರಹಸ್ಯಗಳು. CI ನಲ್ಲಿ ಗಾರ್ಡ್ರೈಲ್ಗಳು ಆದ್ದರಿಂದ ವೇದಿಕೆ ಪರಿಕರಗಳು ಉತ್ಪಾದನಾ ಬಿಲ್ಡ್ಗಳಿಗೆ ಎಂದಿಗೂ ನುಸುಳುವುದಿಲ್ಲ.
ನಾನು ಸರಳವಾಗಿ ಪ್ರಾರಂಭಿಸಿ ನಂತರ ಪೂರ್ಣ ಮೈಕ್ರೋಸರ್ವೀಸ್ಗಳಿಗೆ ಹೋಗಬಹುದೇ?
ಖಂಡಿತವಾಗಿ. ವೇಗಕ್ಕಾಗಿ ಏಕಶಿಲೆಯಾಗಿ ಪ್ರಾರಂಭಿಸಿ. ನಿಮ್ಮ ಮೆಟ್ರಿಕ್ಗಳು "ಈಗ" ಎಂದು ಹೇಳಿದಾಗ ಹಾಟ್ ಸ್ಪಾಟ್ಗಳನ್ನು ಹೊರತೆಗೆಯಿರಿ, ಪಾಡ್ಕ್ಯಾಸ್ಟ್ "ಮೈಕ್ರೋಸರ್ವೀಸ್ಗಳು ತಂಪಾಗಿವೆ" ಎಂದು ಹೇಳಿದಾಗ ಅಲ್ಲ.
ಮುಂದಿನ ಹಂತಗಳು: ನಿಮ್ಮ 30-ನಿಮಿಷದ ಯೋಜನೆ
- 5 ನಿಮಿಷಗಳು: ಯೋಜನೆಯನ್ನು ರಚಿಸಿ, ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ
- 10 ನಿಮಿಷಗಳು:
/api/hello ಅನ್ನು ನಿರ್ಮಿಸಿ, ಡೇಟಾಬೇಸ್ ಅನ್ನು ವೈರ್ ಮಾಡಿ, ವಲಸೆಯನ್ನು ಚಲಾಯಿಸಿ
- 10 ನಿಮಿಷಗಳು: JWT ದೃಢೀಕರಣವನ್ನು ಸೇರಿಸಿ,
POST /api/users ಅನ್ನು ರಕ್ಷಿಸಿ
- 5 ನಿಮಿಷಗಳು: ವೇದಿಕೆಗೆ ನಿಯೋಜಿಸಿ, ಸ್ಮೋಕ್ ಪರೀಕ್ಷೆಯನ್ನು ಚಲಾಯಿಸಿ
ಅಷ್ಟೇ. ನೀವು ಈಗಷ್ಟೇ ಲವಬಲ್ ಕ್ಲೌಡ್ನೊಂದಿಗೆ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ನಿರ್ಮಿಸಿದ್ದೀರಿ. ಇದು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಸ್ಕೇಲ್ ಆಗುತ್ತದೆ. ಮತ್ತು ನಿಮ್ಮ ಕಾಫಿಯನ್ನು ಬಿಸಿಮಾಡಲು ನಿಮಗೆ ಇನ್ನೂ ಸಮಯವಿದೆ.
FAQ
Q1:ಲವಬಲ್ ಕ್ಲೌಡ್ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ಆರಂಭಿಕರಿಗಾಗಿ ಉತ್ತಮವಾಗಿದೆಯೇ?
ಹೌದು - ಅದರ ಟೆಂಪ್ಲೇಟ್ಗಳು, ಸರ್ವರ್ಲೆಸ್ ಕಾರ್ಯಗಳು ಮತ್ತು ಪರಿಸರ ವ್ಯವಸ್ಥಾಪಕವು ಮೊದಲ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಕಡಿಮೆ ಭಯಾನಕವಾಗಿಸುತ್ತದೆ. ಸರಳವಾದ REST API ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಿ, ಡೇಟಾಬೇಸ್ ಅನ್ನು ಸೇರಿಸಿ, ನಂತರ ದೃಢೀಕರಣವನ್ನು ಲೇಯರ್ ಮಾಡಿ. ಡೇಟಾ ಸೆಂಟರ್ನೊಂದಿಗೆ ಕುಸ್ತಿ ಮಾಡದೆ ನೀವು ನಿಜವಾದ ಮಾದರಿಗಳನ್ನು ಕಲಿಯುವಿರಿ.
Q2:ಉತ್ಪಾದನೆಗಾಗಿ ನನ್ನ ಲವಬಲ್ ಕ್ಲೌಡ್ ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ನಾನು ಹೇಗೆ ಸುರಕ್ಷಿತಗೊಳಿಸುವುದು?
JWT ಅಥವಾ OAuth ಬಳಸಿ, CORS ಅನ್ನು ಲಾಕ್ ಮಾಡಿ ಮತ್ತು ಪರಿಸರ ವ್ಯವಸ್ಥಾಪಕದಲ್ಲಿ ರಹಸ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ. ದರ ಮಿತಿಗಳನ್ನು ಸೇರಿಸಿ, ಪ್ರತಿ ಮಾರ್ಗದಲ್ಲಿ ಇನ್ಪುಟ್ ಅನ್ನು ಮೌಲ್ಯೀಕರಿಸಿ ಮತ್ತು ಬಳಕೆದಾರರು ಮಾಡುವ ಮೊದಲು ಸಮಸ್ಯೆಗಳನ್ನು ನೀವು ಹಿಡಿಯುವಂತೆ p95 ಸುಪ್ತತೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ.
Q3:REST API ಗಳಿಗಾಗಿ ಲವಬಲ್ ಕ್ಲೌಡ್ನೊಂದಿಗೆ ಯಾವ ಡೇಟಾಬೇಸ್ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ?
PostgreSQL ಹೆಚ್ಚಿನ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಆಯ್ಕೆಯಾಗಿದೆ, ವಿಶೇಷವಾಗಿ Prisma ಅಥವಾ Drizzle ನಂತಹ ORM ನೊಂದಿಗೆ. ಇದು ಸಂಬಂಧಿತ ಡೇಟಾ, ವಹಿವಾಟುಗಳು ಮತ್ತು ಸೂಚ್ಯಂಕಗಳನ್ನು ನಾಟಕವಿಲ್ಲದೆ ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಸಂಚಾರವು ಬೆಳೆದಂತೆ ಸ್ಕೇಲ್ ಆಗುತ್ತದೆ.
Q4:ಸರ್ವರ್ಲೆಸ್ ಬ್ಯಾಕೆಂಡ್ಗಳಲ್ಲಿ ನಾನು ಶೀತಲ ಪ್ರಾರಂಭಗಳು ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸುವುದು?
ಅವಲಂಬನೆಗಳನ್ನು ಬುದ್ಧಿವಂತಿಕೆಯಿಂದ ಬಂಡಲ್ ಮಾಡಿ, ನಿರ್ಣಾಯಕ ಮಾರ್ಗಗಳನ್ನು ಬೆಚ್ಚಗಾಗಿಸಿ ಮತ್ತು ಒಂದು ಸೇವೆ ಮಾಡಿದಾಗ ನೂರು ಸಣ್ಣ ಕಾರ್ಯಗಳನ್ನು ತಪ್ಪಿಸಿ. ಸಂಗ್ರಹಣೆ ಮತ್ತು ಪುಟಗೊಟ್ಡಿಸುವಿಕೆಯನ್ನು ಸೇರಿಸಿ ಮತ್ತು ನಿಜವಾಗಿ ಮುಖ್ಯವಾದುದನ್ನು ಟ್ಯೂನ್ ಮಾಡಲು p95 ಸುಪ್ತತೆಯನ್ನು ವೀಕ್ಷಿಸಿ.
Q5:ವಿಭಿನ್ನ ರಹಸ್ಯಗಳು ಮತ್ತು URL ಗಳೊಂದಿಗೆ ವೇದಿಕೆ ಮತ್ತು ಉತ್ಪಾದನೆಯನ್ನು ನಾನು ನಿಯೋಜಿಸಬಹುದೇ?
ಖಂಡಿತವಾಗಿ. ವಿಭಿನ್ನ ಪರಿಸರಗಳನ್ನು ರಚಿಸಿ, ವಿಭಿನ್ನ DATABASE_URL, JWT_SECRET ಮತ್ತು ಡೊಮೇನ್ಗಳನ್ನು ಹೊಂದಿಸಿ ಮತ್ತು ಬಿಲ್ಡ್ಗಳನ್ನು ಮುಂದೆ ಪ್ರಚಾರ ಮಾಡಿ. ಇದು ಪರೀಕ್ಷೆಯನ್ನು ಸುರಕ್ಷಿತವಾಗಿರಿಸುತ್ತದೆ ಮತ್ತು ಹಿಂತಿರುಗಿಸುವಿಕೆಯನ್ನು ನೋವುರಹಿತವಾಗಿಸುತ್ತದೆ.