Xuất bản vào

MonoRepo - bạn có tin được không?

Tác giả

"Bạn có tin rằng Google, Meta, Uber và Airbnb để gần như toàn bộ mã nguồn của họ trong một kho lưu trữ duy nhất?

Thực hành này được gọi là monorepo.

Monorepo vs. Microrepo. Cái nào tốt nhất? Tại sao các công ty khác nhau chọn các tùy chọn khác nhau?

Monorepo không mới; Linux và Windows đều được tạo ra bằng Monorepo. Để cải thiện khả năng mở rộng và tốc độ xây dựng, Google đã phát triển công cụ riêng của mình để mở rộng nhanh hơn và tiêu chuẩn chất lượng mã nghiêm ngặt để duy trì tính nhất quán.

Amazon và Netflix là những đại sứ chính của triết lý Microservice. Cách tiếp cận này tự nhiên tách mã dịch vụ thành các kho riêng biệt. Nó mở rộng nhanh hơn nhưng có thể dẫn đến các điểm khó khăn về quản trị sau này.

Trong Monorepo, mỗi dịch vụ là một thư mục và mỗi thư mục có một cấu hình BUILD và quyền kiểm soát OWNERS. Mỗi thành viên dịch vụ chịu trách nhiệm cho thư mục của mình.

Ngược lại, trong Microrepo, mỗi dịch vụ chịu trách nhiệm cho kho của nó, với cấu hình xây dựng và quyền thường được đặt cho toàn bộ kho.

Trong Monorepo, các phụ thuộc được chia sẻ trên toàn bộ mã nguồn bất kể doanh nghiệp của bạn, vì vậy khi có nâng cấp phiên bản, mọi mã nguồn đều nâng cấp phiên bản của họ.

Trong Microrepo, các phụ thuộc được kiểm soát trong mỗi kho. Các doanh nghiệp chọn thời điểm nâng cấp phiên bản dựa trên lịch trình riêng của họ.

Monorepo có tiêu chuẩn cho việc kiểm tra. Quy trình đánh giá mã của Google nổi tiếng với việc đặt ra tiêu chuẩn cao, đảm bảo tiêu chuẩn chất lượng nhất quán cho Monorepo, bất kể doanh nghiệp.

Microrepo có thể đặt tiêu chuẩn riêng hoặc áp dụng tiêu chuẩn chung bằng cách tích hợp các thực tiễn tốt nhất. Nó có thể mở rộng nhanh hơn cho doanh nghiệp, nhưng chất lượng mã có thể khác nhau.

Kỹ sư của Google đã xây dựng Bazel và Meta đã xây dựng Buck. Có các công cụ mã nguồn mở khác bao gồm Nix, Lerna và các công cụ khác.

Qua nhiều năm, Microrepo có nhiều công cụ hỗ trợ hơn, bao gồm Maven và Gradle cho Java, NPM cho NodeJS và CMake cho C/C++, trong số những công cụ khác."

Image

TÁC GIẢ

Về ABN Asia: AiUTOMATING PEOPLE, ABN Asia được thành lập từ năm 2012, là một công ty xuất phát từ học thuật, do những giảng viên, cựu du học sinh Hungary, Hà Lan, Nga, Đức, và Nhật Bản sáng lập. Chúng tôi chia sẻ đam mê chung và tầm nhìn vững chắc về công nghệ, mang đến sự đổi mới và chất lượng đỉnh cao cho khách hàng. Phương châm của chúng tôi là: Tốt hơn. Nhanh hơn. An toàn hơn. Trong nhiều trường hợp: Rẻ hơn.

Hãy liên hệ với chúng tôi khi Quý doanh nghiệp có các nhu cầu về dịch vụ công nghệ thông tin, tư vấn chuyển đổi số, tìm kiếm các giải pháp phần mềm phù hợp, hoặc nếu Quý doanh nghiệp có đấu thầu CNTT (RFP) để chúng tôi tham dự. Quý doanh nghiệp có thể liên hệ với chúng tôi qua địa chỉ email [email protected]. Chúng tôi sẵn lòng hỗ trợ với mọi nhu cầu công nghệ của Quý doanh nghiệp.

ABNAsia.org

© ABN ASIA

AbnAsia.org Software