ಪ್ರೊಹೋಸ್ಟರ್ > Блог > ಆಡಳಿತ > ಕುಬರ್ನೆಟ್ಸ್ಗೆ ಕಸ್ಸಂದ್ರದ ವಲಸೆ: ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಪರಿಹಾರಗಳು
ಕುಬರ್ನೆಟ್ಸ್ಗೆ ಕಸ್ಸಂದ್ರದ ವಲಸೆ: ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಪರಿಹಾರಗಳು
ನಾವು ನಿಯಮಿತವಾಗಿ Apache Cassandra ಡೇಟಾಬೇಸ್ ಅನ್ನು ಎದುರಿಸುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಕುಬರ್ನೆಟ್-ಆಧಾರಿತ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ನಿರ್ವಹಿಸುವ ಅಗತ್ಯವನ್ನು ಎದುರಿಸುತ್ತೇವೆ. ಈ ವಸ್ತುವಿನಲ್ಲಿ, ಕಸ್ಸಂದ್ರವನ್ನು K8 ಗಳಿಗೆ ಸ್ಥಳಾಂತರಿಸಲು ಅಗತ್ಯವಾದ ಹಂತಗಳು, ಮಾನದಂಡಗಳು ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಪರಿಹಾರಗಳ (ಆಪರೇಟರ್ಗಳ ಅವಲೋಕನವನ್ನು ಒಳಗೊಂಡಂತೆ) ನಮ್ಮ ದೃಷ್ಟಿಯನ್ನು ನಾವು ಹಂಚಿಕೊಳ್ಳುತ್ತೇವೆ.
"ಯಾರು ಮಹಿಳೆಯನ್ನು ಆಳಬಲ್ಲರೋ ಅವರು ರಾಜ್ಯವನ್ನೂ ಆಳಬಹುದು"
ಕಸ್ಸಂದ್ರ ಯಾರು? ಇದು ಡಿಸ್ಟ್ರಿಬ್ಯೂಡ್ ಸ್ಟೋರೇಜ್ ಸಿಸ್ಟಂ ಆಗಿದ್ದು, ದೊಡ್ಡ ಪ್ರಮಾಣದ ದತ್ತಾಂಶವನ್ನು ನಿರ್ವಹಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದ್ದು, ಯಾವುದೇ ವಿಫಲತೆಯಿಲ್ಲದೆ ಹೆಚ್ಚಿನ ಲಭ್ಯತೆಯನ್ನು ಖಾತ್ರಿಪಡಿಸಿಕೊಳ್ಳುತ್ತದೆ. ಯೋಜನೆಗೆ ದೀರ್ಘ ಪರಿಚಯದ ಅಗತ್ಯವಿಲ್ಲ, ಆದ್ದರಿಂದ ನಾನು ನಿರ್ದಿಷ್ಟ ಲೇಖನದ ಸಂದರ್ಭದಲ್ಲಿ ಪ್ರಸ್ತುತವಾಗಿರುವ ಕಸ್ಸಂದ್ರದ ಮುಖ್ಯ ಲಕ್ಷಣಗಳನ್ನು ಮಾತ್ರ ನೀಡುತ್ತೇನೆ:
ಕಸ್ಸಂದ್ರವನ್ನು ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ.
ಕಸ್ಸಂದ್ರ ಟೋಪೋಲಜಿ ಹಲವಾರು ಹಂತಗಳನ್ನು ಒಳಗೊಂಡಿದೆ:
ನೋಡ್ - ಒಂದು ನಿಯೋಜಿಸಲಾದ ಕಸ್ಸಂದ್ರ ನಿದರ್ಶನ;
ರ್ಯಾಕ್ ಎಂಬುದು ಕಸ್ಸಂಡ್ರಾ ನಿದರ್ಶನಗಳ ಒಂದು ಗುಂಪು, ಅದೇ ಡೇಟಾ ಕೇಂದ್ರದಲ್ಲಿ ಇರುವ ಕೆಲವು ಗುಣಲಕ್ಷಣಗಳಿಂದ ಏಕೀಕರಿಸಲ್ಪಟ್ಟಿದೆ;
ಡೇಟಾಸೆಂಟರ್ - ಒಂದು ಡೇಟಾ ಸೆಂಟರ್ನಲ್ಲಿರುವ ಕಸ್ಸಂದ್ರ ನಿದರ್ಶನಗಳ ಎಲ್ಲಾ ಗುಂಪುಗಳ ಸಂಗ್ರಹ;
ಕ್ಲಸ್ಟರ್ ಎಲ್ಲಾ ಡೇಟಾ ಕೇಂದ್ರಗಳ ಸಂಗ್ರಹವಾಗಿದೆ.
ನೋಡ್ ಅನ್ನು ಗುರುತಿಸಲು ಕಸ್ಸಂದ್ರ IP ವಿಳಾಸವನ್ನು ಬಳಸುತ್ತದೆ.
ಬರೆಯುವ ಮತ್ತು ಓದುವ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ವೇಗಗೊಳಿಸಲು, ಕಸ್ಸಂದ್ರ RAM ನಲ್ಲಿ ಕೆಲವು ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.
ಈಗ - ಕುಬರ್ನೆಟ್ಸ್ಗೆ ನಿಜವಾದ ಸಂಭಾವ್ಯ ಚಲನೆಗೆ.
ವರ್ಗಾವಣೆಗಾಗಿ ಚೆಕ್-ಲಿಸ್ಟ್
ಕುಬರ್ನೆಟ್ಸ್ಗೆ ಕಸ್ಸಂದ್ರದ ವಲಸೆಯ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತಾ, ಈ ಕ್ರಮದಿಂದ ಅದನ್ನು ನಿರ್ವಹಿಸಲು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗುತ್ತದೆ ಎಂದು ನಾವು ಭಾವಿಸುತ್ತೇವೆ. ಇದಕ್ಕಾಗಿ ಏನು ಬೇಕು, ಇದಕ್ಕೆ ಏನು ಸಹಾಯ ಮಾಡುತ್ತದೆ?
1. ಡೇಟಾ ಸಂಗ್ರಹಣೆ
ಈಗಾಗಲೇ ಸ್ಪಷ್ಟಪಡಿಸಿದಂತೆ, ಕ್ಯಾಸಂಡಾ ಡೇಟಾದ ಭಾಗವನ್ನು RAM ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ - ಇನ್ ಸ್ಮರಣೀಯ. ಆದರೆ ಡಿಸ್ಕ್ಗೆ ಉಳಿಸಲಾದ ಡೇಟಾದ ಇನ್ನೊಂದು ಭಾಗವಿದೆ - ರೂಪದಲ್ಲಿ SSTable. ಈ ಡೇಟಾಗೆ ಘಟಕವನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಕಮಿಟ್ ಲಾಗ್ - ಎಲ್ಲಾ ವಹಿವಾಟುಗಳ ದಾಖಲೆಗಳು, ಇವುಗಳನ್ನು ಡಿಸ್ಕ್ಗೆ ಉಳಿಸಲಾಗಿದೆ.
ಕಸ್ಸಂದ್ರದಲ್ಲಿ ವಹಿವಾಟಿನ ರೇಖಾಚಿತ್ರವನ್ನು ಬರೆಯಿರಿ
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ, ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ನಾವು PersistentVolume ಅನ್ನು ಬಳಸಬಹುದು. ಸಾಬೀತಾದ ಕಾರ್ಯವಿಧಾನಗಳಿಗೆ ಧನ್ಯವಾದಗಳು, ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಡೇಟಾದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವುದು ಪ್ರತಿ ವರ್ಷವೂ ಸುಲಭವಾಗುತ್ತಿದೆ.
ನಾವು ಪ್ರತಿ ಪಾಡ್ ಅನ್ನು ಕಸ್ಸಂದ್ರದೊಂದಿಗೆ ಅದರ ಸ್ವಂತ ಪರ್ಸಿಸ್ಟೆಂಟ್ ವಾಲ್ಯೂಮ್ ಅನ್ನು ನಿಯೋಜಿಸುತ್ತೇವೆ
ಕಸ್ಸಂದ್ರ ಸ್ವತಃ ಡೇಟಾ ಪ್ರತಿಕೃತಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಇದಕ್ಕಾಗಿ ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ನೀಡುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಆದ್ದರಿಂದ, ನೀವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ನೋಡ್ಗಳಿಂದ ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದರೆ, ಡೇಟಾ ಸಂಗ್ರಹಣೆಗಾಗಿ Ceph ಅಥವಾ GlusterFS ನಂತಹ ವಿತರಿಸಿದ ವ್ಯವಸ್ಥೆಗಳನ್ನು ಬಳಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಬಳಸಿಕೊಂಡು ಹೋಸ್ಟ್ ಡಿಸ್ಕ್ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಇದು ತಾರ್ಕಿಕವಾಗಿದೆ ಸ್ಥಳೀಯ ನಿರಂತರ ಡಿಸ್ಕ್ಗಳು ಅಥವಾ ಆರೋಹಿಸುವಾಗ hostPath.
ಪ್ರತಿ ವೈಶಿಷ್ಟ್ಯ ಶಾಖೆಗೆ ಡೆವಲಪರ್ಗಳಿಗೆ ಪ್ರತ್ಯೇಕ ಪರಿಸರವನ್ನು ರಚಿಸಲು ನೀವು ಬಯಸಿದರೆ ಇನ್ನೊಂದು ಪ್ರಶ್ನೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಒಂದು ಕಸ್ಸಂದ್ರ ನೋಡ್ ಅನ್ನು ಹೆಚ್ಚಿಸುವುದು ಮತ್ತು ಡೇಟಾವನ್ನು ವಿತರಿಸಿದ ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುವುದು ಸರಿಯಾದ ವಿಧಾನವಾಗಿದೆ, ಅಂದರೆ. ಉಲ್ಲೇಖಿಸಲಾದ Ceph ಮತ್ತು GlusterFS ನಿಮ್ಮ ಆಯ್ಕೆಗಳಾಗಿರುತ್ತದೆ. ಕುಬರ್ಂಟೆಸ್ ಕ್ಲಸ್ಟರ್ ನೋಡ್ಗಳಲ್ಲಿ ಒಂದನ್ನು ಕಳೆದುಕೊಂಡಿದ್ದರೂ ಸಹ ಅವರು ಪರೀಕ್ಷಾ ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದಿಲ್ಲ ಎಂದು ಡೆವಲಪರ್ ಖಚಿತವಾಗಿರುತ್ತಾರೆ.
2 ಉಸ್ತುವಾರಿ
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ವಾಸ್ತವಿಕವಾಗಿ ಅವಿರೋಧ ಆಯ್ಕೆಯೆಂದರೆ ಪ್ರಮೀತಿಯಸ್ (ನಾವು ಇದರ ಬಗ್ಗೆ ವಿವರವಾಗಿ ಮಾತನಾಡಿದ್ದೇವೆ ಸಂಬಂಧಿತ ವರದಿ). ಪ್ರಮೀತಿಯಸ್ಗಾಗಿ ಮೆಟ್ರಿಕ್ಸ್ ರಫ್ತುದಾರರೊಂದಿಗೆ ಕಸ್ಸಂದ್ರ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ? ಮತ್ತು, ಗ್ರಾಫಾನಾಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳೊಂದಿಗೆ ಇನ್ನೂ ಹೆಚ್ಚು ಮುಖ್ಯವಾದುದು ಏನು?
ಕಸ್ಸಂದ್ರಕ್ಕಾಗಿ ಗ್ರಾಫನಾದಲ್ಲಿ ಗ್ರಾಫ್ಗಳ ಗೋಚರಿಸುವಿಕೆಯ ಉದಾಹರಣೆ
ನಾವು ಮೊದಲನೆಯದನ್ನು ನಮಗಾಗಿ ಆರಿಸಿಕೊಂಡಿದ್ದೇವೆ ಏಕೆಂದರೆ:
JMX ರಫ್ತುದಾರರು ಬೆಳೆಯುತ್ತಿದ್ದಾರೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತಿದ್ದಾರೆ, ಆದರೆ ಕಸ್ಸಂದ್ರ ರಫ್ತುದಾರರಿಗೆ ಸಾಕಷ್ಟು ಸಮುದಾಯ ಬೆಂಬಲವನ್ನು ಪಡೆಯಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ. ಕಸ್ಸಂದ್ರ ರಫ್ತುದಾರರು ಇನ್ನೂ ಕಸ್ಸಂದ್ರದ ಹೆಚ್ಚಿನ ಆವೃತ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.
ಧ್ವಜವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ನೀವು ಅದನ್ನು ಜಾವಾಜೆಂಟ್ ಆಗಿ ಚಲಾಯಿಸಬಹುದು -javaagent:<plugin-dir-name>/cassandra-exporter.jar=--listen=:9180.
ಅವನಿಗೆ ಒಂದು ಇದೆ ಸಾಕಷ್ಟು ಡ್ಯಾಶ್ಬೋರ್ಡ್, ಇದು ಕಸ್ಸಂದ್ರ ರಫ್ತುದಾರರೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ.
3. ಕುಬರ್ನೆಟ್ಸ್ ಆದಿಮಗಳನ್ನು ಆಯ್ಕೆಮಾಡುವುದು
ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ನ ಮೇಲಿನ ರಚನೆಯ ಪ್ರಕಾರ, ಅಲ್ಲಿ ವಿವರಿಸಿರುವ ಎಲ್ಲವನ್ನೂ ಕುಬರ್ನೆಟ್ಸ್ ಪರಿಭಾಷೆಯಲ್ಲಿ ಭಾಷಾಂತರಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ:
ಸಂಪೂರ್ಣ ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಏಕಕಾಲದಲ್ಲಿ ನಿರ್ವಹಿಸಲು ಕೆಲವು ಹೆಚ್ಚುವರಿ ಘಟಕವು ಕಾಣೆಯಾಗಿದೆ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ. ಆದರೆ ಏನಾದರೂ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದಿದ್ದರೆ, ನಾವು ಅದನ್ನು ರಚಿಸಬಹುದು! ಕುಬರ್ನೆಟ್ಸ್ ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ತನ್ನದೇ ಆದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಕಾರ್ಯವಿಧಾನವನ್ನು ಹೊಂದಿದೆ - ಕಸ್ಟಮ್ ಸಂಪನ್ಮೂಲ ವ್ಯಾಖ್ಯಾನಗಳು.
ಲಾಗ್ಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳಿಗಾಗಿ ಹೆಚ್ಚುವರಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಘೋಷಿಸುವುದು
ಆದರೆ ಕಸ್ಟಮ್ ಸಂಪನ್ಮೂಲ ಸ್ವತಃ ಏನನ್ನೂ ಅರ್ಥವಲ್ಲ: ಎಲ್ಲಾ ನಂತರ, ಇದು ಅಗತ್ಯವಿದೆ ನಿಯಂತ್ರಕ. ನೀವು ಸಹಾಯವನ್ನು ಹುಡುಕಬೇಕಾಗಬಹುದು ಕುಬರ್ನೆಟ್ಸ್ ಆಪರೇಟರ್...
4. ಬೀಜಕೋಶಗಳ ಗುರುತಿಸುವಿಕೆ
ಮೇಲಿನ ಪ್ಯಾರಾಗ್ರಾಫ್ನಲ್ಲಿ, ಒಂದು ಕಸ್ಸಂದ್ರ ನೋಡ್ ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಒಂದು ಪಾಡ್ಗೆ ಸಮನಾಗಿರುತ್ತದೆ ಎಂದು ನಾವು ಒಪ್ಪಿಕೊಂಡಿದ್ದೇವೆ. ಆದರೆ ಪಾಡ್ಗಳ ಐಪಿ ವಿಳಾಸಗಳು ಪ್ರತಿ ಬಾರಿಯೂ ವಿಭಿನ್ನವಾಗಿರುತ್ತದೆ. ಮತ್ತು ಕಸ್ಸಂದ್ರದಲ್ಲಿ ನೋಡ್ನ ಗುರುತಿಸುವಿಕೆಯು IP ವಿಳಾಸವನ್ನು ಆಧರಿಸಿದೆ ... ಪಾಡ್ನ ಪ್ರತಿ ತೆಗೆದುಹಾಕುವಿಕೆಯ ನಂತರ, ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ ಹೊಸ ನೋಡ್ ಅನ್ನು ಸೇರಿಸುತ್ತದೆ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ.
ಒಂದು ಮಾರ್ಗವಿದೆ, ಮತ್ತು ಕೇವಲ ಒಂದಲ್ಲ:
ನಾವು ಹೋಸ್ಟ್ ಐಡೆಂಟಿಫೈಯರ್ಗಳ ಮೂಲಕ (ಕಸ್ಸಂದ್ರ ನಿದರ್ಶನಗಳನ್ನು ಅನನ್ಯವಾಗಿ ಗುರುತಿಸುವ UUID ಗಳು) ಅಥವಾ IP ವಿಳಾಸಗಳ ಮೂಲಕ ದಾಖಲೆಗಳನ್ನು ಇರಿಸಬಹುದು ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಕೆಲವು ರಚನೆಗಳು/ಟೇಬಲ್ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಬಹುದು. ವಿಧಾನವು ಎರಡು ಮುಖ್ಯ ಅನಾನುಕೂಲಗಳನ್ನು ಹೊಂದಿದೆ:
ಎರಡು ಗಂಟುಗಳು ಏಕಕಾಲದಲ್ಲಿ ಬಿದ್ದರೆ ರೇಸ್ ಸ್ಥಿತಿ ಉಂಟಾಗುವ ಅಪಾಯ. ಏರಿಕೆಯ ನಂತರ, ಕಸ್ಸಂದ್ರ ನೋಡ್ಗಳು ಏಕಕಾಲದಲ್ಲಿ ಟೇಬಲ್ನಿಂದ IP ವಿಳಾಸವನ್ನು ವಿನಂತಿಸುತ್ತವೆ ಮತ್ತು ಅದೇ ಸಂಪನ್ಮೂಲಕ್ಕಾಗಿ ಸ್ಪರ್ಧಿಸುತ್ತವೆ.
ಕಸ್ಸಂದ್ರ ನೋಡ್ ತನ್ನ ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಂಡಿದ್ದರೆ, ಅದನ್ನು ಗುರುತಿಸಲು ನಮಗೆ ಇನ್ನು ಮುಂದೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.
ಎರಡನೆಯ ಪರಿಹಾರವು ಸಣ್ಣ ಹ್ಯಾಕ್ನಂತೆ ತೋರುತ್ತದೆ, ಆದರೆ ಅದೇನೇ ಇದ್ದರೂ: ನಾವು ಪ್ರತಿ ಕಸ್ಸಂದ್ರ ನೋಡ್ಗೆ ಕ್ಲಸ್ಟರ್ಐಪಿಯೊಂದಿಗೆ ಸೇವೆಯನ್ನು ರಚಿಸಬಹುದು. ಈ ಅನುಷ್ಠಾನದ ತೊಂದರೆಗಳು:
ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿ ಬಹಳಷ್ಟು ನೋಡ್ಗಳಿದ್ದರೆ, ನಾವು ಸಾಕಷ್ಟು ಸೇವೆಗಳನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ.
ClusterIP ವೈಶಿಷ್ಟ್ಯವನ್ನು iptables ಮೂಲಕ ಅಳವಡಿಸಲಾಗಿದೆ. ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ ಅನೇಕ (1000... ಅಥವಾ 100?) ನೋಡ್ಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಇದು ಸಮಸ್ಯೆಯಾಗಬಹುದು. ಆದರೂ IPVS ಆಧಾರದ ಮೇಲೆ ಸಮತೋಲನ ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಬಹುದು.
ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಮೂಲಕ ಪಾಡ್ಗಳ ಮೀಸಲಾದ ನೆಟ್ವರ್ಕ್ ಬದಲಿಗೆ ಕಸ್ಸಂದ್ರ ನೋಡ್ಗಳಿಗಾಗಿ ನೋಡ್ಗಳ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಬಳಸುವುದು ಮೂರನೇ ಪರಿಹಾರವಾಗಿದೆ. hostNetwork: true. ಈ ವಿಧಾನವು ಕೆಲವು ನಿರ್ಬಂಧಗಳನ್ನು ವಿಧಿಸುತ್ತದೆ:
ಘಟಕಗಳನ್ನು ಬದಲಿಸಲು. ಹೊಸ ನೋಡ್ ಹಿಂದಿನ IP ವಿಳಾಸವನ್ನು ಹೊಂದಿರುವುದು ಅವಶ್ಯಕ (AWS, GCP ನಂತಹ ಮೋಡಗಳಲ್ಲಿ ಇದನ್ನು ಮಾಡಲು ಅಸಾಧ್ಯವಾಗಿದೆ);
ಕ್ಲಸ್ಟರ್ ನೋಡ್ಗಳ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, ನಾವು ನೆಟ್ವರ್ಕ್ ಸಂಪನ್ಮೂಲಗಳಿಗಾಗಿ ಸ್ಪರ್ಧಿಸಲು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ. ಆದ್ದರಿಂದ, ಒಂದು ಕ್ಲಸ್ಟರ್ ನೋಡ್ನಲ್ಲಿ ಕಸ್ಸಂದ್ರದೊಂದಿಗೆ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಪಾಡ್ ಅನ್ನು ಇರಿಸುವುದು ಸಮಸ್ಯಾತ್ಮಕವಾಗಿರುತ್ತದೆ.
5. ಬ್ಯಾಕಪ್ಗಳು
ನಾವು ಒಂದೇ ಕಸ್ಸಂದ್ರ ನೋಡ್ನ ಡೇಟಾದ ಪೂರ್ಣ ಆವೃತ್ತಿಯನ್ನು ವೇಳಾಪಟ್ಟಿಯಲ್ಲಿ ಉಳಿಸಲು ಬಯಸುತ್ತೇವೆ. ಕುಬರ್ನೆಟ್ಸ್ ಬಳಸಿಕೊಂಡು ಅನುಕೂಲಕರ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ ಕ್ರಾನ್ಜಾಬ್, ಆದರೆ ಇಲ್ಲಿ ಕಸ್ಸಂದ್ರ ಸ್ವತಃ ನಮ್ಮ ಚಕ್ರಗಳಲ್ಲಿ ಸ್ಪೋಕ್ ಅನ್ನು ಹಾಕುತ್ತಾನೆ.
ಕಸ್ಸಂದ್ರ ಕೆಲವು ಡೇಟಾವನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ ಎಂದು ನಾನು ನಿಮಗೆ ನೆನಪಿಸುತ್ತೇನೆ. ಪೂರ್ಣ ಬ್ಯಾಕಪ್ ಮಾಡಲು, ನಿಮಗೆ ಮೆಮೊರಿಯಿಂದ ಡೇಟಾ ಅಗತ್ಯವಿದೆ (ಮೆಮೆಟಬಲ್ಸ್ಡಿಸ್ಕ್ಗೆ ಸರಿಸಿ (SSTables) ಈ ಹಂತದಲ್ಲಿ, ಕಸ್ಸಂದ್ರ ನೋಡ್ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ, ಕ್ಲಸ್ಟರ್ನಿಂದ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಗಿತಗೊಳ್ಳುತ್ತದೆ.
ಇದರ ನಂತರ, ಬ್ಯಾಕಪ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ (ಸ್ನ್ಯಾಪ್ಶಾಟ್) ಮತ್ತು ಯೋಜನೆಯನ್ನು ಉಳಿಸಲಾಗಿದೆ (ಕೀಸ್ಪೇಸ್) ತದನಂತರ ಕೇವಲ ಬ್ಯಾಕಪ್ ನಮಗೆ ಏನನ್ನೂ ನೀಡುವುದಿಲ್ಲ ಎಂದು ಅದು ತಿರುಗುತ್ತದೆ: ಕಸ್ಸಂದ್ರ ನೋಡ್ ಜವಾಬ್ದಾರರಾಗಿರುವ ಡೇಟಾ ಗುರುತಿಸುವಿಕೆಗಳನ್ನು ನಾವು ಉಳಿಸಬೇಕಾಗಿದೆ - ಇವು ವಿಶೇಷ ಟೋಕನ್ಗಳಾಗಿವೆ.
ಕಸ್ಸಂದ್ರ ನೋಡ್ಗಳು ಯಾವ ಡೇಟಾಗೆ ಜವಾಬ್ದಾರವಾಗಿವೆ ಎಂಬುದನ್ನು ಗುರುತಿಸಲು ಟೋಕನ್ಗಳ ವಿತರಣೆ
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ Google ನಿಂದ ಕಸ್ಸಾಂಡ್ರಾ ಬ್ಯಾಕಪ್ ತೆಗೆದುಕೊಳ್ಳುವ ಉದಾಹರಣೆ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಇಲ್ಲಿ ಕಾಣಬಹುದು ಈ ಲಿಂಕ್. ಸ್ಕ್ರಿಪ್ಟ್ ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳದ ಏಕೈಕ ಅಂಶವೆಂದರೆ ಸ್ನ್ಯಾಪ್ಶಾಟ್ ತೆಗೆದುಕೊಳ್ಳುವ ಮೊದಲು ಡೇಟಾವನ್ನು ನೋಡ್ಗೆ ಮರುಹೊಂದಿಸುವುದು. ಅಂದರೆ, ಬ್ಯಾಕ್ಅಪ್ ಅನ್ನು ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಗೆ ಅಲ್ಲ, ಆದರೆ ಸ್ವಲ್ಪ ಹಿಂದಿನ ರಾಜ್ಯಕ್ಕೆ ನಡೆಸಲಾಗುತ್ತದೆ. ಆದರೆ ಇದು ನೋಡ್ ಅನ್ನು ಕಾರ್ಯಾಚರಣೆಯಿಂದ ತೆಗೆದುಕೊಳ್ಳದಿರಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಇದು ತುಂಬಾ ತಾರ್ಕಿಕವಾಗಿ ತೋರುತ್ತದೆ.
set -eu
if [[ -z "$1" ]]; then
info "Please provide a keyspace"
exit 1
fi
KEYSPACE="$1"
result=$(nodetool snapshot "${KEYSPACE}")
if [[ $? -ne 0 ]]; then
echo "Error while making snapshot"
exit 1
fi
timestamp=$(echo "$result" | awk '/Snapshot directory: / { print $3 }')
mkdir -p /tmp/backup
for path in $(find "/var/lib/cassandra/data/${KEYSPACE}" -name $timestamp); do
table=$(echo "${path}" | awk -F "[/-]" '{print $7}')
mkdir /tmp/backup/$table
mv $path /tmp/backup/$table
done
tar -zcf /tmp/backup.tar.gz -C /tmp/backup .
nodetool clearsnapshot "${KEYSPACE}"
ಒಂದು ಕಸ್ಸಂದ್ರ ನೋಡ್ನಿಂದ ಬ್ಯಾಕ್ಅಪ್ ತೆಗೆದುಕೊಳ್ಳಲು ಬ್ಯಾಷ್ ಸ್ಕ್ರಿಪ್ಟ್ನ ಉದಾಹರಣೆ
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಕಸ್ಸಂದ್ರಕ್ಕೆ ಸಿದ್ಧ ಪರಿಹಾರಗಳು
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಕಸ್ಸಂದ್ರವನ್ನು ನಿಯೋಜಿಸಲು ಪ್ರಸ್ತುತ ಯಾವುದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಇವುಗಳಲ್ಲಿ ಯಾವುದು ಉತ್ತಮವಾದ ಅವಶ್ಯಕತೆಗಳಿಗೆ ಸರಿಹೊಂದುತ್ತದೆ?
1. ಸ್ಟೇಟ್ಫುಲ್ಸೆಟ್ ಅಥವಾ ಹೆಲ್ಮ್ ಚಾರ್ಟ್ಗಳನ್ನು ಆಧರಿಸಿದ ಪರಿಹಾರಗಳು
ಕಸ್ಸಂದ್ರ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಮೂಲ ಸ್ಟೇಟ್ಫುಲ್ಸೆಟ್ಸ್ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವುದು ಉತ್ತಮ ಆಯ್ಕೆಯಾಗಿದೆ. ಹೆಲ್ಮ್ ಚಾರ್ಟ್ ಮತ್ತು ಗೋ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು, ಕಸ್ಸಂದ್ರವನ್ನು ನಿಯೋಜಿಸಲು ನೀವು ಬಳಕೆದಾರರಿಗೆ ಹೊಂದಿಕೊಳ್ಳುವ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಒದಗಿಸಬಹುದು.
ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ... ನೋಡ್ ವೈಫಲ್ಯದಂತಹ ಅನಿರೀಕ್ಷಿತ ಏನಾದರೂ ಸಂಭವಿಸುವವರೆಗೆ. ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಕುಬರ್ನೆಟ್ಸ್ ಉಪಕರಣಗಳು ಮೇಲೆ ವಿವರಿಸಿದ ಎಲ್ಲಾ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಈ ವಿಧಾನವು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದ ಬಳಕೆಗಳಿಗೆ ಎಷ್ಟು ವಿಸ್ತರಿಸಬಹುದು ಎಂಬುದರಲ್ಲಿ ಬಹಳ ಸೀಮಿತವಾಗಿದೆ: ನೋಡ್ ರಿಪ್ಲೇಸ್ಮೆಂಟ್, ಬ್ಯಾಕ್ಅಪ್, ಚೇತರಿಕೆ, ಮೇಲ್ವಿಚಾರಣೆ, ಇತ್ಯಾದಿ.
ಎರಡೂ ಚಾರ್ಟ್ಗಳು ಸಮಾನವಾಗಿ ಉತ್ತಮವಾಗಿವೆ, ಆದರೆ ಮೇಲೆ ವಿವರಿಸಿದ ಸಮಸ್ಯೆಗಳಿಗೆ ಒಳಪಟ್ಟಿವೆ.
2. ಕುಬರ್ನೆಟ್ಸ್ ಆಪರೇಟರ್ ಆಧಾರಿತ ಪರಿಹಾರಗಳು
ಅಂತಹ ಆಯ್ಕೆಗಳು ಹೆಚ್ಚು ಆಸಕ್ತಿದಾಯಕವಾಗಿವೆ ಏಕೆಂದರೆ ಅವುಗಳು ಕ್ಲಸ್ಟರ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಕಷ್ಟು ಅವಕಾಶಗಳನ್ನು ಒದಗಿಸುತ್ತವೆ. ಕಸ್ಸಂದ್ರ ಆಪರೇಟರ್ ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲು, ಯಾವುದೇ ಇತರ ಡೇಟಾಬೇಸ್ನಂತೆ, ಉತ್ತಮ ಮಾದರಿಯು Sidecar <-> ನಿಯಂತ್ರಕ <-> CRD ನಂತೆ ಕಾಣುತ್ತದೆ:
ಉತ್ತಮವಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಕಸ್ಸಂದ್ರ ಆಪರೇಟರ್ನಲ್ಲಿ ನೋಡ್ ನಿರ್ವಹಣೆ ಯೋಜನೆ
ನಿರ್ವಹಿಸಿದ ಕಸ್ಸಂದ್ರ ನಿಯೋಜನೆಗಳನ್ನು ಒದಗಿಸುವ ಕಂಪನಿಯಿಂದ ಇದು ನಿಜವಾಗಿಯೂ ಭರವಸೆಯ ಮತ್ತು ಸಕ್ರಿಯವಾಗಿ ಅಭಿವೃದ್ಧಿ ಹೊಂದುತ್ತಿರುವ ಯೋಜನೆಯಾಗಿದೆ. ಇದು ಮೇಲೆ ವಿವರಿಸಿದಂತೆ, HTTP ಮೂಲಕ ಆಜ್ಞೆಗಳನ್ನು ಸ್ವೀಕರಿಸುವ ಸೈಡ್ಕಾರ್ ಕಂಟೇನರ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಜಾವಾದಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ, ಇದು ಕೆಲವೊಮ್ಮೆ ಕ್ಲೈಂಟ್-ಗೋ ಲೈಬ್ರರಿಯ ಹೆಚ್ಚು ಸುಧಾರಿತ ಕಾರ್ಯವನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಅಲ್ಲದೆ, ಒಂದು ಡೇಟಾಸೆಂಟರ್ಗಾಗಿ ಆಪರೇಟರ್ ವಿಭಿನ್ನ ರ್ಯಾಕ್ಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.
ಆದರೆ ಆಪರೇಟರ್ಗಳು ಮೇಲ್ವಿಚಾರಣೆಗೆ ಬೆಂಬಲ, CRD ಬಳಸಿಕೊಂಡು ಉನ್ನತ ಮಟ್ಟದ ಕ್ಲಸ್ಟರ್ ನಿರ್ವಹಣೆ ಮತ್ತು ಬ್ಯಾಕ್ಅಪ್ಗಳನ್ನು ಮಾಡಲು ದಾಖಲಾತಿಗಳಂತಹ ಅನುಕೂಲಗಳನ್ನು ಹೊಂದಿದ್ದಾರೆ.
DB-a-a-Service ಅನ್ನು ನಿಯೋಜಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಹೇಳಿಕೆ. ಪ್ರಸ್ತುತ ಎರಡು ಡೇಟಾಬೇಸ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ: Elasticsearch ಮತ್ತು Cassandra. ಇದು RBAC ಮೂಲಕ ಡೇಟಾಬೇಸ್ ಪ್ರವೇಶ ನಿಯಂತ್ರಣದಂತಹ ಆಸಕ್ತಿದಾಯಕ ಪರಿಹಾರಗಳನ್ನು ಹೊಂದಿದೆ (ಇದಕ್ಕಾಗಿ ಇದು ತನ್ನದೇ ಆದ ಪ್ರತ್ಯೇಕ ನ್ಯಾವಿಗೇಟರ್-ಎಪಿಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿದೆ). ಆಸಕ್ತಿದಾಯಕ ಯೋಜನೆಯು ಹತ್ತಿರದಿಂದ ನೋಡುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಆದರೆ ಕೊನೆಯ ಬದ್ಧತೆಯನ್ನು ಒಂದೂವರೆ ವರ್ಷಗಳ ಹಿಂದೆ ಮಾಡಲಾಯಿತು, ಅದು ಅದರ ಸಾಮರ್ಥ್ಯವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ.
ಅವರು ಅದನ್ನು "ಗಂಭೀರವಾಗಿ" ಪರಿಗಣಿಸಲಿಲ್ಲ, ಏಕೆಂದರೆ ರೆಪೊಸಿಟರಿಯ ಕೊನೆಯ ಬದ್ಧತೆಯು ಒಂದು ವರ್ಷಕ್ಕಿಂತ ಹೆಚ್ಚು ಹಿಂದಿನದು. ಆಪರೇಟರ್ ಅಭಿವೃದ್ಧಿಯನ್ನು ಕೈಬಿಡಲಾಗಿದೆ: ಕುಬರ್ನೆಟ್ಸ್ನ ಇತ್ತೀಚಿನ ಆವೃತ್ತಿಯು ಬೆಂಬಲಿತವಾಗಿದೆ ಎಂದು ವರದಿಯಾಗಿದೆ 1.9.
ನಾವು ಬಯಸಿದಷ್ಟು ವೇಗವಾಗಿ ಅಭಿವೃದ್ಧಿಯಾಗದ ಆಪರೇಟರ್. ಇದು ಕ್ಲಸ್ಟರ್ ನಿರ್ವಹಣೆಗಾಗಿ ಚೆನ್ನಾಗಿ ಯೋಚಿಸಿದ CRD ರಚನೆಯನ್ನು ಹೊಂದಿದೆ, ClusterIP ನೊಂದಿಗೆ ಸೇವೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೋಡ್ಗಳನ್ನು ಗುರುತಿಸುವ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ (ಅದೇ "ಹ್ಯಾಕ್") ... ಆದರೆ ಇದೀಗ ಅಷ್ಟೆ. ಪ್ರಸ್ತುತ ಯಾವುದೇ ಮೇಲ್ವಿಚಾರಣೆ ಅಥವಾ ಬ್ಯಾಕ್ಅಪ್ಗಳು ಬಾಕ್ಸ್ನಿಂದ ಹೊರಗಿಲ್ಲ (ಮೂಲಕ, ನಾವು ಮೇಲ್ವಿಚಾರಣೆಗಾಗಿ ಇದ್ದೇವೆ ನಾವೇ ತೆಗೆದುಕೊಂಡೆವು) ಆಸಕ್ತಿದಾಯಕ ಅಂಶವೆಂದರೆ ನೀವು ಈ ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ScyllaDB ಅನ್ನು ಸಹ ನಿಯೋಜಿಸಬಹುದು.
NB: ನಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ಗಳಲ್ಲಿ ಸಣ್ಣ ಬದಲಾವಣೆಗಳೊಂದಿಗೆ ನಾವು ಈ ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸಿದ್ದೇವೆ. ಕಾರ್ಯಾಚರಣೆಯ ಸಂಪೂರ್ಣ ಅವಧಿಯಲ್ಲಿ (~ 4 ತಿಂಗಳ ಕಾರ್ಯಾಚರಣೆ) ಆಪರೇಟರ್ನ ಕೆಲಸದಲ್ಲಿ ಯಾವುದೇ ಸಮಸ್ಯೆಗಳನ್ನು ಗಮನಿಸಲಾಗಿಲ್ಲ.
ಪಟ್ಟಿಯಲ್ಲಿರುವ ಅತ್ಯಂತ ಕಿರಿಯ ಆಪರೇಟರ್: ಮೊದಲ ಬದ್ಧತೆಯನ್ನು ಮೇ 23, 2019 ರಂದು ಮಾಡಲಾಗಿದೆ. ಈಗಾಗಲೇ ಈಗ ಅದು ತನ್ನ ಆರ್ಸೆನಲ್ನಲ್ಲಿ ನಮ್ಮ ಪಟ್ಟಿಯಿಂದ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿದೆ, ಅದರ ಹೆಚ್ಚಿನ ವಿವರಗಳನ್ನು ಪ್ರಾಜೆಕ್ಟ್ ರೆಪೊಸಿಟರಿಯಲ್ಲಿ ಕಾಣಬಹುದು. ಜನಪ್ರಿಯ ಆಪರೇಟರ್-sdk ಆಧಾರದ ಮೇಲೆ ಆಪರೇಟರ್ ಅನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ. ಬಾಕ್ಸ್ ಹೊರಗೆ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇತರ ನಿರ್ವಾಹಕರಿಂದ ಮುಖ್ಯ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಬಳಕೆ CassKop ಪ್ಲಗಿನ್, ಪೈಥಾನ್ನಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ ಮತ್ತು ಕಸ್ಸಂದ್ರ ನೋಡ್ಗಳ ನಡುವಿನ ಸಂವಹನಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಸಂಶೋಧನೆಗಳು
ಕಸ್ಸಂದ್ರವನ್ನು ಕುಬರ್ನೆಟೆಸ್ಗೆ ಪೋರ್ಟ್ ಮಾಡುವ ವಿಧಾನಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ಸಂಭವನೀಯ ಆಯ್ಕೆಗಳು ಸ್ವತಃ ಮಾತನಾಡುತ್ತವೆ: ವಿಷಯವು ಬೇಡಿಕೆಯಲ್ಲಿದೆ.
ಈ ಹಂತದಲ್ಲಿ, ನಿಮ್ಮ ಸ್ವಂತ ಗಂಡಾಂತರ ಮತ್ತು ಅಪಾಯದಲ್ಲಿ ನೀವು ಮೇಲಿನ ಯಾವುದನ್ನಾದರೂ ಪ್ರಯತ್ನಿಸಬಹುದು: ಯಾವುದೇ ಡೆವಲಪರ್ಗಳು ಉತ್ಪಾದನಾ ಪರಿಸರದಲ್ಲಿ ತಮ್ಮ ಪರಿಹಾರದ 100% ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ. ಆದರೆ ಈಗಾಗಲೇ, ಅನೇಕ ಉತ್ಪನ್ನಗಳು ಅಭಿವೃದ್ಧಿ ಬೆಂಚುಗಳಲ್ಲಿ ಬಳಸಲು ಪ್ರಯತ್ನಿಸಲು ಭರವಸೆ ತೋರುತ್ತಿವೆ.
ಭವಿಷ್ಯದಲ್ಲಿ ಹಡಗಿನಲ್ಲಿರುವ ಈ ಮಹಿಳೆ ಸೂಕ್ತವಾಗಿ ಬರುತ್ತಾರೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ!