ಡೆಡ್ ಕನೆಕ್ಷನ್ಗಳಿಲ್ಲದೆ ಡೇಟಾಬೇಸ್ಗಳನ್ನು ಎಚ್ಚರಗೊಳಿಸುವುದು
Mythex ನಲ್ಲಿ ಪ್ರಕಟಿತ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಅವುಗಳ ಡೇಟಾಬೇಸ್ಗಳು, ಯಾರೂ ಬಳಸದಿದ್ದಾಗ, ನಿದ್ರೆಗೆ ಜಾರುತ್ತವೆ. ಆ್ಯಪ್ ಎಚ್ಚರಗೊಂಡಾಗ, ಅದು ತನ್ನ ಮೊದಲ ವಿನಂತಿಯನ್ನು 10–12 ಸೆಕೆಂಡ್ಗಳ ಕಾಲ ಹಿಡಿದಿಡುತ್ತಿತ್ತು, ಏಕೆಂದರೆ ಎಲ್ಲವೂ ನಿದ್ರಿಸುತ್ತಿದ್ದಾಗ ಸತ್ತುಹೋದ ಡೇಟಾಬೇಸ್ ಕನೆಕ್ಷನ್ಗಳನ್ನು ಮರುಬಳಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿತ್ತು. ಈಗ ನಾವು ಸ್ಪ್ರಿಂಗ್ ಬೂಟ್ ಆ್ಯಪ್ಗಳಿಗೆ ನಿದ್ರೆಯ ನಂತರವೂ ಸುರಕ್ಷಿತವಾದ ಡೇಟಾಬೇಸ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನೀಡುತ್ತೇವೆ ಮತ್ತು ಯಾವುದೇ ಸ್ಟ್ಯಾಕ್ನ ಆ್ಯಪ್ಗಳನ್ನೂ ಅದೇ ರೀತಿ ನಿರ್ಮಿಸುವಂತೆ ಏಜೆಂಟ್ಗೆ ಹೇಳುತ್ತೇವೆ. ಹೋಸ್ಟಿಂಗ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನಲ್ಲಿ, ಎಚ್ಚರಗೊಂಡ ನಂತರದ ಮೊದಲ ವಿನಂತಿ 12.7 ಸೆಕೆಂಡ್ನಿಂದ 2.3 ಸೆಕೆಂಡ್ಗೆ ಇಳಿಯಿತು.
ಆ್ಯಪ್ಗಳು ಮತ್ತು ಡೇಟಾಬೇಸ್ಗಳು ನಿದ್ರಿಸುವುದು ಏಕೆ
ಒಂದು ಪ್ರಕಟಿತ Mythex ಆ್ಯಪ್ ಕೆಲವು ನಿಷ್ಕ್ರಿಯ ನಿಮಿಷಗಳ ನಂತರ ನಿಲ್ಲುವ ಯಂತ್ರದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ, ಮತ್ತು ಅದರ ಡೇಟಾಬೇಸ್ ಐದು ನಿಷ್ಕ್ರಿಯ ನಿಮಿಷಗಳ ನಂತರ ನಿದ್ರಿಸುವ ಸರ್ವರ್ಲೆಸ್ Postgres ಆಗಿದೆ ಮತ್ತು ಮುಂದಿನ ವಿನಂತಿಯಲ್ಲಿ ಎಚ್ಚರಗೊಳ್ಳುತ್ತದೆ. ಶಾಂತವಾಗಿರುವ ಆ್ಯಪ್ ಅಗ್ಗವಾಗಿ ಉಳಿಯಲು ಇದೇ ಕಾರಣ: ಡೇಟಾಬೇಸ್ ನಿಜವಾಗಿ ಬಳಸಿದ್ದಕ್ಕೆ ಮಾತ್ರ ಶುಲ್ಕ ವಿಧಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ನಿದ್ರಿಸುವ ಆ್ಯಪ್ ಕಂಪ್ಯೂಟ್ಗೆ ಏನನ್ನೂ ಖರ್ಚು ಮಾಡುವುದಿಲ್ಲ. ಬಿಲ್ಲಿಂಗ್ ಕಡೆಯ ಬಗ್ಗೆ ನಾವು ಡೇಟಾಬೇಸ್ಗಳನ್ನು ಅವು ನಿಜವಾಗಿ ಬಳಸಿದ್ದಕ್ಕೆ ತಕ್ಕಂತೆ ಬಿಲ್ ಮಾಡುವುದು ಕುರಿತು ಬರೆದಿದ್ದೇವೆ.
ಸಮಸ್ಯೆ ಇರುವುದು ಇಲ್ಲಿ: ಎರಡೂ ಬೇರೆ ಬೇರೆಯಾಗಿ ನಿದ್ರಿಸುತ್ತವೆ, ಮತ್ತು ಕನೆಕ್ಷನ್ ಎಂದರೆ ಏನು ಎಂಬುದರ ಬಗ್ಗೆ ಅವು ಒಪ್ಪುವುದಿಲ್ಲ.
ಲಕ್ಷಣ: ನಿಧಾನವಾದ ಮೊದಲ ಭೇಟಿ
ಬಹುತೇಕ ಸರ್ವರ್ ಆ್ಯಪ್ಗಳು ಕನೆಕ್ಷನ್ ಪೂಲ್ ಅನ್ನು ಇಡುತ್ತವೆ: ಕೆಲವು ತೆರೆದ ಡೇಟಾಬೇಸ್ ಕನೆಕ್ಷನ್ಗಳು ಸಿದ್ಧವಾಗಿರುತ್ತವೆ, ಆದ್ದರಿಂದ ಪ್ರತಿ ವಿನಂತಿಯೂ ಹೊಸದನ್ನು ತೆರೆಯುವ ವೆಚ್ಚವನ್ನು ಪಾವತಿಸಬೇಕಾಗಿಲ್ಲ. ಯಾವಾಗಲೂ ಚಾಲನೆಯಲ್ಲಿರುವ ಆ್ಯಪ್ಗೆ ಇದು ಸರಿಯಾದ ವಿನ್ಯಾಸ.
ನಿದ್ರೆಯೊಂದಿಗೆ ಹೀಗೆ ಆಗುತ್ತದೆ:
- ಆ್ಯಪ್ ಚಾಲನೆಯಲ್ಲಿದೆ, ಅದರ ಪೂಲ್ನಲ್ಲಿ ಕೆಲವು ನಿಷ್ಕ್ರಿಯ ಕನೆಕ್ಷನ್ಗಳಿವೆ.
- ಯಾರೂ ಭೇಟಿ ನೀಡುವುದಿಲ್ಲ. ಆ್ಯಪ್ನ ಯಂತ್ರ ನಿಲ್ಲುತ್ತದೆ — ಹೆಪ್ಪುಗಟ್ಟಿ, ಪೂಲ್ ಹಾಗೆಯೇ ಉಳಿದು.
- ಡೇಟಾಬೇಸ್ ನಿದ್ರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಕನೆಕ್ಷನ್ನ ತನ್ನ ಕೊನೆಯನ್ನು ಬಿಡುತ್ತದೆ.
- ಒಬ್ಬ ಭೇಟಿಗಾರ ಬರುತ್ತಾನೆ. ಆ್ಯಪ್ ಇದ್ದಂತೆಯೇ ಎಚ್ಚರಗೊಳ್ಳುತ್ತದೆ, ಆದರೆ ಡೇಟಾಬೇಸ್ಗೆ ಇನ್ನು ತಿಳಿದಿಲ್ಲದ ಕನೆಕ್ಷನ್ಗಳನ್ನು ಇನ್ನೂ ಹಿಡಿದುಕೊಂಡಿರುತ್ತದೆ.
- ಪೂಲ್ ಆ ಕನೆಕ್ಷನ್ಗಳಲ್ಲಿ ಒಂದನ್ನು ಕೊಡುತ್ತದೆ. ಅದು ಸತ್ತಿದೆ ಎಂದು ಅದು ಕಂಡುಕೊಳ್ಳಬೇಕು — ಪ್ರಯತ್ನಿಸಿ ಕಾಯುವ ಮೂಲಕ — ಆ ನಂತರವೇ ಅದನ್ನು ಬಿಡಬಹುದು.
ಸ್ಪ್ರಿಂಗ್ ಬೂಟ್ ಆ್ಯಪ್ನಲ್ಲಿ, ಆ ಸತ್ತ ಕನೆಕ್ಷನ್ಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು ಮೊದಲ ವಿನಂತಿಯನ್ನು ಸುಮಾರು 10 ಸೆಕೆಂಡ್ಗಳ ಕಾಲ ತಡೆಹಿಡಿದು, ನಂತರ “Connection is not available” ಎಂಬ ದೋಷದೊಂದಿಗೆ ವಿಫಲವಾಗುತ್ತಿತ್ತು. ಭೇಟಿಗಾರರಿಗೆ ಸೈಟ್ ಹಾಗೆಯೇ ಹ್ಯಾಂಗ್ ಆಯಿತು, ನಂತರ ಬಹುಶಃ ಒಂದು ದೋಷ ತೋರಿಸಿತು.
ಸ್ಪ್ರಿಂಗ್ ಆ್ಯಪ್ಗಳಿಗೆ ಇದು ಏಕೆ ಹೆಚ್ಚು ಕಷ್ಟವಾಯಿತು
ಸ್ಪ್ರಿಂಗ್ ಬೂಟ್ ಒಂದು ಜನಪ್ರಿಯ ಜಾವಾ ಫ್ರೇಮ್ವರ್ಕ್ ಆಗಿದ್ದು, ಡೀಫಾಲ್ಟ್ ಆಗಿ HikariCP ಎಂಬ ಕನೆಕ್ಷನ್ ಪೂಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಎಷ್ಟು ನಿಷ್ಕ್ರಿಯ ಕನೆಕ್ಷನ್ಗಳನ್ನು ಇಡಬೇಕು ಎಂಬುದು ಸೇರಿದಂತೆ ಸ್ಪ್ರಿಂಗ್ ಆ ಪೂಲ್ ಅನ್ನು ಸೆಟ್ಟಿಂಗ್ಗಳಿಂದ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು.
ಆದರೆ Mythex ಪ್ರತಿ ಆ್ಯಪ್ಗೆ ಅದರ ಡೇಟಾಬೇಸ್ ಅನ್ನು postgresql://user:pass@host/db ರೂಪದಲ್ಲಿ ಒಂದೇ DATABASE_URL ಆಗಿ ನೀಡುತ್ತದೆ. ಆ ಸ್ವರೂಪವನ್ನು ಸ್ಪ್ರಿಂಗ್ ನೇರವಾಗಿ ಓದಲಾರದು. ಹಾಗಾಗಿ Mythex ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾದ ಸ್ಪ್ರಿಂಗ್ ಆ್ಯಪ್ಗಳು ಆ URL ಅನ್ನು ಪಾರ್ಸ್ ಮಾಡಿ ಕೋಡ್ನಲ್ಲಿ ತಮ್ಮದೇ ಪೂಲ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದವು — ಮತ್ತು ಕೈಯಿಂದ ನಿರ್ಮಿಸಿದ ಪೂಲ್ ಸ್ಪ್ರಿಂಗ್ನ spring.datasource.* ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ. ಸರಿಯಾದ ಪೂಲ್ ಸೆಟ್ಟಿಂಗ್ಗಳು ಯಾರಿಗೆ ತಿಳಿದಿದ್ದರೂ, ಅವು ಪರಿಣಾಮ ಬೀರುವ ಸ್ಥಳವೇ ಇರಲಿಲ್ಲ.
ಪರಿಹಾರ, ಭಾಗ 1: ಸ್ಪ್ರಿಂಗ್ ಬಳಸಬಹುದಾದ ಸೆಟ್ಟಿಂಗ್ಗಳು
ಪ್ರಾಜೆಕ್ಟ್ನಲ್ಲಿ ಡೇಟಾಬೇಸ್ ಇದ್ದಾಗ, ಈಗ ಅದಕ್ಕೆ ಸ್ಪ್ರಿಂಗ್ ನೇರವಾಗಿ ಓದುವ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ಗಳನ್ನೂ ನೀಡುತ್ತೇವೆ:
SPRING_DATASOURCE_URL,SPRING_DATASOURCE_USERNAMEಮತ್ತುSPRING_DATASOURCE_PASSWORD,DATABASE_URLನಿಂದ ಪರಿವರ್ತಿತ (URL ಬೇರೆ ಹೇಳದ ಹೊರತು SSL ಅಗತ್ಯವಿದೆ).- ನಿದ್ರೆಯನ್ನು ತಡೆದುಕೊಳ್ಳುವ ಪೂಲ್ ಸೆಟ್ಟಿಂಗ್ಗಳು:
| ಸೆಟ್ಟಿಂಗ್ | ಮೌಲ್ಯ | ಏಕೆ |
|---|---|---|
| ಕನಿಷ್ಠ ನಿಷ್ಕ್ರಿಯ ಕನೆಕ್ಷನ್ಗಳು | 0 | ವಿನಂತಿಗಳ ನಡುವೆ ಏನನ್ನೂ ತೆರೆದಿಡಬೇಡಿ, ಹಾಗಾಗಿ ಹಳತಾಗಲು ಏನೂ ಇರುವುದಿಲ್ಲ |
| ನಿಷ್ಕ್ರಿಯ ಟೈಮ್ಔಟ್ | 30 ಸೆಕೆಂಡ್ | ಬಳಸದ ಕನೆಕ್ಷನ್ಗಳನ್ನು ಬೇಗ ಮುಚ್ಚಿ |
| ಗರಿಷ್ಠ ಜೀವಿತಾವಧಿ | 2 ನಿಮಿಷ | ಹಳತಾಗುವ ಮೊದಲೇ ಪ್ರತಿ ಕನೆಕ್ಷನ್ ಅನ್ನು ನಿವೃತ್ತಿಗೊಳಿಸಿ |
| ಕನೆಕ್ಷನ್ ಟೈಮ್ಔಟ್ | 5 ಸೆಕೆಂಡ್ | ಡೇಟಾಬೇಸ್ ಉತ್ತರಿಸಲು ನಿಧಾನವಾದರೆ ವಿನಂತಿಯನ್ನು ಹೆಚ್ಚು ಹೊತ್ತು ತಡೆಹಿಡಿಯಬೇಡಿ |
ಯಾವುದೇ ನಿಷ್ಕ್ರಿಯ ಕನೆಕ್ಷನ್ಗಳನ್ನು ಹಿಡಿದಿಡದಿದ್ದರೆ, ಎಚ್ಚರಗೊಂಡ ಆ್ಯಪ್ ಸತ್ತ ಕನೆಕ್ಷನ್ಗಳ ಮೂಲಕ ಹೋಗುವ ಬದಲು ಹೊಸ ಕನೆಕ್ಷನ್ ಒಂದನ್ನು ತೆರೆಯುತ್ತದೆ.
ಈ ವೇರಿಯೇಬಲ್ಗಳಿದ್ದಾಗ, ಸ್ಪ್ರಿಂಗ್ ಪೂಲ್ ಅನ್ನು ತಾನೇ ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಸೆಟ್ಟಿಂಗ್ಗಳು ಅನ್ವಯವಾಗುತ್ತವೆ. ಪ್ರಾಜೆಕ್ಟ್ ತಾನೇ ಹೊಂದಿಸಿರುವುದು ಯಾವಾಗಲೂ ಗೆಲ್ಲುತ್ತದೆ; ನಾವು ಕಾಣೆಯಾಗಿರುವುದನ್ನು ಮಾತ್ರ ತುಂಬುತ್ತೇವೆ. ಸ್ಪ್ರಿಂಗ್ ಅಲ್ಲದ ಆ್ಯಪ್ಗಳು ಈ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತವೆ.
ಬಹುತೇಕ ಏನೂ ಮಾಡದಿದ್ದ ಸೂಕ್ಷ್ಮ ವಿವರ
ಸ್ಪ್ರಿಂಗ್ ಎನ್ವಿರಾನ್ಮೆಂಟ್ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ತನ್ನ ಸೆಟ್ಟಿಂಗ್ಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡುವ ನಿಯಮ ಸುಲಭವಾಗಿ ತಪ್ಪಾಗಬಹುದು. minimum-idle ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು SPRING_DATASOURCE_HIKARI_MINIMUMIDLE ಎಂದು ಬರೆಯಬೇಕು — ಡ್ಯಾಶ್ಗಳನ್ನು ಬಿಟ್ಟು, ಪದಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸೇರಿಸಿ. ಹೆಚ್ಚು ಸ್ವಾಭಾವಿಕವೆಂದು ತೋರುವ SPRING_DATASOURCE_HIKARI_MINIMUM_IDLE ಎಂದು ಬರೆದರೆ, ಅದು ಬೇರೆಯ, ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಸೆಟ್ಟಿಂಗ್ (minimum.idle) ಗೆ ಮ್ಯಾಪ್ ಆಗಿ ನಿಶ್ಶಬ್ದವಾಗಿ ನಿರ್ಲಕ್ಷಿಸಲ್ಪಡುತ್ತದೆ.
ಇಂಥ ತಪ್ಪು ಪ್ರತಿ ವಿಮರ್ಶೆಯನ್ನು ದಾಟಿಹೋಗುತ್ತದೆ ಮತ್ತು ಪ್ರೊಡಕ್ಷನ್ನಲ್ಲಿ ಏನೂ ಮಾಡುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ ಒಂದು ಪರೀಕ್ಷೆ ಮೌಲ್ಯಗಳು ಹೊಂದಿಸಲ್ಪಟ್ಟಿವೆಯೇ ಮತ್ತು ಯಾವ ವೇರಿಯೇಬಲ್ ಕೂಡ ಅಂಡರ್ಸ್ಕೋರ್-ವಿಭಜಿತ ರೂಪವನ್ನು ಬಳಸುತ್ತಿಲ್ಲವೇ ಎಂದು ಎರಡನ್ನೂ ಪರಿಶೀಲಿಸುತ್ತದೆ.
ಪರಿಹಾರ, ಭಾಗ 2: ಇತರ ಎಲ್ಲಾ ಸ್ಟ್ಯಾಕ್ಗಳು
ಸ್ಪ್ರಿಂಗ್ ಮಾತ್ರ ಪೂಲ್ ಹೊಂದಿರುವ ಫ್ರೇಮ್ವರ್ಕ್ ಅಲ್ಲ, ಮತ್ತು ಪ್ರತಿ ಭಾಷೆಯಲ್ಲಿನ ಪ್ರತಿ ಲೈಬ್ರರಿಯನ್ನು ನಾವು ಮೊದಲೇ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗದು. ಆದ್ದರಿಂದ Mythex ಏಜೆಂಟ್ — ನಿಮ್ಮ ಆ್ಯಪ್ ಬರೆಯುವ AI — ಈಗ ಯಾವುದೇ ಸ್ಟ್ಯಾಕ್ಗಾಗಿ ಒಂದು ಸ್ಥಿರ ಸೂಚನೆಯನ್ನು ಪಡೆಯುತ್ತದೆ: ಪ್ರಕಟಿತ ಆ್ಯಪ್ಗಳು ಮತ್ತು ಅವುಗಳ ಡೇಟಾಬೇಸ್ಗಳು ನಿಷ್ಕ್ರಿಯವಾದಾಗ ನಿದ್ರಿಸುತ್ತವೆ, ಆದ್ದರಿಂದ ತೆರೆದಿಟ್ಟ ಕನೆಕ್ಷನ್ ಮುಂದಿನ ವಿನಂತಿಯಲ್ಲಿ ಸತ್ತಿರಬಹುದು. ಅದು ಹೀಗೆ ಮಾಡಬೇಕು:
- ಯಾವುದೇ ನಿಷ್ಕ್ರಿಯ ಡೇಟಾಬೇಸ್ ಕನೆಕ್ಷನ್ ಅನ್ನು ತೆರೆದಿಡಬೇಡಿ, ಅಥವಾ ಬಳಸುವ ಮೊದಲು ಪ್ರತಿಯೊಂದನ್ನೂ ಪರಿಶೀಲಿಸಿ,
- ಕನೆಕ್ಷನ್ ದೋಷದ ಮೇಲೆ ಒಮ್ಮೆ ಮರುಪ್ರಯತ್ನಿಸಿ, ಮತ್ತು
- ತನ್ನದೇ ಪೂಲ್ ಅನ್ನು
DATABASE_URLಪಾರ್ಸ್ ಮಾಡಿ ನಿರ್ಮಿಸುವ ಬದಲು, ಎನ್ವಿರಾನ್ಮೆಂಟ್ನಲ್ಲಿ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಒದಗಿಸುವ ಡೇಟಾಬೇಸ್ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಳಸಿ.
ಕೊನೆಯ ಅಂಶ ಭಾಗ 1 ಅನ್ನು ಮುಚ್ಚುತ್ತದೆ: ಒದಗಿಸಲಾದ ಸೆಟ್ಟಿಂಗ್ಗಳ ಮೇಲೆ ನಿರ್ಮಿಸಲಾದ ಆ್ಯಪ್ ನಿದ್ರೆ-ಸುರಕ್ಷಿತ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪಡೆಯುತ್ತದೆ.
ಫಲಿತಾಂಶ
ಪ್ರಕಟಿತ ಆ್ಯಪ್ಗಳನ್ನು ನಾವು ಚಲಾಯಿಸುವ ಹೋಸ್ಟಿಂಗ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ನಲ್ಲಿ ಅಳೆದಾಗ, ಎಚ್ಚರಗೊಂಡ ನಂತರದ ಮೊದಲ ವಿನಂತಿ 12.7 ಸೆಕೆಂಡ್ನಿಂದ 2.3 ಸೆಕೆಂಡ್ಗೆ ಇಳಿಯಿತು.
ನಾವು ಇದರಿಂದ ಕಲಿತದ್ದು
- ಪ್ರತಿ ನಿದ್ರಿಸುವ ಪದರವೂ ಏನು ಉಳಿಯುತ್ತದೆ ಎಂಬುದರ ಬಗ್ಗೆ ಒಪ್ಪಬೇಕು. ಹೆಪ್ಪುಗಟ್ಟಿದ ಆ್ಯಪ್ ಮತ್ತು ನಿದ್ರಿಸುತ್ತಿದ್ದ ಡೇಟಾಬೇಸ್ ಪ್ರತಿಯೊಂದೂ ಸಮಂಜಸವಾದ ಆಯ್ಕೆ ಮಾಡಿದವು. ಒಟ್ಟಾಗಿ, ಆ್ಯಪ್ ತಾನು ಇನ್ನು ನಿಜವಲ್ಲದ ಸ್ಥಿತಿಯನ್ನು ಹಿಡಿದುಕೊಂಡು ಎಚ್ಚರಗೊಂಡಿತು.
- ಯಾವಾಗಲೂ ಚಾಲನೆಯಲ್ಲಿರುವ ಸರ್ವರ್ಗಳಿಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಿದ ಡೀಫಾಲ್ಟ್ಗಳು ಶೂನ್ಯಕ್ಕೆ ಇಳಿಯುವ ಆ್ಯಪ್ಗಳಿಗೆ ಹೊಂದುವುದಿಲ್ಲ. ಕನೆಕ್ಷನ್ಗಳನ್ನು ಬೆಚ್ಚಗಿಡುವುದು ಉತ್ತಮ ಉಪಾಯ — ಸುತ್ತಲಿನ ಎಲ್ಲವೂ ತಣ್ಣಗಾಗುವವರೆಗೆ.
- ಫ್ರೇಮ್ವರ್ಕ್ಗಳಿಗೆ ಅವರ ಡೇಟಾವನ್ನು ಅವರ ಸ್ವಂತ ಸ್ವರೂಪದಲ್ಲಿ ನೀಡಿ. ಒಂದೇ URL ನಮಗೆ ಸರಳವಾಗಿತ್ತು, ಆದರೆ ಪ್ರತಿ ಸ್ಪ್ರಿಂಗ್ ಆ್ಯಪ್ ತನ್ನದೇ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸುವ ಪೂಲ್ ಅನ್ನು ಕೈಯಿಂದ ನಿರ್ಮಿಸುವಂತೆ ಮಾಡಿತ್ತು.
- ಸೆಟ್ಟಿಂಗ್ ಫ್ರೇಮ್ವರ್ಕ್ ಓದುವ ರೀತಿಯಲ್ಲೇ ಬರೆಯಲಾಗಿದೆಯೇ ಎಂದು ಪರೀಕ್ಷಿಸಿ. ತಪ್ಪು ಹೆಸರಿನಲ್ಲಿ ಸರಿಯಾದ ಮೌಲ್ಯವು ಏನನ್ನೂ ಮಾಡುವುದಿಲ್ಲ, ನಿಶ್ಶಬ್ದವಾಗಿ.
Mythex ನಲ್ಲಿ ಡೇಟಾಬೇಸ್ಗಳು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತವೆ ಎಂದು ತಿಳಿಯಲು, ಡೇಟಾಬೇಸ್ ಡಾಕ್ಯುಮೆಂಟೇಶನ್ ಮತ್ತು Postgres ಎಂದರೇನು ಕುರಿತ ನಮ್ಮ ವಿವರಣೆಯನ್ನು ನೋಡಿ.