Apache Ignite 2.5: Chia tỷ lệ thành cụm nút 1000 giây


Hoàng Chí Công
1 năm trước
Hữu ích 6 Chia sẻ Viết bình luận 0
Đã xem 1550

Apache Ignite luôn được người dùng đánh giá cao về hai điều chính mà nó mang lại - khả năng mở rộng và hiệu suất. Trong suốt cuộc đời, nhiều hệ thống phân tán có xu hướng thực hiện tối ưu hóa hiệu suất từ ​​bản phát hành đến bản phát hành trong khi thực hiện các cải tiến liên quan đến khả năng mở rộng chỉ một vài lần. Không phải vì khả năng mở rộng không được quan tâm.

Tuy nhiên, Apache Ignite đã phát triển đến mức cộng đồng quyết định xem xét lại hệ thống con khám phá của nó có ảnh hưởng đến việc Ignite mở rộng và tiến xa đến mức nào. Mục tiêu khá rõ ràng - Ignite phải chia tỷ lệ 1000 nút tốt như tỷ lệ 100 bây giờ.

Phải mất nhiều tháng để thực hiện nhiệm vụ. Vì vậy, hãy cùng tôi chào đón Apache Ignite 2.5 để có thể dễ dàng mở rộng tới 1000 nút và đi kèm với các khả năng thú vị khác. Hãy xem những cái nổi bật nhất.

Khả năng mở rộng lớn

Có hai thành phần của Ignite đã được sửa đổi trong Ignite 2.5 để cải thiện khả năng mở rộng của nó. Cái đầu tiên có liên quan đến cụm nút 1000s trong khi cái còn lại liên quan đến cách chúng ta huấn luyện các mô hình học máy (ML) trong Ignite. Hãy bắt đầu với cái đầu tiên.

Kết hôn với Apache Ignite và ZooKeeper

Mục tiêu khả năng mở rộng các nút 1000 giây đã được giải quyết với sự trợ giúp của Apache ZooKeeper. Tại sao chúng ta lại chuyển sang nó?

Apache Bỏ qua TCP / IP Discovery mặc định tổ chức các nút cụm thành một dạng cấu trúc liên kết vòng có ưu điểm và nhược điểm. Ví dụ, trên các cấu trúc liên kết với hàng trăm nút cụm, có thể mất nhiều giây trong khi thông báo hệ thống đi qua tất cả các nút. Do đó, việc xử lý các sự kiện cần thiết như nối các nút mới hoặc phát hiện các sự cố không thành công có thể mất một thời gian, ảnh hưởng đến hiệu suất và hiệu suất của cụm tổng thể. Đó là một vấn đề lớn nếu bạn muốn chạy các cụm nút 1000.

ZooKeeper Discovery mới sử dụng ZooKeeper như một điểm đồng bộ hóa duy nhất trong đó các nút Ignite đang trao đổi các sự kiện khám phá thông qua nó. Nó đã giải quyết vấn đề với các thông báo khám phá được xử lý lâu dài và kết quả là cho phép Ignite mở rộng quy mô cho các cấu trúc liên kết cụm lớn.

Theo nguyên tắc thông thường, hãy tiếp tục sử dụng TCP / IP Discovery mặc định nếu không chắc rằng cụm Ignite của bạn vượt quá 300 nút và chuyển sang ZooKeeper Discovery nếu đó là trường hợp.

Học máy: Bộ dữ liệu dựa trên phân vùng

Đó là tính năng nổi bật thứ hai của Ignite 2.5 giúp cải thiện mức độ bạn có thể mở rộng quy mô cụm Ignite của mình để đào tạo các mô hình ML qua terabyte hoặc petabyte dữ liệu. Các bộ dữ liệu dựa trên phân vùng đã đưa chúng ta đến gần hơn với việc triển khai khái niệm Zero-ETL, ngụ ý rằng Ignite có thể được sử dụng như một bộ lưu trữ duy nhất trong đó các mô hình và thuật toán ML đang được cải thiện lặp đi lặp lại và trực tuyến mà không cần chuyển đổi dữ liệu qua lại giữa Ignite và lưu trữ khác .

Đọc thêm về các bộ dữ liệu từ trang tài liệu này.

Thuật toán di truyền

Thành phần ML của Ignite đang tăng tốc và trong phiên bản 2.5, nó đã chấp nhận sự đóng góp của các thuật toán di truyền (GA), giúp giải quyết các vấn đề tối ưu hóa bằng cách mô phỏng quá trình tiến hóa sinh học. GA là tuyệt vời để tìm kiếm thông qua các tập dữ liệu lớn và phức tạp cho một giải pháp tối ưu. Các ứng dụng trong thế giới thực của GA bao gồm thiết kế ô tô, chơi game trên máy tính, robot, đầu tư, định tuyến giao thông / giao hàng, v.v.
Tham khảo các bài viết quá mức của những người bạn cộng đồng của tôi Turik Campbell và Akmal B. Chaudhri, trong đó đề cập đến những lợi ích chính của GAs:

Kiểm tra tự phục hồi và liên tục

Đó là một thực tế được biết rằng nhiều công ty và doanh nghiệp đã tin tưởng Ignite trong các triển khai và giải pháp quan trọng. Do đó, đôi khi Ignite thậm chí không có quyền "xử lý sai" và có thể tự động xử lý các tình huống quan trọng hoặc không thể đoán trước hoặc cung cấp phương tiện để xử lý chúng theo cách thủ công.
Với Ignite 2.5, chúng tôi đã khởi động việc hiện thực hóa khái niệm tự phục hồi liên tục ngụ ý rằng bất kể điều gì xảy ra với Ignite trong sản xuất, nó sẽ có thể chịu đựng được những thất bại bất ngờ và tiếp tục hoạt động. Sau đây được thực hiện trong 2.5:

SQL: Bảo mật và tải dữ liệu nhanh

Cộng đồng vẫn mạnh mẽ và quyết tâm trong mục tiêu làm cho công cụ SQL Ignite không thể phân biệt được với các công cụ SQL của cơ sở dữ liệu SQL nổi tiếng và trưởng thành. Mục đích gì? Chúng tôi muốn giúp bạn dễ dàng di chuyển từ cơ sở dữ liệu quan hệ sang Ignite để bạn có thể sử dụng lại tất cả các kỹ năng bạn đã đạt được trước đó. Nhìn chung, đây là những gì công cụ SQL của chúng tôi có trong 2.5:

Thi hành tại chỗ các câu hỏi Spark DataFrame

Người dùng Apache Spark có thể hoan nghênh vì vé sau đã được hợp nhất trong 2.5. Nói tóm lại, điều đó có nghĩa là từ giờ trở đi, Ignite sẽ có thể thực thi nhiều truy vấn SQL DataFrames như nó có thể đặt ở phía máy chủ Ignite để tránh di chuyển dữ liệu từ Ignite sang Spark. Hiệu năng của các truy vấn DataFrames của bạn sẽ tăng đáng kể. Thưởng thức!

Gói DEB và RPM

Cuối cùng nhưng không kém phần quan trọng, nếu bạn là người dùng Linux, giờ đây bạn có thể cài đặt các phiên bản Ignite mới nhất trực tiếp từ kho DEB và RPM. Tham khảo cách làm và chia sẻ phản hồi của bạn với chúng tôi.

Cuối cùng, tôi không còn giấy để viết về các tối ưu hóa và cải tiến khác. Vì vậy, hãy tiếp tục và kiểm tra ghi chú phát hành của chúng tôi .

Hữu ích 6 Chia sẻ Viết bình luận 0
Đã xem 1550