Architecture Decision Record

Active theme: Light

← ನಿರ್ಧಾರ ದಾಖಲೆ ಉದಾಹರಣೆಗಳು

ಸಮಯಮುದ್ರೆ ಸ್ವರೂಪ

ವಿಷಯಗಳು:

ಸಾರಾಂಶ

ಸಮಸ್ಯೆ

ಸಮಯಮುದ್ರೆಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ ಮತ್ತು ನಮ್ಮ ಎಲ್ಲಾ ವ್ಯವಸ್ಥೆಗಳು ಹಾಗೂ ಮೂರನೇ ಪಕ್ಷದ ವ್ಯವಸ್ಥೆಗಳಾದ್ಯಂತ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುವ ಸ್ಥಿರ ಸಮಯಮುದ್ರೆ ಸ್ವರೂಪವನ್ನು ಬಳಸುವ ಮೂಲಕ ವಿಷಯಗಳು ಯಾವಾಗ ನಡೆಯುತ್ತವೆ ಎಂಬುದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ನಾವು ಬಯಸುತ್ತೇವೆ.

ವಿಭಿನ್ನ ಸಮಯಮುದ್ರೆ ಸ್ವರೂಪಗಳನ್ನು ಹೊಂದಿರುವ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ನಾವು ಸಂವಹನ ನಡೆಸುತ್ತೇವೆ:

  • JSON ಸಂದೇಶಗಳಿಗೆ ಸ್ಥಳೀಯ ಸಮಯಮುದ್ರೆ ಸ್ವರೂಪವಿಲ್ಲ, ಆದ್ದರಿಂದ ಸಮಯಮುದ್ರೆಯನ್ನು ಸ್ಟ್ರಿಂಗ್‌ಗೆ ಹೇಗೆ ಪರಿವರ್ತಿಸಬೇಕು ಮತ್ತು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಸಮಯಮುದ್ರೆಗೆ ಹೇಗೆ ಪರಿವರ್ತಿಸಬೇಕು, ಅಂದರೆ ಸೀರಿಯಲೈಸ್/ಡಿಸೀರಿಯಲೈಸ್ ಮಾಡುವುದು ಹೇಗೆ ಎಂದು ನಾವು ಆರಿಸಬೇಕು.

  • ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು UTC ಸಮಯದ ಬದಲು ಸ್ಥಳೀಯ ಸಮಯ ಬಳಸಲು ಹೊಂದಿಸಲಾಗಿದೆ. ಸ್ಥಳೀಯ ಸಮಯದ ಆಧಾರದ ಮೇಲೆ ಈವೆಂಟ್‌ಗಳನ್ನು ಪ್ರಚೋದಿಸುವ ಯೋಜನೆಗಳಂತೆ, ಸ್ಥಳೀಯ ಸಮಯಕ್ಕೆ ಹೊಂದಿಕೊಳ್ಳಬೇಕಾದ ಯೋಜನೆಗಳಿಗೆ ಇದು ಅನುಕೂಲಕರವಾಗಿರಬಹುದು.

  • ಕೆಲವು ವ್ಯವಸ್ಥೆಗಳು ಸೆಕೆಂಡುಗಳು ಮತ್ತು ಮಿಲಿಸೆಕೆಂಡುಗಳು ಮತ್ತು ನ್ಯಾನೊಸೆಕೆಂಡುಗಳ ಸಮಯ ರೆಸಲ್ಯೂಶನ್ ಬಳಸುವಂತೆ ವಿಭಿನ್ನ ಸಮಯ ನಿಖರತೆ ಅಗತ್ಯಗಳು ಮತ್ತು ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಉದಾಹರಣೆಗೆ, Linux ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನ date ಆದೇಶವು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸೆಕೆಂಡುಗಳ ಸಮಯ ನಿಖರತೆಯನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ Nasdaq ಷೇರು ವಿನಿಮಯವು ಡೀಫಾಲ್ಟ್ ಆಗಿ ನ್ಯಾನೊಸೆಕೆಂಡುಗಳ ಸಮಯ ನಿಖರತೆಯನ್ನು ಬಯಸುತ್ತದೆ.

ನಿರ್ಧಾರ

ನ್ಯಾನೊಸೆಕೆಂಡ್ ನಿಖರತೆಯೊಂದಿಗೆ ISO 8601 ಸಮಯಮುದ್ರೆ ಪ್ರಮಾಣಿತ ಸ್ವರೂಪವನ್ನು, ನಿರ್ದಿಷ್ಟವಾಗಿ "YYYY-MM-DDTHH:MM:SS.NNNNNNNNNZ" ಅನ್ನು ನಾವು ಆರಿಸುತ್ತೇವೆ.

ಈ ಸ್ವರೂಪವು ವರ್ಷ, ತಿಂಗಳು, ದಿನ, ಗಂಟೆ, ನಿಮಿಷ, ಸೆಕೆಂಡ್, ನ್ಯಾನೊಸೆಕೆಂಡುಗಳು ಮತ್ತು ಜುಲು ಸಮಯ ವಲಯ ಅಂದರೆ UTC, GMT ಅನ್ನು ತೋರಿಸುತ್ತದೆ.

ಸ್ಥಿತಿ

ನಿರ್ಧರಿಸಲಾಗಿದೆ.

ವಿವರಗಳು

ಊಹೆಗಳು

ಸಮಯಮುದ್ರೆಯನ್ನು ಸ್ಟ್ರಿಂಗ್‌ಗೆ ಪರಿವರ್ತಿಸಲು (ಅಂದರೆ ಸೀರಿಯಲೈಸ್) ಮತ್ತು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಸಮಯಮುದ್ರೆಗೆ ಪರಿವರ್ತಿಸಲು (ಅಂದರೆ ಡಿಸೀರಿಯಲೈಸ್) ನಾವು ಈ ಸಮಯಮುದ್ರೆ ಪಠ್ಯ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ನಿಭಾಯಿಸಬೇಕು.

ಸಾಮಾನ್ಯವಾಗಿ ಬಳಸಲು ಸುಲಭ, ಪರಿವರ್ತಿಸಲು ಸುಲಭ ಮತ್ತು ವ್ಯಕ್ತಿಗೆ ಓದಲು ಸುಲಭವಾದ ಸ್ವರೂಪವನ್ನು ನಾವು ಬಯಸುತ್ತೇವೆ.

ವಿಶ್ಲೇಷಣಾ ವ್ಯವಸ್ಥೆಗಳು, ಡೇಟಾಬೇಸ್ ವ್ಯವಸ್ಥೆಗಳು, ಹಣಕಾಸು ವ್ಯವಸ್ಥೆಗಳಂತಹ ನಾವು ನಿಯಂತ್ರಿಸಲಾಗದ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಬಾಹ್ಯ ವ್ಯವಸ್ಥೆಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಯನ್ನು ನಾವು ಬಯಸುತ್ತೇವೆ.

ನಿರ್ಬಂಧಗಳು

ಕೆಲವು ವ್ಯವಸ್ಥೆಗಳು ಸಮಯ ನಿಖರತೆಯ ಮಿತಿಗಳನ್ನು ಹೊಂದಿವೆ. ಉದಾಹರಣೆಗೆ, macOS ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನ date ಆದೇಶವು ಸಮಯ ನಿಖರತೆಯನ್ನು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಮುದ್ರಿಸಬಹುದು, ಆದರೆ ನ್ಯಾನೊಸೆಕೆಂಡುಗಳಲ್ಲಿ ಅಲ್ಲ.

ನಿಲುವುಗಳು

ನಾವು ಹಲವಾರು ಆಯ್ಕೆಗಳನ್ನು ಪರಿಗಣಿಸಿದೆವು:

  • Unix ಎಪೋಕ್ ಅಂದರೆ ಹೆಚ್ಚುತ್ತಿರುವ ಒಂದು ಸಂಖ್ಯೆ.

  • ಸಂಕ್ಷಿಪ್ತ ಪಠ್ಯ ಸ್ವರೂಪ "YYYYMMDDTHHMMSSNNNNNNNNN".

  • ಸ್ಥಳೀಯ ಸಮಯ ವಲಯ ಮತ್ತು UTC ಸಮಯ ವಲಯ ಬಳಕೆ.

ವಾದ

ವಿಶಿಷ್ಟ ಬಳಕೆಗೆ, ಕಚ್ಚಾ ವೇಗ/ಗಾತ್ರಕ್ಕಿಂತ ಮನುಷ್ಯರಿಗೆ ಓದಲು/ಬರೆಯಲು ಸುಲಭವಾಗಿರುವುದನ್ನು ನಾವು ಹೆಚ್ಚು ಮೌಲ್ಯೀಕರಿಸುತ್ತೇವೆ.

ವಿಶಿಷ್ಟ ಬಳಕೆಗೆ, ಯಂತ್ರ ವ್ಯವಸ್ಥೆಗಳಲ್ಲಿ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುವ, ಮತ್ತು ಮಾದರಿ ಡೇಟಾ ಬರೆಯುವುದು, JSON ಔಟ್‌ಪುಟ್ ಓದುವುದು, ಲಾಗ್ ಕಡತವನ್ನು grep ಮಾಡುವುದು ಇತ್ಯಾದಿ ಹಸ್ತಚಾಲಿತವಾಗಿಯೂ ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುವ ಸ್ವರೂಪವನ್ನು ನಾವು ಬಯಸುತ್ತೇವೆ.

ಹೈ ಪರ್ಫಾರ್ಮೆನ್ಸ್ ಕಂಪ್ಯೂಟಿಂಗ್‌ನಂತಹ ಅಸಾಮಾನ್ಯ ಬಳಕೆಗೆ, ನಾವು ಆರಿಸುವ ಯಾವುದೇ ಪಠ್ಯ ಸ್ವರೂಪವನ್ನು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಅಂತರ್ನಿರ್ಮಿತ ದಿನಾಂಕ ವಸ್ತು ಪ್ರಕಾರದಂತಹ ವೇಗದ ಸ್ವರೂಪಕ್ಕೆ ಪಠ್ಯವನ್ನು ಪರಿವರ್ತಿಸುವ ಮೂಲಕ ಅತ್ಯುತ್ತಮಗೊಳಿಸಲು ನಾವು ಬಯಸುತ್ತೇವೆ ಎಂದು ನಿರೀಕ್ಷಿಸುತ್ತೇವೆ. ಆದ್ದರಿಂದ HPC ಗೆ ಪಠ್ಯ ಸ್ವರೂಪ ಹೆಚ್ಚು ಮುಖ್ಯವಲ್ಲ.

ಪರಿಣಾಮಗಳು

ನಮ್ಮ ವಿವಿಧ ಪಠ್ಯ ವ್ಯವಸ್ಥೆಗಳು ಮತ್ತು ಸಮಯ ವ್ಯವಸ್ಥೆಗಳು ಈ ಸ್ವರೂಪಕ್ಕೆ ಒಮ್ಮುಖವಾಗುತ್ತವೆ.

ಸಂಬಂಧಿತ

ಸಂಬಂಧಿತ ನಿರ್ಧಾರಗಳು

ಸಮಯದ ವ್ಯತ್ಯಾಸಗಳು ಅಂದರೆ ಅವಧಿಗಳನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು ವೇಗದ/ಸುಲಭ ಮಾರ್ಗವನ್ನೂ ನಾವು ಬಯಸಬಹುದು. Unix ಎಪೋಕ್ ಸಮಯಮುದ್ರೆಗಳೊಂದಿಗೆ ಇವು ಸುಲಭ.

ಸಂಬಂಧಿತ ಅವಶ್ಯಕತೆಗಳು

ಉದಾಹರಣೆಗೆ Splunk, Sumo, ELK ಇತ್ಯಾದಿಗಳಿಗೆ, ನಿರ್ದಿಷ್ಟ ರೀತಿಯ ಲಾಗಿಂಗ್ ಸಂದೇಶ ಮುದ್ರೆಗೆ ಸಂಬಂಧಿತ ಅವಶ್ಯಕತೆ ನಮಗಿದ್ದರೆ ನಮ್ಮ ನಿರ್ಧಾರವನ್ನು ಹೊಂದಿಸಲು ನಾವು ಬಯಸಬಹುದು.

ಸಂಬಂಧಿತ ಆರ್ಟಿಫ್ಯಾಕ್ಟುಗಳು

ಭಾಷಾ ಫಾರ್ಮ್ಯಾಟರ್‌ಗಳು ಮತ್ತು ಪಾರ್ಸರ್‌ಗಳು:

Rosetta Code ಉದಾಹರಣೆಗಳು:

SixArm ಉದಾಹರಣೆಗಳು:

ಸಂಬಂಧಿತ ತತ್ವಗಳು

ಸುಲಭವಾಗಿ ಹಿಂದಿರುಗಿಸಬಹುದಾದ. Unix ಎಪೋಕ್‌ನಂತಹ ಬೇರೆ ಸ್ವರೂಪಕ್ಕೆ ನಾವು ಸಾಕಷ್ಟು ಸುಲಭವಾಗಿ ಬದಲಾಗಬಹುದು.

ಅಕಾಲಿಕ ಅತ್ಯುತ್ತಮೀಕರಣವನ್ನು ಮುಂದೂಡಿ. ವಿಶಿಷ್ಟ ಬಳಕೆಗೆ, ಡ್ಯಾಶ್‌ಗಳು ಮತ್ತು ಕೊಲೊನ್‌ಗಳನ್ನು ಬಳಸುವ ಸ್ವರೂಪದಂತಹ ಕೆಲವು ಹೆಚ್ಚುವರಿ ಅಕ್ಷರಗಳ ಬಗ್ಗೆ ನಾವು ಹೆಚ್ಚು ಕಾಳಜಿ ವಹಿಸುವುದಿಲ್ಲ.

ಟಿಪ್ಪಣಿಗಳು

ಟಿಪ್ಪಣಿಗಳನ್ನು ಇಲ್ಲಿ ಸೇರಿಸಿ.