ISP ವ್ಯವಸ್ಥೆ, ಕ್ಷಮಿಸಿ ಮತ್ತು ವಿದಾಯ! ನಾವು ನಮ್ಮ ಸರ್ವರ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಏಕೆ ಮತ್ತು ಹೇಗೆ ಬರೆದಿದ್ದೇವೆ

ISP ವ್ಯವಸ್ಥೆ, ಕ್ಷಮಿಸಿ ಮತ್ತು ವಿದಾಯ! ನಾವು ನಮ್ಮ ಸರ್ವರ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಏಕೆ ಮತ್ತು ಹೇಗೆ ಬರೆದಿದ್ದೇವೆ

ನಮಸ್ಕಾರ! ನಾವು "ಹೋಸ್ಟಿಂಗ್ ಟೆಕ್ನಾಲಜೀಸ್" ಮತ್ತು 5 ವರ್ಷಗಳ ಹಿಂದೆ ಪ್ರಾರಂಭಿಸಿದ್ದೇವೆ VDSina - ಡೆವಲಪರ್‌ಗಳಿಗಾಗಿ ವಿಶೇಷವಾಗಿ ರಚಿಸಲಾದ ಮೊದಲ ವಿಡಿಎಸ್ ಹೋಸ್ಟಿಂಗ್. ಡಿಜಿಟಲ್ ಓಷನ್ ನಂತಹ ಅನುಕೂಲಕರವಾಗಿಸಲು ನಾವು ಪ್ರಯತ್ನಿಸುತ್ತೇವೆ, ಆದರೆ ರಷ್ಯಾದ ಬೆಂಬಲ, ಪಾವತಿ ವಿಧಾನಗಳು ಮತ್ತು ರಷ್ಯಾದಲ್ಲಿ ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ. ಆದರೆ DigitalOcean ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ಬೆಲೆ ಮಾತ್ರವಲ್ಲ, ಇದು ಒಂದು ಸೇವೆಯಾಗಿದೆ.

ISPsystem ನಿಂದ ಸಾಫ್ಟ್‌ವೇರ್ ತಂಪಾದ ಸೇವೆಯ ದಾರಿಯಲ್ಲಿ ನಮ್ಮ ಕೈಗಳನ್ನು ಕಟ್ಟುವ ಹಗ್ಗವಾಗಿ ಹೊರಹೊಮ್ಮಿತು. ಮೂರು ವರ್ಷಗಳ ಹಿಂದೆ, ನಾವು Billmanager ಬಿಲ್ಲಿಂಗ್ ಮತ್ತು VMmanager ಸರ್ವರ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಬಳಸಿದ್ದೇವೆ ಮತ್ತು ನಮ್ಮ ಸ್ವಂತ ನಿಯಂತ್ರಣ ಫಲಕವಿಲ್ಲದೆ ಉತ್ತಮ ಸೇವೆಯನ್ನು ಒದಗಿಸುವುದು ಅಸಾಧ್ಯವೆಂದು ತ್ವರಿತವಾಗಿ ಅರಿತುಕೊಂಡೆವು.

ಹೇಗೆ ISPಸಿಸ್ಟಮ್ ಕಿಲ್ಡ್ ಕನ್ವಿನಿಯನ್ಸ್

ದೋಷಗಳು

ದೋಷವನ್ನು ನಾವೇ ಸರಿಪಡಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ - ಪ್ರತಿ ಬಾರಿ ನಾವು ಬೇರೊಬ್ಬರ ಬೆಂಬಲಕ್ಕೆ ಬರೆಯಬೇಕು ಮತ್ತು ಕಾಯಬೇಕಾಗಿತ್ತು. ಯಾವುದೇ ಸಮಸ್ಯೆಯ ಪರಿಹಾರಕ್ಕೆ ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಕಂಪನಿಯ ಪ್ರತಿಕ್ರಿಯೆಯ ಅಗತ್ಯವಿದೆ.

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

ಅಲಭ್ಯತೆಯ ಬೆದರಿಕೆ

ನವೀಕರಣಗಳು ಹೊಸ ದೋಷಗಳನ್ನು ಪ್ರಚೋದಿಸುವ ಅನಿರೀಕ್ಷಿತ ಅಲಭ್ಯತೆಯನ್ನು ಉಂಟುಮಾಡಬಹುದು.

ಪ್ರತಿ ಅಪ್‌ಡೇಟ್ ಲಾಟರಿ ಆಗಿತ್ತು: ನಾನು ಬಿಲ್ಲಿಂಗ್ ಅನ್ನು ಮುಚ್ಚಿಡಬೇಕಾಗಿತ್ತು ಮತ್ತು ನವೀಕರಣಗಳ ದೇವರುಗಳಿಗೆ ತ್ಯಾಗ ಮಾಡಬೇಕಾಗಿತ್ತು - ಒಂದೆರಡು ಬಾರಿ ನವೀಕರಣವು 10-15 ನಿಮಿಷಗಳ ಕಾಲ ಅಲಭ್ಯತೆಯನ್ನು ಉಂಟುಮಾಡಿತು. ಈ ಸಮಯದಲ್ಲಿ ನಮ್ಮ ನಿರ್ವಾಹಕರು ತಮ್ಮ ಕಣ್ಣುಗಳ ಮೇಲೆ ಕುಳಿತಿದ್ದರು - ಅಲಭ್ಯತೆಯು ಎಷ್ಟು ಕಾಲ ಉಳಿಯುತ್ತದೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿರಲಿಲ್ಲ ಮತ್ತು ISPsystem ಯಾವಾಗ ಹೊಸ ನವೀಕರಣವನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲು ನಿರ್ಧರಿಸುತ್ತದೆ ಎಂದು ಊಹಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ.

ಐದನೇ ಪೀಳಿಗೆಯಲ್ಲಿ, ಬಿಲ್‌ಮ್ಯಾನೇಜರ್ ಉತ್ತಮವಾಯಿತು, ಆದರೆ ಅಗತ್ಯ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಪಡೆಯಲು, ನಾನು ಬೀಟಾವನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಿತ್ತು, ಅದನ್ನು ಈಗಾಗಲೇ ಪ್ರತಿ ವಾರ ನವೀಕರಿಸಲಾಗಿದೆ. ಏನಾದರೂ ಮುರಿದುಹೋದರೆ, ನಾನು ಇತರ ಡೆವಲಪರ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡಬೇಕಾಗಿತ್ತು ಇದರಿಂದ ಅವರು ಏನನ್ನಾದರೂ ಸರಿಪಡಿಸಬಹುದು.

ಅನನುಕೂಲವಾದ ಪ್ಯಾನಲ್ ಇಂಟರ್ಫೇಸ್

ಎಲ್ಲವನ್ನೂ ವಿಭಿನ್ನ ಫಲಕಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ ಮತ್ತು ವಿವಿಧ ಸ್ಥಳಗಳಿಂದ ನಿಯಂತ್ರಿಸಲಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಗ್ರಾಹಕರು ಬಿಲ್‌ಮ್ಯಾನೇಜರ್ ಮೂಲಕ ಪಾವತಿಸುತ್ತಾರೆ ಮತ್ತು ಅವರು VMManager ನಲ್ಲಿ VDS ಅನ್ನು ರೀಬೂಟ್ ಮಾಡಬೇಕಾಗಿತ್ತು ಅಥವಾ ಮರುಸ್ಥಾಪಿಸಬೇಕು. ಕ್ಲೈಂಟ್‌ಗೆ ಸಹಾಯ ಮಾಡಲು, ಅವರ ಸರ್ವರ್‌ನಲ್ಲಿನ ಲೋಡ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಲು ಅಥವಾ ಅವರು ಯಾವ OS ಅನ್ನು ಬಳಸುತ್ತಿದ್ದಾರೆಂದು ನೋಡಲು ನಮ್ಮ ಸಿಬ್ಬಂದಿ ವಿಂಡೋಸ್ ನಡುವೆ ಬದಲಾಯಿಸಬೇಕಾಗಿತ್ತು.

ಅಂತಹ ಇಂಟರ್ಫೇಸ್ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ - ನಮ್ಮ ಮತ್ತು ನಮ್ಮ ಗ್ರಾಹಕರು. ಅಂತಹ ಪರಿಸ್ಥಿತಿಯಲ್ಲಿ ಡಿಜಿಟಲ್ ಓಷನ್‌ನಂತೆ ಯಾವುದೇ ಅನುಕೂಲತೆಯ ಪ್ರಶ್ನೆಯೇ ಇಲ್ಲ.

ಆಗಾಗ್ಗೆ API ನವೀಕರಣಗಳೊಂದಿಗೆ ಸಣ್ಣ ಜೀವನಚಕ್ರಗಳು

ನಾವು ನಮ್ಮದೇ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಬರೆದಿದ್ದೇವೆ - ಉದಾಹರಣೆಗೆ, VMManager ನಲ್ಲಿ ಇಲ್ಲದ ಹೆಚ್ಚುವರಿ ಪಾವತಿ ವಿಧಾನಗಳೊಂದಿಗೆ ಪ್ಲಗಿನ್.

ಇತ್ತೀಚಿನ ವರ್ಷಗಳಲ್ಲಿ, VMManager ತುಲನಾತ್ಮಕವಾಗಿ ಕಡಿಮೆ ಜೀವನ ಚಕ್ರವನ್ನು ಹೊಂದಿತ್ತು, ಮತ್ತು ಹೊಸ ಆವೃತ್ತಿಗಳಲ್ಲಿ, API ನಲ್ಲಿನ ವೇರಿಯಬಲ್‌ಗಳು ಅಥವಾ ಕಾರ್ಯಗಳ ಹೆಸರುಗಳು ನಿರಂಕುಶವಾಗಿ ಬದಲಾಗಬಹುದು - ಇದು ನಮ್ಮ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಮುರಿಯಿತು. ಹಳೆಯ ಆವೃತ್ತಿಗಳಿಗೆ ಬೆಂಬಲವನ್ನು ತ್ವರಿತವಾಗಿ ತೆಗೆದುಹಾಕಲಾಯಿತು ಮತ್ತು ನವೀಕರಿಸಬೇಕಾಗಿದೆ.

ಮಾರ್ಪಡಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ

ಹೆಚ್ಚು ನಿಖರವಾಗಿ, ಇದು ಸಾಧ್ಯ, ಆದರೆ ಅತ್ಯಂತ ಅಸಮರ್ಥವಾಗಿದೆ. ಪರವಾನಗಿ ನಿರ್ಬಂಧಗಳು ಮೂಲ ಕೋಡ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ, ನೀವು ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಮಾತ್ರ ಬರೆಯಬಹುದು. ಗರಿಷ್ಠ ಪ್ಲಗಿನ್‌ಗಳು - ಕೆಲವು ಮೆನು ಐಟಂಗಳು, ಹಂತ-ಹಂತದ ಮಾಂತ್ರಿಕ. ISP ಸಿಸ್ಟಂ ಅನ್ನು ಬಹುಮುಖತೆಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ಆದರೆ ನಮಗೆ ವಿಶೇಷ ಪರಿಹಾರಗಳು ಬೇಕಾಗುತ್ತವೆ.

ಹಾಗಾಗಿ ನನ್ನದೇ ಫಲಕ ಬರೆಯುವ ನಿರ್ಧಾರ ಪಕ್ವವಾಯಿತು. ನಾವು ಗುರಿಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ:

  • ದೋಷಗಳು, ದೋಷಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸಿ ಮತ್ತು ಕ್ಲೈಂಟ್ ಕಾಯುವಂತೆ ಮಾಡದೆಯೇ ಅವುಗಳನ್ನು ನೀವೇ ಸರಿಪಡಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
  • ವರ್ಕ್‌ಫ್ಲೋಗಳು ಮತ್ತು ಕ್ಲೈಂಟ್ ಅಗತ್ಯಗಳಿಗಾಗಿ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಮುಕ್ತವಾಗಿ ಮಾರ್ಪಡಿಸಿ.
  • ಶುದ್ಧ ಮತ್ತು ಅರ್ಥವಾಗುವ ವಿನ್ಯಾಸದೊಂದಿಗೆ ಉಪಯುಕ್ತತೆಯನ್ನು ಹೆಚ್ಚಿಸಿ.

ಮತ್ತು ನಾವು ಅಭಿವೃದ್ಧಿಯನ್ನು ಪ್ರಾರಂಭಿಸಿದ್ದೇವೆ.

ಹೊಸ ಪ್ಯಾನಲ್ ಆರ್ಕಿಟೆಕ್ಚರ್

ನಾವು ಸ್ವಾವಲಂಬಿ ಅಭಿವೃದ್ಧಿ ತಂಡವನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಆದ್ದರಿಂದ ನಾವು ಫಲಕವನ್ನು ನಾವೇ ಬರೆದಿದ್ದೇವೆ.
ಮುಖ್ಯ ಕೆಲಸವನ್ನು ಮೂವರು ಎಂಜಿನಿಯರ್‌ಗಳು ಮಾಡಿದ್ದಾರೆ - ತಾಂತ್ರಿಕ ನಿರ್ದೇಶಕ ಸೆರ್ಗೆ ವಾಸ್ತುಶಿಲ್ಪದೊಂದಿಗೆ ಬಂದು ಸರ್ವರ್ ಏಜೆಂಟ್ ಅನ್ನು ಬರೆದರು, ಅಲೆಕ್ಸಿ ಬಿಲ್ಲಿಂಗ್ ಮಾಡಿದರು ಮತ್ತು ಮುಂಭಾಗದ ತುದಿಯನ್ನು ನಮ್ಮ ಮುಂಭಾಗದ ಆರ್ಟಿಶ್ ಅವರು ಜೋಡಿಸಿದರು.

ಹಂತ 1: ಸರ್ವರ್ ಏಜೆಂಟ್

ಸರ್ವರ್ ಏಜೆಂಟ್ ಲೈಬ್ರರಿಯನ್ನು ನಿರ್ವಹಿಸುವ ಪೈಥಾನ್ ವೆಬ್ ಸರ್ವರ್ ಆಗಿದೆ libvirt, ಇದು ಪ್ರತಿಯಾಗಿ ಆಡಳಿತ ಮಾಡುತ್ತದೆ Qemu-kvm ಹೈಪರ್ವೈಸರ್.

ಏಜೆಂಟ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಎಲ್ಲಾ ಸೇವೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತಾನೆ: ಲಿಬ್‌ವಿರ್ಟ್ ಲೈಬ್ರರಿಯ ಮೂಲಕ ರಚಿಸುವುದು, ನಿಲ್ಲಿಸುವುದು, ವಿಡಿಎಸ್ ಅಳಿಸುವುದು, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು, ಪ್ಯಾರಾಮೀಟರ್‌ಗಳನ್ನು ಬದಲಾಯಿಸುವುದು ಮತ್ತು ಹೀಗೆ. ಲೇಖನದ ಪ್ರಕಟಣೆಯ ಸಮಯದಲ್ಲಿ, ಇವುಗಳು ನಲವತ್ತಕ್ಕೂ ಹೆಚ್ಚು ವಿಭಿನ್ನ ಕಾರ್ಯಗಳಾಗಿವೆ, ಇವುಗಳನ್ನು ನಾವು ಕಾರ್ಯ ಮತ್ತು ಕ್ಲೈಂಟ್‌ನ ಅಗತ್ಯಗಳನ್ನು ಅವಲಂಬಿಸಿ ಪೂರಕಗೊಳಿಸುತ್ತೇವೆ.

ಸಿದ್ಧಾಂತದಲ್ಲಿ, libvirt ಅನ್ನು ನೇರವಾಗಿ ಬಿಲ್ಲಿಂಗ್‌ನಿಂದ ನಿಯಂತ್ರಿಸಬಹುದು, ಆದರೆ ಇದಕ್ಕೆ ಹೆಚ್ಚಿನ ಹೆಚ್ಚುವರಿ ಕೋಡ್ ಅಗತ್ಯವಿದೆ ಮತ್ತು ಏಜೆಂಟ್ ಮತ್ತು ಬಿಲ್ಲಿಂಗ್ ನಡುವೆ ಈ ಕಾರ್ಯಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಲು ನಾವು ನಿರ್ಧರಿಸಿದ್ದೇವೆ - ಬಿಲ್ಲಿಂಗ್ JSON API ಮೂಲಕ ಏಜೆಂಟ್‌ಗೆ ವಿನಂತಿಗಳನ್ನು ಮಾಡುತ್ತದೆ.

ಏಜೆಂಟ್ ನಾವು ಮಾಡಿದ ಮೊದಲ ಕೆಲಸ, ಇದಕ್ಕೆ ಯಾವುದೇ ಇಂಟರ್ಫೇಸ್ ಅಗತ್ಯವಿಲ್ಲ ಮತ್ತು ಸರ್ವರ್ ಕನ್ಸೋಲ್‌ನಿಂದ ನೇರವಾಗಿ ಅದನ್ನು ಪರೀಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಯಿತು.

ಸರ್ವರ್ ಏಜೆಂಟ್ ನಮಗೆ ಏನು ನೀಡಿದರು: ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಜೀವನವನ್ನು ಸರಳಗೊಳಿಸುವ ಒಂದು ಪದರವು ಕಾಣಿಸಿಕೊಂಡಿದೆ - ಬಿಲ್ಲಿಂಗ್‌ಗೆ ಸಂಪೂರ್ಣ ಕಮಾಂಡ್‌ಗಳನ್ನು ಕಳುಹಿಸುವ ಅಗತ್ಯವಿಲ್ಲ, ಆದರೆ ವಿನಂತಿಯನ್ನು ಮಾತ್ರ ಮಾಡಿ. ಮತ್ತು ಏಜೆಂಟ್ ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಮಾಡುತ್ತಾರೆ: ಉದಾಹರಣೆಗೆ, ಇದು ಡಿಸ್ಕ್ ಸ್ಪೇಸ್ ಮತ್ತು RAM ಅನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ.

ಹಂತ 2. ಬಿಲ್ಲಿಂಗ್

ನಮ್ಮ ಡೆವಲಪರ್ ಅಲೆಕ್ಸ್‌ಗೆ, ಇದು ಮೊದಲ ನಿಯಂತ್ರಣ ಫಲಕವಲ್ಲ - ಅಲೆಕ್ಸ್ ದೀರ್ಘಕಾಲ ಹೋಸ್ಟಿಂಗ್‌ನಲ್ಲಿದ್ದಾರೆ, ಆದ್ದರಿಂದ ಕ್ಲೈಂಟ್‌ಗೆ ಏನು ಬೇಕು ಮತ್ತು ಹೋಸ್ಟರ್‌ಗೆ ಏನು ಬೇಕು ಎಂದು ಅವರು ಸಾಮಾನ್ಯವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಂಡರು.

ನಾವು ನಮ್ಮಲ್ಲಿ ಬಿಲ್ಲಿಂಗ್ ಅನ್ನು "ನಿಯಂತ್ರಣ ಫಲಕ" ಎಂದು ಕರೆಯುತ್ತೇವೆ: ಇದು ಹಣ ಮತ್ತು ಸೇವೆಗಳನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಅವುಗಳ ನಿರ್ವಹಣೆ, ಗ್ರಾಹಕ ಬೆಂಬಲ ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

ISPSystem ಸಾಫ್ಟ್‌ವೇರ್‌ನಿಂದ ಬದಲಾಯಿಸಲು, ಗ್ರಾಹಕರಿಗೆ ಹಿಂದಿನ ಕಾರ್ಯವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಸಂರಕ್ಷಿಸುವುದು, ಹಳೆಯ ಬಿಲ್ಲಿಂಗ್‌ನಿಂದ ಹೊಸದಕ್ಕೆ ಬಳಕೆದಾರರ ಎಲ್ಲಾ ಹಣಕಾಸಿನ ಕ್ರಮಗಳನ್ನು ವರ್ಗಾಯಿಸುವುದು ಅಗತ್ಯವಾಗಿತ್ತು, ಜೊತೆಗೆ ಅವುಗಳ ನಡುವಿನ ಎಲ್ಲಾ ಸೇವೆಗಳು ಮತ್ತು ಸಂಪರ್ಕಗಳು. ಪ್ರಸ್ತುತ ಉತ್ಪನ್ನದಲ್ಲಿ ಏನಿದೆ ಎಂಬುದನ್ನು ನಾವು ಅಧ್ಯಯನ ಮಾಡಿದ್ದೇವೆ, ನಂತರ ಸ್ಪರ್ಧಿಗಳ ಪರಿಹಾರಗಳು, ಮುಖ್ಯವಾಗಿ DO ಮತ್ತು Vultr. ನಾವು ಅನಾನುಕೂಲಗಳು ಮತ್ತು ಅನುಕೂಲಗಳನ್ನು ನೋಡಿದ್ದೇವೆ, ISPsystem ನಿಂದ ಹಳೆಯ ಉತ್ಪನ್ನಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿದ ಜನರಿಂದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸಂಗ್ರಹಿಸಿದ್ದೇವೆ.

ಹೊಸ ಬಿಲ್ಲಿಂಗ್ ಎರಡು ಸ್ಟ್ಯಾಕ್‌ಗಳನ್ನು ಬಳಸಿದೆ: ಕ್ಲಾಸಿಕ್ PHP, MySQL (ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಇದು PostgreSQL ಗೆ ಬದಲಾಯಿಸಲು ಯೋಜಿಸಲಾಗಿದೆ), Yii2 ಬ್ಯಾಕೆಂಡ್‌ನಲ್ಲಿ ಫ್ರೇಮ್‌ವರ್ಕ್‌ನಂತೆ ಮತ್ತು ಮುಂಭಾಗದಲ್ಲಿ VueJS. ಸ್ಟ್ಯಾಕ್‌ಗಳು ಪರಸ್ಪರ ಸ್ವತಂತ್ರವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ವಿಭಿನ್ನ ಜನರಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ ಮತ್ತು JSON API ಬಳಸಿಕೊಂಡು ಸಂವಹನ ನಡೆಸುತ್ತವೆ. ಅಭಿವೃದ್ಧಿಗಾಗಿ ನಾವು ಆಗ ಮತ್ತು ಈಗ ಬಳಸುತ್ತೇವೆ PHPS ಚಂಡಮಾರುತ и ವೆಬ್‌ಸ್ಟಾರ್ಮ್ JetBrains ನಿಂದ ಮತ್ತು ಅವರನ್ನು ಪ್ರೀತಿಯಿಂದ ಪ್ರೀತಿಸಿ (ಹೇ ಹುಡುಗರೇ!)

ಫಲಕವನ್ನು ಮಾಡ್ಯುಲರ್ ಆಧಾರದ ಮೇಲೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ: ಪಾವತಿ ಸಿಸ್ಟಮ್ ಮಾಡ್ಯೂಲ್ಗಳು, ಡೊಮೇನ್ ರಿಜಿಸ್ಟ್ರಾರ್ ಮಾಡ್ಯೂಲ್ ಅಥವಾ, ಉದಾಹರಣೆಗೆ, ಒಂದು SSL ಪ್ರಮಾಣಪತ್ರ ಮಾಡ್ಯೂಲ್. ನೀವು ಸುಲಭವಾಗಿ ಹೊಸ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸೇರಿಸಬಹುದು ಅಥವಾ ಹಳೆಯದನ್ನು ತೆಗೆದುಹಾಕಬಹುದು. "ಹಾರ್ಡ್‌ವೇರ್ ಕಡೆಗೆ" ವಿರುದ್ಧ ದಿಕ್ಕಿನಲ್ಲಿ ಸೇರಿದಂತೆ, ವಿಸ್ತರಣೆಗೆ ಅಡಿಪಾಯವನ್ನು ವಾಸ್ತುಶಿಲ್ಪೀಯವಾಗಿ ಹಾಕಲಾಗಿದೆ.
ISP ವ್ಯವಸ್ಥೆ, ಕ್ಷಮಿಸಿ ಮತ್ತು ವಿದಾಯ! ನಾವು ನಮ್ಮ ಸರ್ವರ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಏಕೆ ಮತ್ತು ಹೇಗೆ ಬರೆದಿದ್ದೇವೆ
ನಮಗೆ ಸಿಕ್ಕಿದ್ದು: ನಾವು ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣ ಹೊಂದಿರುವ ನಿಯಂತ್ರಣ ಫಲಕ. ಈಗ ದೋಷಗಳನ್ನು ಗಂಟೆಗಳಲ್ಲಿ ಪರಿಹರಿಸಲಾಗಿದೆ, ವಾರಗಳಲ್ಲಿ ಅಲ್ಲ, ಮತ್ತು ಹೊಸ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗ್ರಾಹಕರ ಕೋರಿಕೆಯ ಮೇರೆಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ISPSystem ನ ಕೋರಿಕೆಯ ಮೇರೆಗೆ ಅಲ್ಲ.

ಹಂತ 3 ಇಂಟರ್ಫೇಸ್

ISP ವ್ಯವಸ್ಥೆ, ಕ್ಷಮಿಸಿ ಮತ್ತು ವಿದಾಯ! ನಾವು ನಮ್ಮ ಸರ್ವರ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಏಕೆ ಮತ್ತು ಹೇಗೆ ಬರೆದಿದ್ದೇವೆ
ಇಂಟರ್ಫೇಸ್ ನಮ್ಮ ತಂಡದ ಮೆದುಳಿನ ಕೂಸು.

ಮೊದಲಿಗೆ, ಇಂಟರ್ಫೇಸ್‌ನಲ್ಲಿ ಮೂಲಭೂತವಾಗಿ ಏನನ್ನೂ ಬದಲಾಯಿಸದೆಯೇ ನಾವು ISPsystem API ಮೂಲಕ ಆಡ್-ಆನ್ ಮಾಡಿದರೆ ಏನಾಗುತ್ತದೆ ಎಂದು ನಾವು ನೋಡಿದ್ದೇವೆ. ಅದು ಹಾಗೆ ಹೊರಹೊಮ್ಮಿತು ಮತ್ತು ನಾವು ಮೊದಲಿನಿಂದ ಎಲ್ಲವನ್ನೂ ಮಾಡಲು ನಿರ್ಧರಿಸಿದ್ದೇವೆ.

ಕ್ಲೀನ್ ಮತ್ತು ಕನಿಷ್ಠ ವಿನ್ಯಾಸದೊಂದಿಗೆ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ತಾರ್ಕಿಕವಾಗಿ ಮಾಡುವುದು ಮುಖ್ಯ ವಿಷಯ ಎಂದು ನಾವು ನಂಬಿದ್ದೇವೆ ಮತ್ತು ನಂತರ ನಾವು ಸುಂದರವಾದ ಫಲಕವನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಅಂಶಗಳ ಸ್ಥಳವನ್ನು ಮೆಗಾಪ್ಲಾನ್‌ನಲ್ಲಿ ಚರ್ಚಿಸಲಾಗಿದೆ ಮತ್ತು ಈಗ ನಿಯಂತ್ರಣ ಫಲಕದಲ್ಲಿ ಬಳಕೆದಾರರು ನೋಡುವ ಇಂಟರ್ಫೇಸ್ ಕ್ರಮೇಣ ಜನಿಸುತ್ತದೆ.

ಬಿಲ್ಲಿಂಗ್ ಪುಟದ ವಿನ್ಯಾಸವು ಮೊದಲು ಕಾಣಿಸಿಕೊಂಡಿದೆ, ಏಕೆಂದರೆ ನಾವು ಈಗಾಗಲೇ ISPsystem ಗಾಗಿ ಪಾವತಿ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಮಾಡಿದ್ದೇವೆ.

ಮುಂಭಾಗ

ಅವರು ಪ್ಯಾನೆಲ್ ಅನ್ನು SPA ಅಪ್ಲಿಕೇಶನ್ ಮಾಡಲು ನಿರ್ಧರಿಸಿದರು - ಸಂಪನ್ಮೂಲಗಳಿಗೆ ಬೇಡಿಕೆಯಿಲ್ಲದ ಮತ್ತು ವೇಗದ ಡೇಟಾ ಲೋಡ್‌ನೊಂದಿಗೆ. ನಮ್ಮ ಮುಂಚೂಣಿಯಲ್ಲಿರುವ ಆರ್ಟಿಶ್ ಅದನ್ನು Vue ನಲ್ಲಿ ಬರೆಯಲು ನಿರ್ಧರಿಸಿದರು - ಆ ಸಮಯದಲ್ಲಿ Vue ಕಾಣಿಸಿಕೊಂಡಿತ್ತು. ಫ್ರೇಮ್‌ವರ್ಕ್ ರಿಯಾಕ್ಟ್‌ನಂತೆ ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಅಭಿವೃದ್ಧಿ ಹೊಂದುತ್ತದೆ ಎಂದು ನಾವು ಭಾವಿಸಿದ್ದೇವೆ, ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ವ್ಯೂ ಸಮುದಾಯವು ಬೆಳೆಯುತ್ತದೆ ಮತ್ತು ಗ್ರಂಥಾಲಯಗಳ ಸಮುದ್ರವು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ನಾವು Vue ನಲ್ಲಿ ಪಣತೊಟ್ಟಿದ್ದೇವೆ ಮತ್ತು ವಿಷಾದಿಸಲಿಲ್ಲ - ಈಗ ಬ್ಯಾಕೆಂಡ್‌ನಲ್ಲಿ ಈಗಾಗಲೇ ಪ್ರೋಗ್ರಾಮ್ ಮಾಡಲಾದ ಮುಂಭಾಗಕ್ಕೆ ಹೊಸ ಕಾರ್ಯಗಳನ್ನು ಸೇರಿಸಲು ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಪ್ರತ್ಯೇಕ ಲೇಖನದಲ್ಲಿ ಮುಂಭಾಗದ ಫಲಕದ ಬಗ್ಗೆ ನಾವು ನಿಮಗೆ ಹೆಚ್ಚು ಹೇಳುತ್ತೇವೆ.

ಮುಂಭಾಗವನ್ನು ಬ್ಯಾಕೆಂಡ್‌ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ

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

ಏನಾಯಿತು: ಪ್ಯಾನಲ್ ಇಂಟರ್ಫೇಸ್ ಸರಳವಾಗಿದೆ. ನಾವು ಅದನ್ನು ಹೊಂದಿಕೊಳ್ಳುವಂತೆ ಮಾಡಿದ್ದೇವೆ ಮತ್ತು ಪ್ಯಾನಲ್‌ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಪ್ರತ್ಯೇಕ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಸ್ಥಾಪಿಸದೆಯೇ, ಟೇಕ್‌ಆಫ್‌ಗೆ ಮೊದಲು ಕೊನೆಯ ನಿಮಿಷಗಳಲ್ಲಿ ಮೊಬೈಲ್ ಫೋನ್‌ಗಳಿಂದಲೂ ಅದನ್ನು ಬಳಸಲು ವೇಗದ ಲೋಡಿಂಗ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಹಂತ 4. ಪರೀಕ್ಷೆ ಮತ್ತು ವಲಸೆ ಯೋಜನೆ

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

ನಂತರ ನಾವು ಹಳೆಯ ಬಿಲ್ಲಿಂಗ್‌ನಿಂದ ಹೊಸದಕ್ಕೆ ಡೇಟಾಬೇಸ್ ಅನ್ನು ವರ್ಗಾಯಿಸುವ ಸರಳ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆದಿದ್ದೇವೆ.

ಬಿಲ್‌ಮ್ಯಾನೇಜರ್, ವಿಎಂಮ್ಯಾನೇಜರ್ ಮತ್ತು ಮ್ಯಾನೇಜರ್‌ನ ಐಪಿಮ್ಯಾನೇಜರ್ ಎಂಬ ಮೂರು ಹಳೆಯದರಿಂದ ಡೇಟಾವನ್ನು ಒಂದು ಹೊಸ ಡೇಟಾಬೇಸ್‌ಗೆ ವಿಲೀನಗೊಳಿಸಿರುವುದರಿಂದ ನಾನು ಅಕ್ಷರಶಃ ಎಲ್ಲವನ್ನೂ ಪರೀಕ್ಷಿಸಲು ಮತ್ತು ಮರುಪರಿಶೀಲಿಸಬೇಕಾಗಿತ್ತು. ಬಹುಶಃ ಪರೀಕ್ಷಾ ವಲಸೆಗಳು ಹೊಸ ಫಲಕವನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುವ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ನಾವು ಎದುರಿಸಿದ ಅತ್ಯಂತ ಕಷ್ಟಕರವಾದ ವಿಷಯವಾಗಿದೆ.

ಮರುಪರಿಶೀಲಿಸಿದ ನಂತರ, ನಾವು ಹಳೆಯ ಬಿಲ್ಲಿಂಗ್ ಅನ್ನು ಮುಚ್ಚಿದ್ದೇವೆ. ಅಂತಿಮ ಡೇಟಾ ವಲಸೆಯು ತುಂಬಾ ತೊಂದರೆದಾಯಕ ಕ್ಷಣವಾಗಿತ್ತು, ಆದರೆ, ದೇವರಿಗೆ ಧನ್ಯವಾದಗಳು, ಇದು ಕೆಲವು ನಿಮಿಷಗಳಲ್ಲಿ ಮತ್ತು ಗಮನಾರ್ಹ ಸಮಸ್ಯೆಗಳಿಲ್ಲದೆ ಪೂರ್ಣಗೊಂಡಿತು. ವಾರದಲ್ಲಿ ನಾವು ಸರಿಪಡಿಸಿದ ಸಣ್ಣ ದೋಷಗಳಿವೆ. ಹೆಚ್ಚಿನ ಸಮಯವನ್ನು ಏನಾಯಿತು ಎಂಬುದನ್ನು ಪರೀಕ್ಷಿಸಲು ಕಳೆದರು.

ನಂತರ ನಾವು ಹೊಸ ಫಲಕ ಮತ್ತು ಬಿಲ್ಲಿಂಗ್‌ನ ವಿಳಾಸದೊಂದಿಗೆ ಗ್ರಾಹಕರಿಗೆ ಪತ್ರಗಳನ್ನು ಕಳುಹಿಸಿದ್ದೇವೆ ಮತ್ತು ಮರುನಿರ್ದೇಶನವನ್ನು ಮಾಡಿದ್ದೇವೆ.

ಸಾರಾಂಶದಲ್ಲಿ: ಅದು ಜೀವಂತವಾಗಿದೆ!

ಸುಖಾಂತ್ಯ

ನಮ್ಮ ಸಾಫ್ಟ್‌ವೇರ್‌ನ ಕೆಲಸದ ಮೊದಲ ಗಂಟೆಗಳಿಂದ, ಪರಿವರ್ತನೆಯ ಎಲ್ಲಾ ಸಂತೋಷಗಳನ್ನು ನಾವು ಅನುಭವಿಸಿದ್ದೇವೆ. ಕೋಡ್ ಸಂಪೂರ್ಣವಾಗಿ ನಮ್ಮದು ಮತ್ತು ಅನುಕೂಲಕರ ವಾಸ್ತುಶಿಲ್ಪದೊಂದಿಗೆ, ಮತ್ತು ಇಂಟರ್ಫೇಸ್ ಶುದ್ಧ ಮತ್ತು ತಾರ್ಕಿಕವಾಗಿತ್ತು.
ISP ವ್ಯವಸ್ಥೆ, ಕ್ಷಮಿಸಿ ಮತ್ತು ವಿದಾಯ! ನಾವು ನಮ್ಮ ಸರ್ವರ್ ನಿಯಂತ್ರಣ ಫಲಕವನ್ನು ಏಕೆ ಮತ್ತು ಹೇಗೆ ಬರೆದಿದ್ದೇವೆ
ಹೊಸ ಫಲಕವನ್ನು ಪ್ರಾರಂಭಿಸಿದ ನಂತರ ಮೊದಲ ವಿಮರ್ಶೆ

ಗ್ರಾಹಕರಿಗೆ ಪರಿವರ್ತನೆಯನ್ನು ಸುಲಭಗೊಳಿಸಲು 2017 ರ ಹೊಸ ವರ್ಷದ ಮುನ್ನಾದಿನದಂದು ನಾವು ಡಿಸೆಂಬರ್‌ನಲ್ಲಿ ಪರಿವರ್ತನೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿದ್ದೇವೆ, ಲೋಡ್ ಕಡಿಮೆಯಾದಾಗ - ರಜಾದಿನಗಳ ಮುನ್ನಾದಿನದಂದು ಬಹುತೇಕ ಯಾರೂ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ.

ನಮ್ಮ ಸಿಸ್ಟಮ್‌ಗೆ ಬದಲಾಯಿಸುವಾಗ (ಸಾಮಾನ್ಯ ವಿಶ್ವಾಸಾರ್ಹತೆ ಮತ್ತು ಅನುಕೂಲತೆಯ ಹೊರತಾಗಿ) ನಾವು ಪಡೆದ ಮುಖ್ಯ ವಿಷಯವೆಂದರೆ ಪ್ರಮುಖ ಗ್ರಾಹಕರಿಗೆ ತ್ವರಿತವಾಗಿ ಕ್ರಿಯಾತ್ಮಕತೆಯನ್ನು ಸೇರಿಸುವ ಸಾಮರ್ಥ್ಯ - ಅವರ ಮುಖವಾಗಿರಲು, ಅವರ ಕತ್ತೆ ಅಲ್ಲ.

ಮುಂದಿನ ಏನು?

ನಾವು ಬೆಳೆಯುತ್ತಿದ್ದೇವೆ, ಡೇಟಾ ಪ್ರಮಾಣ, ಗ್ರಾಹಕರು, ಗ್ರಾಹಕರ ಡೇಟಾ ಬೆಳೆಯುತ್ತಿದೆ. ನಾನು ಬ್ಯಾಕೆಂಡ್‌ಗೆ ವಿಭಿನ್ನ ಕಾರ್ಯಗಳನ್ನು ಹೊಂದಿರುವ ಮೆಮ್‌ಕ್ಯಾಶ್ಡ್ ಸರ್ವರ್ ಮತ್ತು ಇಬ್ಬರು ಕ್ಯೂ ಮ್ಯಾನೇಜರ್‌ಗಳನ್ನು ಸೇರಿಸಬೇಕಾಗಿತ್ತು. ಮುಂಭಾಗವು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವಿಕೆ ಮತ್ತು ತನ್ನದೇ ಆದ ಸಾಲುಗಳನ್ನು ಹೊಂದಿದೆ.

ಸಹಜವಾಗಿ, ಉತ್ಪನ್ನವು ಅಭಿವೃದ್ಧಿಗೊಂಡಂತೆ ಮತ್ತು ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾದಂತೆ ನಾವು ಇನ್ನೂ ಸಾಹಸಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಉದಾಹರಣೆಗೆ ನಾವು ಹೈಲೋಡ್ ಅನ್ನು ಸೇರಿಸಿದಾಗ.

ಮುಂದಿನ ಲೇಖನದಲ್ಲಿ, ಹೈ-ಸಿಪಿಯು ಸುಂಕವನ್ನು ಹೇಗೆ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ನಿಮಗೆ ಹೇಳುತ್ತೇವೆ: ಹಾರ್ಡ್‌ವೇರ್, ಸಾಫ್ಟ್‌ವೇರ್, ನಾವು ಯಾವ ಕಾರ್ಯಗಳನ್ನು ಪರಿಹರಿಸಿದ್ದೇವೆ ಮತ್ತು ನಾವು ಏನು ಮಾಡಿದ್ದೇವೆ ಎಂಬುದರ ಕುರಿತು.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ