Neo SPCC phát hành NeoFS Node v0.51.0, SDK Go RC17 và XK6 v0.2.1 với các bản cập nhật giao thức.

Bài viết này được dịch máy
Xem bản gốc

Neo SPCC đã công bố một loạt các bản phát hành NeoFS đồng bộ, dẫn đầu là NeoFS Node v0.51.0, mang đến những thay đổi ở cấp độ giao thức bao gồm các container NEP-11 có thể chỉnh sửa, các thao tác container đồng bộ và sự ra mắt của Token phiên v2. Bộ SDK NeoFS Go v1.0.0-rc.17 đi kèm cung cấp hỗ trợ thư viện cơ bản cho các tính năng này, trong khi XK6-NeoFS v0.2.1 mang đến các bản vá lỗi ổn định và nâng cấp phụ thuộc cho tiện ích mở rộng kiểm thử tải. Việc nâng cấp TestNet đã hoàn tất, và MainNet dự kiến ​​sẽ được nâng cấp trong những ngày tới.

NeoFS Node v0.51.0

Bản phát hành NeoFS Node v0.51.0 mang đến một số thay đổi quan trọng về giao thức. Các container hiện được biểu diễn dưới dạng token NEP-11 có thể thay đổi on-chain, với cả các node lưu trữ và node Inner Ring đều hỗ trợ các phương thức hợp đồng container mới bao gồm createV2getInfo , cũng như các phương thức quản lý thuộc tính setAttributeremoveAttribute , cung cấp API quản lý container on-chain phong phú hơn. Các lệnh CLI tương ứng để thiết lập và xóa thuộc tính đã được thêm vào phần container .

Các thao tác Put , DeleteSetExtendedACL trên container hiện được xử lý đồng bộ bởi các node lưu trữ, thay thế cho luồng xử lý bất đồng bộ trước đây. Thay đổi này đơn giản hóa logic phía máy khách bằng cách loại bỏ nhu cầu thăm dò hoặc chờ đợi sự nhất quán cuối cùng. Container cũng có thể được khóa để ngăn chặn việc xóa bằng cách thiết lập thuộc tính __NEOFS__LOCK_UNTIL , với các node lưu trữ trả về trạng thái CONTAINER_LOCKED mới khi cố gắng xóa một container đã bị khóa.

Token phiên v2 được giới thiệu trên toàn bộ hệ thống. Cả Inner Ring và các node lưu trữ hiện đều chấp nhận định dạng Token mới cho các thao tác với container và đối tượng, và một lệnh CLI mới để tạo mã thông báo v2 đã được cung cấp. Các đối tượng khóa và đối tượng xóa sử dụng các phiên bản API cũ hơn 2.18 không còn được chấp nhận.

Về mặt hiệu năng, các tối ưu hóa metabase giúp xóa đối tượng nhanh hơn bằng cách sửa đổi lược đồ thông tin khóa và loại bỏ cấu trúc nghĩa địa cũ. Các cải tiến dịch vụ đối tượng nhắm mục tiêu cụ thể vào các vùng chứa mã hóa xóa (EC): các phần EC hiện được đặt đồng thời, thứ tự Mảnh nhất quán giữa các thao tác đọc và ghi, và các yêu cầu dữ liệu thô được hỗ trợ trong các vùng chứa EC. Việc tiếp tục yêu cầu RANGE trong các kịch bản EC đa quy tắc cũng đã được khắc phục. Việc truy xuất các đối tượng $ LINK (Chainlink) trong các vùng chứa EC hiện được hỗ trợ và các đối tượng được chia theo kích thước vẫn khả dụng ngay cả khi đối tượng $ LINK (Chainlink) không khả dụng. Việc đặt đối tượng vào phân mảnh đã được tối ưu hóa và các đối tượng được yêu cầu xóa thông qua dịch vụ điều khiển hiện được xóa ngay lập tức thay vì được xếp vào hàng đợi để thu gom rác.

Một số tùy chọn cấu hình Inner Ring đã lỗi thời đã bị loại bỏ, bao gồm fschain_autodeploy , without_mainnet , governance.disable , fee.main_chaincontracts . Các nhà điều hành node nâng cấp từ phiên bản v0.50.2 phải loại bỏ các tùy chọn này khỏi tệp cấu hình IR của họ, vì sự hiện diện của chúng sẽ ngăn node khởi động. Quá trình di chuyển metabase tự động từ phiên bản 3 và 4 cũng đã bị loại bỏ; các nhà điều hành vẫn đang sử dụng các phiên bản đó nên đồng bộ hóa lại hoặc di chuyển bằng NeoFS Node v0.50.2 trước khi nâng cấp.

Các bản vá lỗi này khắc phục sự cố Inner Ring panic trong quá trình tắt máy an toàn, lỗi lưu trữ danh sách nút IR không chính xác thông qua hợp đồng netmap thay vì RoleManagement, lỗi bế tắc khi thoát khỏi Storage Node trong các trường hợp thu gom rác hiếm gặp và lỗi các phần EC đã hết hạn vẫn tồn tại không chính xác trên các nút lưu trữ.

NeoFS SDK Go v1.0.0-rc.17

Bản phát hành SDK cung cấp nền tảng ở cấp độ thư viện cho các thay đổi giao thức trong Node v0.51.0 và tương thích với NeoFS API 2.21. Hỗ trợ Token phiên v2 được triển khai đầy đủ, cho phép các máy khách tạo và sử dụng định dạng Token mới cho cả các thao tác với vùng chứa và đối tượng.

API quản lý thuộc tính vùng chứa mới giới thiệu các phương thức để thiết lập và xóa thuộc tính vùng chứa, cùng với một tập hợp các tên thuộc tính quen thuộc mới. Bản thân API vùng chứa đã được đồng bộ hóa, phù hợp với sự thay đổi hành vi trong nút. Nhóm kết nối hiện sử dụng cửa sổ trượt để đếm lỗi, cải thiện các quyết định cân bằng tải trong điều kiện lỗi gián đoạn.

API tạo đối tượng đã được cấu trúc lại để object.New phù hợp hơn với việc tạo đối tượng mới, và phương thức InitCreation trước đây đã bị loại bỏ. Các phương thức so sánh ba chiều đã được thêm vào cho các kiểu OID, CID và Address, cung cấp các thao tác sắp xếp và thứ tự biểu đạt hơn.

Bản phát hành này cũng khắc phục lỗi xử lý trạng thái không chính xác đối với các phản hồi chưa đầy đủ và cập nhật thư viện NeoGo lên phiên bản v0.116.0.

XK6-NeoFS v0.2.1

Bản cập nhật bảo trì cho tiện ích mở rộng kiểm thử tải NeoFS dành cho k6 đã được phát hành nhằm cải thiện tính ổn định và công bằng. Lỗi nghiêm trọng xảy ra trong quá trình kiểm thử S3 đã được khắc phục, và các cảnh báo kiểm tra tổng không chính xác xuất hiện trong quá trình thực thi kiểm thử đã được loại bỏ.

Việc phân bổ tải trên các nút mục tiêu giờ đây công bằng hơn, giảm thiểu hiệu ứng điểm nóng trong quá trình chạy thử nghiệm hiệu năng. Yêu cầu biên dịch đã được nâng lên Go 1.24 và các phụ thuộc đã được cập nhật trên diện rộng, bao gồm việc nâng cấp NeoFS SDK Go lên v1.0.0-rc.17, AWS SDK lên v1.39.0 và chính framework k6 từ v0.51.0 lên v1.3.0.

Hướng dẫn nâng cấp

Các nhà điều hành nút mạng nên theo dõi quá trình nâng cấp TestNet và chuẩn bị cho việc triển khai MainNet dự kiến ​​​​sớm. Các nhà điều hành Vòng trong (Inner Ring) phải kiểm tra lại các tệp cấu hình của họ và loại bỏ các tùy chọn lỗi thời được liệt kê ở trên trước khi nâng cấp lên phiên bản v0.51.0. Các nhà điều hành Storage Node vẫn đang sử dụng phiên bản metabase 3 hoặc 4 nên hoàn tất quá trình di chuyển của họ thông qua phiên bản v0.50.2 trước khi nâng cấp này, vì các đường dẫn di chuyển tự động đã bị loại bỏ.

Bạn có thể tìm thấy toàn bộ nhật ký thay đổi và tài liệu phát hành tại các liên kết bên dưới:

https://github.com/nspcc-dev/neofs-node/releases/tag/v0.51.0
https://github.com/nspcc-dev/neofs-sdk-go/releases/tag/v1.0.0-rc.17
https://github.com/nspcc-dev/xk6-neofs/releases/tag/v0.2.1

Nguồn
Tuyên bố từ chối trách nhiệm: Nội dung trên chỉ là ý kiến của tác giả, không đại diện cho bất kỳ lập trường nào của Followin, không nhằm mục đích và sẽ không được hiểu hay hiểu là lời khuyên đầu tư từ Followin.
Thích
76
Thêm vào Yêu thích
16
Bình luận