ಫೇಸ್ಬುಕ್ Buck2 ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಯನ್ನು ಪ್ರಕಟಿಸಿತು

ಫೇಸ್‌ಬುಕ್ ಬಕ್2 ಎಂಬ ಹೊಸ ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಯನ್ನು ಪರಿಚಯಿಸಿದೆ, ಇದು ವಿಭಿನ್ನ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಒಳಗೊಂಡಿರುವ ದೊಡ್ಡ ರೆಪೊಸಿಟರಿಗಳಿಂದ ಯೋಜನೆಗಳ ನಿರ್ಮಾಣವನ್ನು ಸಂಘಟಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಹೊಸ ಅನುಷ್ಠಾನ ಮತ್ತು ಫೇಸ್‌ಬುಕ್‌ನಲ್ಲಿ ಹಿಂದೆ ಬಳಸಲಾಗಿದ್ದ ಬಕ್ ವ್ಯವಸ್ಥೆಯ ನಡುವಿನ ಪ್ರಮುಖ ವ್ಯತ್ಯಾಸವೆಂದರೆ ಜಾವಾ ಬದಲಿಗೆ ರಸ್ಟ್ ಭಾಷೆಯ ಬಳಕೆ ಮತ್ತು ನಿರ್ಮಾಣ ಪ್ರಕ್ರಿಯೆಯ ದಕ್ಷತೆ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯಲ್ಲಿ ಗಮನಾರ್ಹ ಹೆಚ್ಚಳ (ಒಂದೇ ಮೂಲಸೌಕರ್ಯದ ಆಂತರಿಕ ಪರೀಕ್ಷೆಗಳಲ್ಲಿ, ಬಕ್2 ಬಕ್‌ಗಿಂತ ಎರಡು ಪಟ್ಟು ವೇಗವಾಗಿ ನಿರ್ಮಾಣ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ). ಕೋಡ್ ಅನ್ನು ಅಪಾಚೆ 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಈ ವ್ಯವಸ್ಥೆಯು ನಿರ್ದಿಷ್ಟ ಭಾಷೆಗಳಲ್ಲಿ ಕೋಡ್ ಜೋಡಣೆಗೆ ಸಂಬಂಧಿಸಿಲ್ಲ ಮತ್ತು ಫೇಸ್‌ಬುಕ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುವ C++, ಪೈಥಾನ್, ರಸ್ಟ್, ಕೋಟ್ಲಿನ್, ಎರ್ಲಾಂಗ್, ಸ್ವಿಫ್ಟ್, ಆಬ್ಜೆಕ್ಟಿವ್-ಸಿ, ಹ್ಯಾಸ್ಕೆಲ್ ಮತ್ತು OCaml ನಲ್ಲಿ ಬರೆಯಲಾದ ಯೋಜನೆಗಳ ಜೋಡಣೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. ಪೈಥಾನ್ (ಬಾಜೆಲ್ ನಂತಹ) ಆಧಾರಿತ ಸ್ಟಾರ್‌ಲಾರ್ಕ್ ಭಾಷೆಯನ್ನು ಆಡ್-ಆನ್‌ಗಳು, ಅಸೆಂಬ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ನಿಯಮಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಅಸೆಂಬ್ಲಿ ವ್ಯವಸ್ಥೆಯ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸಲು ಮತ್ತು ಜೋಡಿಸಲಾದ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ ನಿರ್ದಿಷ್ಟ ಭಾಷೆಗಳಿಂದ ಅಮೂರ್ತಗೊಳಿಸಲು ಸ್ಟಾರ್‌ಲಾರ್ಕ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

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

ಬಕ್ 2 ನ ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು:

  • ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷಾ ಬೆಂಬಲ ನಿಯಮಗಳು ಮತ್ತು ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಯ ತಿರುಳು ಸಂಪೂರ್ಣವಾಗಿ ಬೇರ್ಪಟ್ಟಿವೆ. ನಿಯಮಗಳಿಗಾಗಿ ಸ್ಟಾರ್‌ಲಾರ್ಕ್ ಭಾಷೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸ್ಟಾರ್‌ಲಾರ್ಕ್ ಪರಿಕರಗಳು ಮತ್ತು ಅನುಷ್ಠಾನವನ್ನು ರಸ್ಟ್‌ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ.
  • ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆಯು ಒಂದೇ ಏರಿಕೆಯ ಅವಲಂಬನೆ ಗ್ರಾಫ್ ಅನ್ನು ಬಳಸುತ್ತದೆ (ಹಂತಗಳಾಗಿ ವಿಂಗಡಿಸದೆ), ಇದು ಬಕ್ ಮತ್ತು ಬಜೆಲ್‌ಗೆ ಹೋಲಿಸಿದರೆ ಕೆಲಸದ ಸಮಾನಾಂತರೀಕರಣವನ್ನು ಹೆಚ್ಚಿಸಲು ಮತ್ತು ಅನೇಕ ರೀತಿಯ ದೋಷಗಳನ್ನು ತಪ್ಪಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ.
  • GitHub ನಲ್ಲಿ ಪ್ರಕಟವಾದ Buck2 ಕೋಡ್ ಮತ್ತು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷಾ ಬೆಂಬಲ ನಿಯಮಗಳು Facebook ನ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ಬಳಸುವ ಆಂತರಿಕ ಆವೃತ್ತಿಗೆ ಬಹುತೇಕ ಹೋಲುತ್ತವೆ (ವ್ಯತ್ಯಾಸಗಳು Facebook ಬಳಸುವ ಕಂಪೈಲರ್ ಆವೃತ್ತಿಗಳು ಮತ್ತು ಬಿಲ್ಡ್ ಸರ್ವರ್‌ಗಳಿಗೆ ಬೈಂಡಿಂಗ್‌ನಲ್ಲಿ ಮಾತ್ರ).
  • ರಿಮೋಟ್ ಟಾಸ್ಕ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಿಸ್ಟಮ್‌ಗಳೊಂದಿಗೆ ಏಕೀಕರಣದ ಮೇಲೆ ಗಮನ ಹರಿಸಿ ಅಸೆಂಬ್ಲಿ ಸಿಸ್ಟಮ್ ಅನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ಇದು ರಿಮೋಟ್‌ನಲ್ಲಿ ಕೆಲಸವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಸರ್ವರ್‌ಗಳುರಿಮೋಟ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ API Bazel ನೊಂದಿಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು Buildbarn ಮತ್ತು EngFlow ನೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ.
  • ವರ್ಚುವಲ್ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳೊಂದಿಗೆ ಏಕೀಕರಣವನ್ನು ಒದಗಿಸಲಾಗಿದೆ, ಇದು ಸಂಪೂರ್ಣ ರೆಪೊಸಿಟರಿಯ ವಿಷಯಗಳನ್ನು ಪ್ರಸ್ತುತಪಡಿಸುತ್ತದೆ, ಆದರೆ ವಾಸ್ತವವಾಗಿ ಕೆಲಸವನ್ನು ರೆಪೊಸಿಟರಿಯ ಭಾಗದ ಪ್ರಸ್ತುತ ಸ್ಥಳೀಯ ಸ್ಲೈಸ್‌ನೊಂದಿಗೆ ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ (ಡೆವಲಪರ್ ಸಂಪೂರ್ಣ ರೆಪೊಸಿಟರಿಯನ್ನು ನೋಡುತ್ತಾರೆ, ಆದರೆ ವಿನಂತಿಸಿದ ಫೈಲ್‌ಗಳನ್ನು ಮಾತ್ರ ರೆಪೊಸಿಟರಿಯಿಂದ ಹೊರತೆಗೆಯಲಾಗುತ್ತದೆ, ಇವುಗಳನ್ನು ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ). ಸ್ಯಾಪ್ಲಿಂಗ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುವ EdenFS ಮತ್ತು Git LFS ಆಧಾರಿತ VFS ಅನ್ನು ಬೆಂಬಲಿಸಲಾಗುತ್ತದೆ.

ಮೂಲ: opennet.ru

DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸೈಟ್‌ಗಳಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ 🔥 DDoS ರಕ್ಷಣೆ, VPS VDS ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ವಿಶ್ವಾಸಾರ್ಹ ವೆಬ್‌ಸೈಟ್ ಹೋಸ್ಟಿಂಗ್ ಅನ್ನು ಖರೀದಿಸಿ | ProHoster