Cách doanh nghiệp Docker mở rộng quy mô để phục vụ hàng triệu nhà phát triển, Phần 2: Dữ liệu gửi đi

Cách doanh nghiệp Docker mở rộng quy mô để phục vụ hàng triệu nhà phát triển, Phần 2: Dữ liệu gửi đi

Đây là bài viết thứ hai trong loạt bài viết đề cập đến các hạn chế khi tải xuống hình ảnh vùng chứa.

В phần đầu tiên chúng tôi đã xem xét kỹ hơn các hình ảnh được lưu trữ trong Docker Hub, cơ quan đăng ký hình ảnh bộ chứa lớn nhất. Chúng tôi viết thư này để giúp bạn hiểu rõ hơn về cách Điều khoản dịch vụ được cập nhật của chúng tôi sẽ tác động đến các nhóm phát triển sử dụng Docker Hub để quản lý hình ảnh bộ chứa và quy trình CICD.

Giới hạn tần suất tải xuống đã được công bố trước đây trong Điều khoản dịch vụ. Chúng ta xem xét kỹ hơn các giới hạn tần suất sẽ có hiệu lực vào ngày 1 tháng 2020 năm XNUMX:

Gói miễn phí, người dùng ẩn danh: 100 lượt tải xuống trong 6 giờ
Gói miễn phí, người dùng được ủy quyền: 200 lượt tải xuống trong 6 giờ
Kế hoạch chuyên nghiệp: không giới hạn
Kế hoạch nhóm: không giới hạn

Tần suất tải xuống Docker được định nghĩa là số lượng yêu cầu kê khai tới Docker Hub. Giới hạn tần suất tải xuống hình ảnh phụ thuộc vào loại tài khoản yêu cầu hình ảnh, không phải loại tài khoản chủ sở hữu hình ảnh. Đối với người dùng ẩn danh (trái phép), tần suất tải xuống được gắn với địa chỉ IP.

NB Bạn sẽ nhận được nhiều sự tinh tế hơn và các trường hợp thực hành tốt nhất trong khóa học Docker từ các học viên. Hơn nữa, bạn có thể vượt qua nó khi thuận tiện cho bạn - cả về thời gian và tâm trạng.

Chúng tôi đang nhận được câu hỏi từ khách hàng và cộng đồng về các lớp hình ảnh vùng chứa. Chúng tôi không xem xét các lớp hình ảnh khi giới hạn tần suất tải xuống vì chúng tôi giới hạn các lượt tải xuống tệp kê khai và số lượng lớp (yêu cầu blob) hiện không giới hạn. Thay đổi này dựa trên phản hồi của cộng đồng để làm cho nó trở nên thân thiện hơn với người dùng để người dùng không phải đếm các lớp trên mỗi giao diện họ sử dụng.

Phân tích chi tiết về tần suất tải xuống hình ảnh Docker Hub

Chúng tôi đã dành nhiều thời gian để phân tích việc tải xuống hình ảnh từ Docker Hub để xác định lý do giới hạn tốc độ cũng như chính xác cách giới hạn. Những gì chúng tôi thấy đã xác nhận rằng hầu như tất cả người dùng đang tải xuống hình ảnh với tốc độ có thể dự đoán được đối với các quy trình công việc thông thường. Tuy nhiên, có một ảnh hưởng đáng chú ý của một số ít người dùng ẩn danh, chẳng hạn như khoảng 30% tổng số lượt tải xuống chỉ đến từ 1% người dùng ẩn danh.

Cách doanh nghiệp Docker mở rộng quy mô để phục vụ hàng triệu nhà phát triển, Phần 2: Dữ liệu gửi đi

Các giới hạn mới dựa trên phân tích này, vì vậy hầu hết người dùng của chúng tôi sẽ không bị ảnh hưởng. Các giới hạn này được tạo ra để phản ánh việc sử dụng bình thường của các nhà phát triển - học Docker, phát triển mã, xây dựng hình ảnh, v.v.

Giúp nhà phát triển hiểu rõ hơn về giới hạn tần suất tải xuống

Bây giờ chúng tôi đã hiểu tác động và cũng như ranh giới nên ở đâu, chúng tôi phải xác định các điều kiện kỹ thuật cho hoạt động của những hạn chế này. Việc hạn chế tải xuống hình ảnh từ sổ đăng ký Docker là khá khó khăn. Bạn sẽ không tìm thấy API để tải xuống trong phần mô tả sổ đăng ký - đơn giản là nó không tồn tại. Trên thực tế, việc tải xuống một hình ảnh là sự kết hợp của các yêu cầu tệp kê khai và các đốm màu trong API và chúng được thực thi khác nhau, tùy thuộc vào trạng thái của khách hàng và hình ảnh được yêu cầu.

Ví dụ: nếu bạn đã có một hình ảnh, Docker Engine sẽ đưa ra yêu cầu về một bảng kê khai, hãy hiểu rằng nó đã có tất cả các lớp cần thiết dựa trên bảng kê khai được chấp nhận rồi dừng lại. Mặt khác, nếu bạn đang tải xuống một hình ảnh hỗ trợ nhiều kiến ​​trúc, yêu cầu tệp kê khai sẽ trả về danh sách các tệp kê khai hình ảnh cho từng kiến ​​trúc được hỗ trợ. Sau đó, Docker Engine sẽ đưa ra một yêu cầu kê khai khác cho kiến ​​trúc cụ thể mà nó đang chạy, đổi lại, nó sẽ nhận được danh sách tất cả các lớp trong hình ảnh. Sau đó, nó sẽ truy vấn từng lớp bị thiếu (blob).

NB Chủ đề này được đề cập rộng rãi hơn trong khóa học docker, trong đó chúng tôi sẽ phân tích tất cả các công cụ của nó: từ trừu tượng hóa cơ bản đến tham số mạng, các sắc thái khi làm việc với các hệ điều hành và ngôn ngữ lập trình khác nhau. Bạn sẽ làm quen với công nghệ và hiểu cách sử dụng Docker tốt nhất ở đâu và như thế nào.

Hóa ra việc tải xuống một hình ảnh thực sự là một hoặc hai yêu cầu rõ ràng, cũng như từ XNUMX đến vô cùng - yêu cầu cho các lớp (blob). Trước đây, Docker đã theo dõi tần suất tải xuống trên cơ sở từng lớp, vì điều này liên quan nhiều nhất đến việc sử dụng băng thông. Tuy nhiên, chúng tôi đã lắng nghe cộng đồng, điều này khó hơn vì bạn cần theo dõi số lượng lớp được yêu cầu, điều này sẽ dẫn đến việc bỏ qua các phương pháp hay nhất khi làm việc với Dockerfile và cũng trực quan hơn cho những người dùng chỉ muốn làm việc với cơ quan đăng ký mà không cần hiểu nhiều về các chi tiết.

Vì vậy, chúng tôi giới hạn số lượng yêu cầu dựa trên yêu cầu kê khai. Điều này liên quan trực tiếp đến việc tải xuống hình ảnh, điều này rất dễ hiểu đối với người dùng. Thực sự có một sắc thái nhỏ - nếu bạn cố tải xuống một hình ảnh đã tồn tại, yêu cầu vẫn sẽ được tính đến, ngay cả khi bạn không tải xuống các lớp. Trong mọi trường hợp, chúng tôi hy vọng rằng phương pháp hạn chế tần suất tải xuống này sẽ vừa công bằng vừa thân thiện với người dùng.

Mong chờ phản hồi của bạn

Chúng tôi sẽ theo dõi các hạn chế và thực hiện các điều chỉnh phù hợp dựa trên các trường hợp sử dụng phổ biến để đảm bảo rằng các hạn chế phù hợp với từng loại người dùng và đặc biệt, chúng tôi sẽ cố gắng không bao giờ ngăn cản các nhà phát triển thực hiện công việc của họ.

Hãy theo dõi trong những tuần tới để có một bài viết khác về điều chỉnh CI và hệ thống chiến đấu trước những thay đổi này.

Cuối cùng, như một phần hỗ trợ của chúng tôi cho cộng đồng nguồn mở, chúng tôi sẽ cung cấp các gói giá mới cho nguồn mở cho đến ngày 1 tháng XNUMX. Để áp dụng, xin vui lòng điền vào mẫu đây.

Để biết thêm thông tin về những thay đổi mới nhất đối với điều khoản dịch vụ, vui lòng truy cập Câu Hỏi Thường Gặp.

Đối với những người cần tăng giới hạn tần suất tải xuống hình ảnh, Docker cung cấp tính năng tải xuống hình ảnh không giới hạn. Kế hoạch chuyên nghiệp hoặc nhóm. Như mọi khi, chúng tôi hoan nghênh phản hồi và câu hỏi. đây.

Nguồn: www.habr.com

Thêm một lời nhận xét