Th3 282017
 

Hazelcast là một mạng lưu trữ dữ liệu trên bộ nhớ Ram (in-memory data grid). Hazelcast đưa ra cài đặt của các interface trong Java như: Map, Queue, ExcecutorService, Lock… Nó được thiết kế rất nhẹ và dễ sửa dụng. Hazelcast đảm bảo tính sẵn sàng cao (high available) và có khả năng mở rộng (scalable).  Các ứng dụng phân tán có thể sử dụng Hazelcast vào mục đích lưu dữ liệu đệm dạng phân tán (distributed caching), đồng bộ hóa, … Hazelcast được cài đặt bằng ngôn ngữ Java và client cho các ngôn ngữ Java, C/C++, C#… Hazelcast cũng có thể được xem như một giao thức lưu đệm (memcache protocol).

Hazelcast rất đơn giản.

Hazelcast được viết bằng ngôn ngữ Java và không phụ thuộc (dependency) bất kì một thư viện nào khác. Nó đưa ra một API giống với như trong gói Java Util. Bạn chỉ cần thêm dependency gói hazelcast.jar và thiết lập một số cài đặt đơn giản (mất dưới 1 phút) là có thể bắt đầu phát triển ứng dụng với hazelcast.

Hazelcast sử dụng cơ chế mạng ngang hàng (peer-to-peer).

Không giống như rất nhiều các giải pháp NoSQL khác, Hazelcast sử dụng cơ chết mạng ngang hàng. Nó không có master và slave. Tất cả các node lưu số lượng dữ liệu như nhau, và xử lý bằng nhau. Hazelcast có thể được nhúng vào chương trình của bạn hoặc sử dụng chế độ client-server trong đó chương trình của bạn đóng vai trò là client kết nối tới các node Hazelcast.

Hazelcast có khả năng mở rộng cao.

Hazelcast được thiết kế để mở rộng lên tới hàng trăm hoặc hàng nghìn node. Đơn giản chỉ cần thêm các node mới vào cụm Hazelcast chúng ta sẽ mở rộng được cả khả năng lưu trữ và tính toán của cụm một các tuyến tính. Các node duy trì một khết nối TCP với nhau và tất cả các giao tiếp trong cụm sẽ được thông qua tầng này.

Hazelcast nhanh.

Hazelcast lưu trữ mọi thứ trên Ram (in-memory). Nó được thiết kế để thực thi rất nhanh các thao tác đọc và cập nhật (read/update) dữ liệu.

Hazelcast có khả năng chịu lỗi.

Hazelcast lưu các bản sao (backup) của mỗi mảnh dữ liệu trên các node khác nhau. Khi một node bị lỗi, dự liệu trên node đó sẽ được khôi phục lại từ bản sao (bản backup) và cụm Hazelcast vẫn hoạt động bình thường, không có thời gian ngừng hoạt động (downtime = 0).

Phân mảnh (sharding) trong Hazelcast.

Các mảnh trong Hazelcast được gọi là các Partition. Mặc định Hazelcast có 271 partition. Các partition được phân tán trên tất cả các node của cụm. Hazelcast cũng tạo bản backup của các partition và phân tán chúng trên các node.

Partition trên một cụm Hazelcast có 1 node:

hazelcast1

Partition trên một cụm Hazelcast có 2 node:

hazelcast2

Partition trên một cụm Hazelcast có nhiều node:

hazelcast

Hazelcast Topology

Nếu bạn có một ứng dụng có một điểm trung tâm được đồng bộ và cấn tính toàn hiệu năng cao thì việc nhúng hazelcast vào trong ứng dụng rất hữu dụng. Trong trường hợp này các node chứa cả ứng dụng vào dữ liệu.

hazelcast3

 Posted by at 11:46 sáng

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)