ಶುಭಾಶಯಗಳು, ಹಬ್ರ್!
ಒಂದು ಸಮಯದಲ್ಲಿ, ನಾವು ರಷ್ಯಾದ ಮಾರುಕಟ್ಟೆಗೆ ವಿಷಯವನ್ನು ಪರಿಚಯಿಸಲು ಮೊದಲಿಗರು
ಪರಿಚಯ
ಸ್ಥಿತಿಯಿಲ್ಲದ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಕುಬರ್ನೆಟ್ಸ್ ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ವಿಶಿಷ್ಟವಾಗಿ, ಅಂತಹ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ಮೈಕ್ರೊ ಸರ್ವಿಸ್ ಆರ್ಕಿಟೆಕ್ಚರ್ ರೂಪದಲ್ಲಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗುತ್ತದೆ, ಅವುಗಳು ಹಗುರವಾಗಿರುತ್ತವೆ, ಸಮತಲವಾಗಿ ಅಳೆಯುತ್ತವೆ, 12 ಅಂಶಗಳ ಅನ್ವಯಗಳ ತತ್ವಗಳನ್ನು ಅನುಸರಿಸುತ್ತವೆ ಮತ್ತು ಸರ್ಕ್ಯೂಟ್ ಬ್ರೇಕರ್ಗಳು ಮತ್ತು ಅವ್ಯವಸ್ಥೆಯ ಮಂಗಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದು.
ಮತ್ತೊಂದೆಡೆ, ಕಾಫ್ಕಾ ಮೂಲಭೂತವಾಗಿ ವಿತರಿಸಿದ ಡೇಟಾಬೇಸ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಹೀಗಾಗಿ, ಕೆಲಸ ಮಾಡುವಾಗ, ನೀವು ರಾಜ್ಯದೊಂದಿಗೆ ವ್ಯವಹರಿಸಬೇಕು, ಮತ್ತು ಇದು ಮೈಕ್ರೋಸರ್ವಿಸ್ಗಿಂತ ಹೆಚ್ಚು ಭಾರವಾಗಿರುತ್ತದೆ. ಕುಬರ್ನೆಟ್ಸ್ ಸ್ಟೇಟ್ಫುಲ್ ಲೋಡ್ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಆದರೆ ಕೆಲ್ಸಿ ಹೈಟವರ್ ಎರಡು ಟ್ವೀಟ್ಗಳಲ್ಲಿ ಸೂಚಿಸಿದಂತೆ, ಅವುಗಳನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ನಿರ್ವಹಿಸಬೇಕು:
ನೀವು ಕುಬರ್ನೆಟ್ಸ್ ಅನ್ನು ರಾಜ್ಯಪೂರ್ಣ ಕೆಲಸದ ಹೊರೆಗೆ ರೋಲ್ ಮಾಡಿದರೆ, ಅದು RDS ಗೆ ಪ್ರತಿಸ್ಪರ್ಧಿಯಾಗುವ ಸಂಪೂರ್ಣ ನಿರ್ವಹಣೆಯ ಡೇಟಾಬೇಸ್ ಆಗುತ್ತದೆ ಎಂದು ಕೆಲವರು ಭಾವಿಸುತ್ತಾರೆ. ಇದು ತಪ್ಪು. ಬಹುಶಃ, ನೀವು ಸಾಕಷ್ಟು ಶ್ರಮಿಸಿದರೆ, ಹೆಚ್ಚುವರಿ ಘಟಕಗಳನ್ನು ಸೇರಿಸಿದರೆ ಮತ್ತು SRE ಇಂಜಿನಿಯರ್ಗಳ ತಂಡವನ್ನು ಆಕರ್ಷಿಸಿದರೆ, ನೀವು ಕುಬರ್ನೆಟ್ಸ್ ಮೇಲೆ RDS ಅನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಸ್ಥಿತಿಯ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ಚಲಾಯಿಸುವಾಗ ಪ್ರತಿಯೊಬ್ಬರೂ ತೀವ್ರ ಎಚ್ಚರಿಕೆಯಿಂದ ವ್ಯಾಯಾಮ ಮಾಡಬೇಕೆಂದು ನಾನು ಯಾವಾಗಲೂ ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ. "ನಾನು ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಸ್ಟೇಟ್ಫುಲ್ ವರ್ಕ್ಲೋಡ್ಗಳನ್ನು ಚಲಾಯಿಸಬಹುದೇ" ಎಂದು ಕೇಳುವ ಹೆಚ್ಚಿನ ಜನರು ಕುಬರ್ನೆಟ್ಗಳೊಂದಿಗೆ ಸಾಕಷ್ಟು ಅನುಭವವನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ಆಗಾಗ್ಗೆ ಅವರು ಕೇಳುತ್ತಿರುವ ಕೆಲಸದ ಹೊರೆಯೊಂದಿಗೆ.
ಆದ್ದರಿಂದ, ನೀವು ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಕಾಫ್ಕಾವನ್ನು ಓಡಿಸಬೇಕೇ? ಪ್ರತಿ ಪ್ರಶ್ನೆ: ಕುಬರ್ನೆಟ್ಸ್ ಇಲ್ಲದೆ ಕಾಫ್ಕಾ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆಯೇ? ಅದಕ್ಕಾಗಿಯೇ ನಾನು ಈ ಲೇಖನದಲ್ಲಿ ಕಾಫ್ಕಾ ಮತ್ತು ಕುಬರ್ನೆಟ್ಗಳು ಹೇಗೆ ಪರಸ್ಪರ ಪೂರಕವಾಗಿರುತ್ತವೆ ಮತ್ತು ಅವುಗಳನ್ನು ಸಂಯೋಜಿಸುವುದರಿಂದ ಯಾವ ಅಪಾಯಗಳು ಬರಬಹುದು ಎಂಬುದನ್ನು ಹೈಲೈಟ್ ಮಾಡಲು ಬಯಸುತ್ತೇನೆ.
ಪೂರ್ಣಗೊಳ್ಳುವ ಸಮಯ
ಮೂಲಭೂತ ವಿಷಯದ ಬಗ್ಗೆ ಮಾತನಾಡೋಣ - ರನ್ಟೈಮ್ ಪರಿಸರ ಸ್ವತಃ
ಪ್ರಕ್ರಿಯೆ
ಕಾಫ್ಕಾ ದಲ್ಲಾಳಿಗಳು CPU ಸ್ನೇಹಿಯಾಗಿದ್ದಾರೆ. TLS ಕೆಲವು ಓವರ್ಹೆಡ್ ಅನ್ನು ಪರಿಚಯಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಕಾಫ್ಕಾ ಕ್ಲೈಂಟ್ಗಳು ಎನ್ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಬಳಸಿದರೆ ಹೆಚ್ಚು CPU ತೀವ್ರವಾಗಿರಬಹುದು, ಆದರೆ ಇದು ಬ್ರೋಕರ್ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವುದಿಲ್ಲ.
ಮೆಮೊರಿ
ಕಾಫ್ಕಾ ದಲ್ಲಾಳಿಗಳು ಸ್ಮರಣೆಯನ್ನು ತಿನ್ನುತ್ತಾರೆ. JVM ಹೀಪ್ ಗಾತ್ರವು ಸಾಮಾನ್ಯವಾಗಿ 4-5 GB ಗೆ ಸೀಮಿತವಾಗಿರುತ್ತದೆ, ಆದರೆ ಕಾಫ್ಕಾ ಪುಟದ ಸಂಗ್ರಹವನ್ನು ಹೆಚ್ಚು ಬಳಸುವುದರಿಂದ ನಿಮಗೆ ಸಾಕಷ್ಟು ಸಿಸ್ಟಮ್ ಮೆಮೊರಿಯ ಅಗತ್ಯವಿರುತ್ತದೆ. ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ, ಕಂಟೇನರ್ ಸಂಪನ್ಮೂಲವನ್ನು ಹೊಂದಿಸಿ ಮತ್ತು ಅದಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಮಿತಿಗಳನ್ನು ವಿನಂತಿಸಿ.
ಡೇಟಾ ಅಂಗಡಿ
ಕಂಟೈನರ್ಗಳಲ್ಲಿನ ಡೇಟಾ ಸಂಗ್ರಹಣೆಯು ಅಲ್ಪಕಾಲಿಕವಾಗಿದೆ - ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ ಡೇಟಾ ಕಳೆದುಹೋಗುತ್ತದೆ. ಕಾಫ್ಕಾ ಡೇಟಾಕ್ಕಾಗಿ ನೀವು ಪರಿಮಾಣವನ್ನು ಬಳಸಬಹುದು emptyDir
, ಮತ್ತು ಪರಿಣಾಮವು ಒಂದೇ ಆಗಿರುತ್ತದೆ: ಪೂರ್ಣಗೊಂಡ ನಂತರ ನಿಮ್ಮ ಬ್ರೋಕರ್ ಡೇಟಾ ಕಳೆದುಹೋಗುತ್ತದೆ. ನಿಮ್ಮ ಸಂದೇಶಗಳನ್ನು ಇನ್ನೂ ಇತರ ಬ್ರೋಕರ್ಗಳಲ್ಲಿ ಪ್ರತಿಕೃತಿಗಳಂತೆ ಸಂಗ್ರಹಿಸಬಹುದು. ಆದ್ದರಿಂದ, ಮರುಪ್ರಾರಂಭಿಸಿದ ನಂತರ, ವಿಫಲ ಬ್ರೋಕರ್ ಮೊದಲು ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಪುನರಾವರ್ತಿಸಬೇಕು ಮತ್ತು ಈ ಪ್ರಕ್ರಿಯೆಯು ಸಾಕಷ್ಟು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು.
ಇದಕ್ಕಾಗಿಯೇ ನೀವು ದೀರ್ಘಾವಧಿಯ ಡೇಟಾ ಸಂಗ್ರಹಣೆಯನ್ನು ಬಳಸಬೇಕು. ಇದು XFS ಫೈಲ್ ಸಿಸ್ಟಮ್ನೊಂದಿಗೆ ಸ್ಥಳೀಯವಲ್ಲದ ದೀರ್ಘಕಾಲೀನ ಸಂಗ್ರಹಣೆಯಾಗಿರಲಿ ಅಥವಾ ಹೆಚ್ಚು ನಿಖರವಾಗಿ, ext4 ಆಗಿರಲಿ. NFS ಬಳಸಬೇಡಿ. ನಾನು ನಿಮಗೆ ಎಚ್ಚರಿಕೆ ನೀಡಿದೆ. NFS ಆವೃತ್ತಿಗಳು v3 ಅಥವಾ v4 ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ. ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳುವುದಾದರೆ, ಎನ್ಎಫ್ಎಸ್ನಲ್ಲಿನ "ಸ್ಟುಪಿಡ್ ಮರುಹೆಸರು" ಸಮಸ್ಯೆಯಿಂದಾಗಿ ಡೇಟಾ ಡೈರೆಕ್ಟರಿಯನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ ಕಾಫ್ಕಾ ಬ್ರೋಕರ್ ಕ್ರ್ಯಾಶ್ ಆಗುತ್ತದೆ. ನಾನು ನಿಮಗೆ ಇನ್ನೂ ಮನವರಿಕೆ ಮಾಡದಿದ್ದರೆ, ಬಹಳ ಎಚ್ಚರಿಕೆಯಿಂದ
ನೆಟ್ವರ್ಕ್
ಹೆಚ್ಚಿನ ವಿತರಣಾ ವ್ಯವಸ್ಥೆಗಳಂತೆ, ಕಾಫ್ಕಾ ಅವರ ಕಾರ್ಯಕ್ಷಮತೆಯು ನೆಟ್ವರ್ಕ್ ಲೇಟೆನ್ಸಿಯನ್ನು ಕನಿಷ್ಠ ಮತ್ತು ಬ್ಯಾಂಡ್ವಿಡ್ತ್ ಅನ್ನು ಗರಿಷ್ಠವಾಗಿ ಇರಿಸುವುದರ ಮೇಲೆ ಹೆಚ್ಚು ಅವಲಂಬಿತವಾಗಿದೆ. ಎಲ್ಲಾ ಬ್ರೋಕರ್ಗಳನ್ನು ಒಂದೇ ನೋಡ್ನಲ್ಲಿ ಹೋಸ್ಟ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಬೇಡಿ, ಏಕೆಂದರೆ ಇದು ಲಭ್ಯತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಕುಬರ್ನೆಟ್ಸ್ ನೋಡ್ ವಿಫಲವಾದರೆ, ಸಂಪೂರ್ಣ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. ಅಲ್ಲದೆ, ಸಂಪೂರ್ಣ ಡೇಟಾ ಕೇಂದ್ರಗಳಲ್ಲಿ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಚದುರಿಸಬೇಡಿ. ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ಗೆ ಅದೇ ಹೋಗುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಉತ್ತಮ ರಾಜಿ ವಿಭಿನ್ನ ಲಭ್ಯತೆಯ ವಲಯಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದು.
ಸಂರಚನೆ
ನಿಯಮಿತ ಪ್ರಣಾಳಿಕೆಗಳು
ಕುಬರ್ನೆಟ್ಸ್ ವೆಬ್ಸೈಟ್ ಹೊಂದಿದೆ
- ಬೈ: ಒಂದು ಪಾಡ್ ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ನಿಯೋಜಿಸಬಹುದಾದ ಚಿಕ್ಕ ಘಟಕವಾಗಿದೆ. ಪಾಡ್ ನಿಮ್ಮ ಕೆಲಸದ ಹೊರೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ ಮತ್ತು ಪಾಡ್ ಸ್ವತಃ ನಿಮ್ಮ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿನ ಪ್ರಕ್ರಿಯೆಗೆ ಅನುರೂಪವಾಗಿದೆ. ಒಂದು ಪಾಡ್ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಪಾತ್ರೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಸಮಷ್ಟಿಯಲ್ಲಿರುವ ಪ್ರತಿ ZooKeeper ಸರ್ವರ್ ಮತ್ತು ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ನಲ್ಲಿರುವ ಪ್ರತಿ ಬ್ರೋಕರ್ ಪ್ರತ್ಯೇಕ ಪಾಡ್ನಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.
- ಸ್ಟೇಟ್ಫುಲ್ ಸೆಟ್: ಸ್ಟೇಟ್ಫುಲ್ಸೆಟ್ ಎನ್ನುವುದು ಕುಬರ್ನೆಟ್ಸ್ ವಸ್ತುವಾಗಿದ್ದು ಅದು ಬಹು ಸ್ಥಿತಿಯ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಅಂತಹ ಕೆಲಸದ ಹೊರೆಗಳಿಗೆ ಸಮನ್ವಯದ ಅಗತ್ಯವಿರುತ್ತದೆ. ಸ್ಟೇಟ್ಫುಲ್ಸೆಟ್ಗಳು ಪಾಡ್ಗಳ ಆದೇಶ ಮತ್ತು ಅವುಗಳ ವಿಶಿಷ್ಟತೆಯ ಬಗ್ಗೆ ಖಾತರಿಗಳನ್ನು ನೀಡುತ್ತವೆ.
- ತಲೆಯಿಲ್ಲದ ಸೇವೆಗಳು: ಸೇವೆಗಳು ತಾರ್ಕಿಕ ಹೆಸರನ್ನು ಬಳಸಿಕೊಂಡು ಕ್ಲೈಂಟ್ಗಳಿಂದ ಪಾಡ್ಗಳನ್ನು ಬೇರ್ಪಡಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಕುಬರ್ನೆಟ್ಸ್ ಲೋಡ್ ಬ್ಯಾಲೆನ್ಸಿಂಗ್ಗೆ ಕಾರಣವಾಗಿದೆ. ಆದಾಗ್ಯೂ, ZooKeeper ಮತ್ತು Kafka ನಂತಹ ರಾಜ್ಯಪೂರ್ಣ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ, ಗ್ರಾಹಕರು ನಿರ್ದಿಷ್ಟ ನಿದರ್ಶನದೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಬೇಕಾಗುತ್ತದೆ. ಇಲ್ಲಿ ಹೆಡ್ಲೆಸ್ ಸೇವೆಗಳು ಸೂಕ್ತವಾಗಿ ಬರುತ್ತವೆ: ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಕ್ಲೈಂಟ್ ಇನ್ನೂ ತಾರ್ಕಿಕ ಹೆಸರನ್ನು ಹೊಂದಿರುತ್ತದೆ, ಆದರೆ ನೀವು ನೇರವಾಗಿ ಪಾಡ್ ಅನ್ನು ಸಂಪರ್ಕಿಸಬೇಕಾಗಿಲ್ಲ.
- ದೀರ್ಘಾವಧಿಯ ಶೇಖರಣಾ ಪ್ರಮಾಣ: ಮೇಲೆ ತಿಳಿಸಲಾದ ಸ್ಥಳೀಯವಲ್ಲದ ಬ್ಲಾಕ್ ನಿರಂತರ ಸಂಗ್ರಹಣೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಈ ಸಂಪುಟಗಳು ಅಗತ್ಯವಿದೆ.
ಮೇಲೆ
ಹೆಲ್ಮ್ ಚಾರ್ಟ್ಗಳು
ಹೆಲ್ಮ್ ಕುಬರ್ನೆಟ್ಸ್ಗಾಗಿ ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ ಆಗಿದ್ದು, ಇದನ್ನು yum, apt, Homebrew ಅಥವಾ Chocolatey ನಂತಹ OS ಪ್ಯಾಕೇಜ್ ಮ್ಯಾನೇಜರ್ಗಳಿಗೆ ಹೋಲಿಸಬಹುದು. ಹೆಲ್ಮ್ ಚಾರ್ಟ್ಗಳಲ್ಲಿ ವಿವರಿಸಲಾದ ಪೂರ್ವನಿರ್ಧರಿತ ಸಾಫ್ಟ್ವೇರ್ ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದನ್ನು ಇದು ಸುಲಭಗೊಳಿಸುತ್ತದೆ. ಚೆನ್ನಾಗಿ ಆಯ್ಕೆಮಾಡಿದ ಹೆಲ್ಮ್ ಚಾರ್ಟ್ ಕುಬರ್ನೆಟ್ಸ್ನಲ್ಲಿ ಕಾಫ್ಕಾವನ್ನು ಬಳಸಲು ಎಲ್ಲಾ ನಿಯತಾಂಕಗಳನ್ನು ಸರಿಯಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಹೇಗೆ ಎಂಬ ಕಷ್ಟಕರ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತದೆ. ಹಲವಾರು ಕಾಫ್ಕಾ ರೇಖಾಚಿತ್ರಗಳಿವೆ: ಅಧಿಕೃತ ಒಂದು ಇದೆ
ಆಪರೇಟರ್ಗಳು
ಹೆಲ್ಮ್ ಕೆಲವು ನ್ಯೂನತೆಗಳನ್ನು ಹೊಂದಿರುವುದರಿಂದ, ಮತ್ತೊಂದು ಉಪಕರಣವು ಗಣನೀಯ ಜನಪ್ರಿಯತೆಯನ್ನು ಗಳಿಸುತ್ತಿದೆ: ಕುಬರ್ನೆಟ್ಸ್ ನಿರ್ವಾಹಕರು. ಆಪರೇಟರ್ ಕುಬರ್ನೆಟ್ಸ್ಗಾಗಿ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ಪ್ಯಾಕೇಜ್ ಮಾಡುವುದಲ್ಲದೆ, ಅಂತಹ ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಮತ್ತು ಅದನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ಪಟ್ಟಿಯಲ್ಲಿ
ಉತ್ಪಾದಕತೆ
ನಿಮ್ಮ ಕಾಫ್ಕಾ ನಿದರ್ಶನವನ್ನು ಬೆಂಚ್ಮಾರ್ಕ್ ಮಾಡುವ ಮೂಲಕ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಪರೀಕ್ಷಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಅಂತಹ ಪರೀಕ್ಷೆಗಳು ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುವ ಮೊದಲು ಸಂಭಾವ್ಯ ಅಡಚಣೆಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಅದೃಷ್ಟವಶಾತ್, ಕಾಫ್ಕಾ ಈಗಾಗಲೇ ಎರಡು ಕಾರ್ಯಕ್ಷಮತೆ ಪರೀಕ್ಷಾ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ: kafka-producer-perf-test.sh
и kafka-consumer-perf-test.sh
. ಅವುಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿ ಬಳಸಿಕೊಳ್ಳಿ. ಉಲ್ಲೇಖಕ್ಕಾಗಿ, ನೀವು ವಿವರಿಸಿದ ಫಲಿತಾಂಶಗಳನ್ನು ಉಲ್ಲೇಖಿಸಬಹುದು
ಕಾರ್ಯಾಚರಣೆಗಳು
ಮಾನಿಟರಿಂಗ್
ವ್ಯವಸ್ಥೆಯಲ್ಲಿ ಪಾರದರ್ಶಕತೆ ಬಹಳ ಮುಖ್ಯ - ಇಲ್ಲದಿದ್ದರೆ ಅದರಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ ಎಂದು ನಿಮಗೆ ಅರ್ಥವಾಗುವುದಿಲ್ಲ. ಇಂದು ಕ್ಲೌಡ್ ಸ್ಥಳೀಯ ಶೈಲಿಯಲ್ಲಿ ಮೆಟ್ರಿಕ್ಸ್-ಆಧಾರಿತ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಒದಗಿಸುವ ಘನ ಟೂಲ್ಕಿಟ್ ಇದೆ. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ ಎರಡು ಜನಪ್ರಿಯ ಸಾಧನಗಳು ಪ್ರಮೀತಿಯಸ್ ಮತ್ತು ಗ್ರಾಫನಾ. ಪ್ರಮೀತಿಯಸ್ JMX ರಫ್ತುದಾರರನ್ನು ಬಳಸಿಕೊಂಡು ಎಲ್ಲಾ ಜಾವಾ ಪ್ರಕ್ರಿಯೆಗಳಿಂದ (ಕಾಫ್ಕಾ, ಝೂಕೀಪರ್, ಕಾಫ್ಕಾ ಕನೆಕ್ಟ್) ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು - ಸರಳ ರೀತಿಯಲ್ಲಿ. ನೀವು cAdvisor ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಸೇರಿಸಿದರೆ, Kubernetes ನಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೇಗೆ ಬಳಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನೀವು ಹೆಚ್ಚು ಸಂಪೂರ್ಣವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು.
ಸ್ಟ್ರಿಮ್ಜಿ ಕಾಫ್ಕಾಗೆ ಗ್ರಾಫನಾ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ ಅತ್ಯಂತ ಅನುಕೂಲಕರ ಉದಾಹರಣೆಯನ್ನು ಹೊಂದಿದೆ. ಇದು ಪ್ರಮುಖ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ದೃಶ್ಯೀಕರಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಕಡಿಮೆ ಪುನರಾವರ್ತನೆಯ ವಲಯಗಳು ಅಥವಾ ಆಫ್ಲೈನ್ನಲ್ಲಿರುವವುಗಳ ಬಗ್ಗೆ. ಅಲ್ಲಿ ಎಲ್ಲವೂ ತುಂಬಾ ಸ್ಪಷ್ಟವಾಗಿದೆ. ಈ ಮೆಟ್ರಿಕ್ಗಳು ಸಂಪನ್ಮೂಲ ಬಳಕೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಮಾಹಿತಿ, ಹಾಗೆಯೇ ಸ್ಥಿರತೆ ಸೂಚಕಗಳಿಂದ ಪೂರಕವಾಗಿವೆ. ಆದ್ದರಿಂದ ನೀವು ಮೂಲಭೂತ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ಮಾನಿಟರಿಂಗ್ ಅನ್ನು ಯಾವುದಕ್ಕೂ ಪಡೆಯುವುದಿಲ್ಲ!
ಮೂಲ:
ಕ್ಲೈಂಟ್ ಮಾನಿಟರಿಂಗ್ (ಗ್ರಾಹಕರು ಮತ್ತು ಉತ್ಪಾದಕರ ಮೇಲಿನ ಮಾಪನಗಳು), ಹಾಗೆಯೇ ಲೇಟೆನ್ಸಿ ಮಾನಿಟರಿಂಗ್ (ಇದಕ್ಕಾಗಿ ಇದೆ) ಇವೆಲ್ಲವನ್ನೂ ಪೂರೈಸುವುದು ಒಳ್ಳೆಯದು
ಲಾಗಿಂಗ್
ಲಾಗಿಂಗ್ ಮತ್ತೊಂದು ನಿರ್ಣಾಯಕ ಕಾರ್ಯವಾಗಿದೆ. ನಿಮ್ಮ ಕಾಫ್ಕಾ ಇನ್ಸ್ಟಾಲೇಶನ್ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಕಂಟೈನರ್ಗಳು ಲಾಗ್ ಆಗಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ stdout
и stderr
, ಮತ್ತು ನಿಮ್ಮ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಎಲ್ಲಾ ಲಾಗ್ಗಳನ್ನು ಕೇಂದ್ರೀಯ ಲಾಗಿಂಗ್ ಮೂಲಸೌಕರ್ಯಕ್ಕೆ ಒಟ್ಟುಗೂಡಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ಉದಾ.
ಕ್ರಿಯಾತ್ಮಕ ಪರೀಕ್ಷೆ
ನಿಮ್ಮ ಪಾಡ್ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಚಾಲನೆಯಲ್ಲಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಲು ಕುಬರ್ನೆಟ್ಸ್ ಲೈವ್ನೆಸ್ ಮತ್ತು ರೆಡಿನೆಸ್ ಪ್ರೋಬ್ಗಳನ್ನು ಬಳಸುತ್ತಾರೆ. ಲೈವ್ನೆಸ್ ಚೆಕ್ ವಿಫಲವಾದಲ್ಲಿ, ಕುಬರ್ನೆಟ್ಸ್ ಆ ಕಂಟೇನರ್ ಅನ್ನು ನಿಲ್ಲಿಸುತ್ತದೆ ಮತ್ತು ಮರುಪ್ರಾರಂಭಿಸುವ ನೀತಿಯನ್ನು ಹೊಂದಿಸಿದರೆ ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಮರುಪ್ರಾರಂಭಿಸುತ್ತದೆ. ಸನ್ನದ್ಧತೆಯ ಪರಿಶೀಲನೆಯು ವಿಫಲವಾದಲ್ಲಿ, ಕುಬರ್ನೆಟ್ಸ್ ಸೇವೆ ವಿನಂತಿಗಳಿಂದ ಪಾಡ್ ಅನ್ನು ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ. ಹೀಗಾಗಿ, ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಹಸ್ತಚಾಲಿತ ಹಸ್ತಕ್ಷೇಪವು ಇನ್ನು ಮುಂದೆ ಅಗತ್ಯವಿಲ್ಲ, ಇದು ದೊಡ್ಡ ಪ್ಲಸ್ ಆಗಿದೆ.
ನವೀಕರಣಗಳನ್ನು ಹೊರತರಲಾಗುತ್ತಿದೆ
ಸ್ಟೇಟ್ಫುಲ್ಸೆಟ್ಗಳು ಸ್ವಯಂಚಾಲಿತ ನವೀಕರಣಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತವೆ: ನೀವು ರೋಲಿಂಗ್ಅಪ್ಡೇಟ್ ತಂತ್ರವನ್ನು ಆರಿಸಿದರೆ, ಕಾಫ್ಕಾ ಅಡಿಯಲ್ಲಿ ಪ್ರತಿಯೊಂದನ್ನು ನವೀಕರಿಸಲಾಗುತ್ತದೆ. ಈ ರೀತಿಯಾಗಿ, ಅಲಭ್ಯತೆಯನ್ನು ಶೂನ್ಯಕ್ಕೆ ಕಡಿಮೆ ಮಾಡಬಹುದು.
ಸ್ಕೇಲಿಂಗ್
ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ಸ್ಕೇಲ್ ಮಾಡುವುದು ಸುಲಭದ ಕೆಲಸವಲ್ಲ. ಆದಾಗ್ಯೂ, ಕುಬರ್ನೆಟ್ಸ್ ನಿರ್ದಿಷ್ಟ ಸಂಖ್ಯೆಯ ಪ್ರತಿಕೃತಿಗಳಿಗೆ ಪಾಡ್ಗಳನ್ನು ಅಳೆಯಲು ತುಂಬಾ ಸುಲಭಗೊಳಿಸುತ್ತದೆ, ಅಂದರೆ ನೀವು ಇಷ್ಟಪಡುವಷ್ಟು ಕಾಫ್ಕಾ ಬ್ರೋಕರ್ಗಳನ್ನು ನೀವು ಘೋಷಣಾತ್ಮಕವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದು. ಈ ಸಂದರ್ಭದಲ್ಲಿ ಅತ್ಯಂತ ಕಷ್ಟಕರವಾದ ವಿಷಯವೆಂದರೆ ಸ್ಕೇಲಿಂಗ್ ಮಾಡಿದ ನಂತರ ಅಥವಾ ಸ್ಕೇಲಿಂಗ್ ಡೌನ್ ಮಾಡುವ ಮೊದಲು ವಲಯಗಳನ್ನು ಮರುಹೊಂದಿಸುವುದು. ಮತ್ತೊಮ್ಮೆ, ಈ ಕಾರ್ಯದಲ್ಲಿ ಕುಬರ್ನೆಟ್ಸ್ ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತಾರೆ.
ಆಡಳಿತ
ನಿಮ್ಮ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ಅನ್ನು ನಿರ್ವಹಿಸುವುದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಕಾರ್ಯಗಳು, ಉದಾಹರಣೆಗೆ ವಿಷಯಗಳನ್ನು ರಚಿಸುವುದು ಮತ್ತು ವಲಯಗಳನ್ನು ಮರುಹೊಂದಿಸುವುದು, ನಿಮ್ಮ ಪಾಡ್ಗಳಲ್ಲಿ ಕಮಾಂಡ್ ಲೈನ್ ಇಂಟರ್ಫೇಸ್ ತೆರೆಯುವ ಮೂಲಕ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬಳಸಿ ಮಾಡಬಹುದು. ಆದಾಗ್ಯೂ, ಈ ಪರಿಹಾರವು ತುಂಬಾ ಸುಂದರವಾಗಿಲ್ಲ. ಸ್ಟ್ರಿಮ್ಜಿ ಬೇರೆ ಆಪರೇಟರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ವಿಷಯಗಳನ್ನು ನಿರ್ವಹಿಸುವುದನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಇಲ್ಲಿ ಸುಧಾರಣೆಗೆ ಸ್ವಲ್ಪ ಅವಕಾಶವಿದೆ.
Копирование и
ಈಗ ಕಾಫ್ಕಾ ಲಭ್ಯತೆಯು ಕುಬರ್ನೆಟ್ಸ್ ಲಭ್ಯತೆಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ. ನಿಮ್ಮ ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ವಿಫಲವಾದರೆ, ಕೆಟ್ಟ ಸನ್ನಿವೇಶದಲ್ಲಿ, ನಿಮ್ಮ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ ಸಹ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. ಮರ್ಫಿ ಕಾನೂನಿನ ಪ್ರಕಾರ, ಇದು ಖಂಡಿತವಾಗಿಯೂ ಸಂಭವಿಸುತ್ತದೆ ಮತ್ತು ನೀವು ಡೇಟಾವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ಈ ರೀತಿಯ ಅಪಾಯವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ಉತ್ತಮ ಬ್ಯಾಕಪ್ ಪರಿಕಲ್ಪನೆಯನ್ನು ಹೊಂದಿರಿ. ನೀವು MirrorMaker ಅನ್ನು ಬಳಸಬಹುದು, ಇದರಲ್ಲಿ ವಿವರಿಸಿದಂತೆ S3 ಅನ್ನು ಬಳಸುವುದು ಮತ್ತೊಂದು ಆಯ್ಕೆಯಾಗಿದೆ
ತೀರ್ಮಾನಕ್ಕೆ
ಸಣ್ಣ ಮತ್ತು ಮಧ್ಯಮ ಗಾತ್ರದ ಕಾಫ್ಕಾ ಕ್ಲಸ್ಟರ್ಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುವಾಗ, ಕುಬರ್ನೆಟ್ಸ್ ಅನ್ನು ಬಳಸುವುದು ಖಂಡಿತವಾಗಿಯೂ ಯೋಗ್ಯವಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ಹೆಚ್ಚುವರಿ ನಮ್ಯತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಆಪರೇಟರ್ ಅನುಭವವನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. ನೀವು ಅತ್ಯಂತ ಗಮನಾರ್ಹವಾದ ಕ್ರಿಯಾತ್ಮಕವಲ್ಲದ ಲೇಟೆನ್ಸಿ ಮತ್ತು/ಅಥವಾ ಥ್ರೋಪುಟ್ ಅವಶ್ಯಕತೆಗಳನ್ನು ಹೊಂದಿದ್ದರೆ, ನಂತರ ಕೆಲವು ಇತರ ನಿಯೋಜನೆ ಆಯ್ಕೆಯನ್ನು ಪರಿಗಣಿಸುವುದು ಉತ್ತಮವಾಗಿದೆ.
ಮೂಲ: www.habr.com