Buck2, ಹೊಸ ಫೇಸ್‌ಬುಕ್ ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆ

ಬಕ್2-ಹೀರೋ

Buck2, Facebook ನ ಹೊಸ ತೆರೆದ ಮೂಲ ನಿರ್ಮಾಣ ವ್ಯವಸ್ಥೆ

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

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

ಬಿಲ್ಡ್ ಸಿಸ್ಟಂಗಳು ಡೆವಲಪರ್ ಮತ್ತು ಅವರ ಕೋಡ್ ಚಾಲನೆಯಲ್ಲಿರುವ ನಡುವೆ ನಿಲ್ಲುತ್ತವೆ, ಆದ್ದರಿಂದ ಅನುಭವವನ್ನು ವೇಗವಾಗಿ ಅಥವಾ ಹೆಚ್ಚು ಉತ್ಪಾದಕವಾಗಿಸಲು ನಾವು ಏನು ಮಾಡಬಹುದೋ ಅದು ಡೆವಲಪರ್ ಎಷ್ಟು ಪರಿಣಾಮಕಾರಿಯಾಗಿರುತ್ತದೆ ಎಂಬುದರ ಮೇಲೆ ನೇರವಾಗಿ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ. Buck2 ನ ಗುರಿಯು Buck1 (ಮೂಲಗಳು ಮತ್ತು ಕೆಲಸದ ಹರಿವುಗಳು) ಬಗ್ಗೆ ನಾವು ಇಷ್ಟಪಡುವದನ್ನು ಇಟ್ಟುಕೊಳ್ಳುವುದು, Buck1 ನಂತರದ ಆವಿಷ್ಕಾರಗಳಿಂದ (Bazel, Adapton, ಮತ್ತು ಶೇಕ್ ಸೇರಿದಂತೆ) ಸ್ಫೂರ್ತಿ ಪಡೆಯುವುದು ಮತ್ತು ವೇಗದ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುವುದು ಮತ್ತು ಹೊಸ ಅನುಭವಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದು.

ಬಕ್2 ಬಗ್ಗೆ

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

ಪೈಥಾನ್ (ಬಾಜೆಲ್‌ನಲ್ಲಿರುವಂತೆ) ಆಧಾರಿತ ಸ್ಟಾರ್‌ಲಾರ್ಕ್ ಭಾಷೆಯನ್ನು ಪ್ಲಗಿನ್‌ಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲು, ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ನಿಯಮಗಳನ್ನು ರಚಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ. ಸ್ಟಾರ್ಲಾರ್ಕ್ ನಿಮಗೆ ಬಿಲ್ಡ್ ಸಿಸ್ಟಮ್ನ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ವಿಸ್ತರಿಸಲು ಮತ್ತು ನಿರ್ಮಿಸಲಾಗುತ್ತಿರುವ ಯೋಜನೆಗಳಲ್ಲಿ ಬಳಸಲಾಗುವ ನಿರ್ದಿಷ್ಟ ಭಾಷೆಗಳಿಂದ ಅಮೂರ್ತತೆಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ.

ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಫಲಿತಾಂಶಗಳನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಮೂಲಕ ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ, ಕೆಲಸದ ಸಮಾನಾಂತರೀಕರಣ ಮತ್ತು ಕಾರ್ಯಗಳ ರಿಮೋಟ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗೆ ಬೆಂಬಲ (ರಿಮೋಟ್ ಬಿಲ್ಡ್ ಎಕ್ಸಿಕ್ಯೂಷನ್).

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

ಭಾಗದಲ್ಲಿ Buck2 ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು, ಕೆಳಗಿನವುಗಳು ಎದ್ದು ಕಾಣುತ್ತವೆ:

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

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


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: ಮಿಗುಯೆಲ್ ಏಂಜೆಲ್ ಗಟಾನ್
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.