Giới thiệu về hệ số sao chép Cassandra và mức độ nhất quán

Giới thiệu về hệ số nhân bản Cassandra

Cassandra lưu trữ các bản sao dữ liệu trên nhiều nút để đảm bảo độ tin cậy và khả năng chống lỗi. Chiến lược sao chép cho từng không gian phím Edge xác định các nút có chứa bản sao .

Tổng số bản sao của một không gian phím trên cụm Cassandra được gọi là hệ số sao chép của keyspace. Yếu tố sao chép của một yếu tố có nghĩa là chỉ có một yếu tố bản sao của từng hàng trong cụm Cassandra. Hệ số nhân bản của hai nghĩa là có hai bản sao của từng hàng, trong đó mỗi bản sao nằm trên một nút khác nhau. Tất cả bản sao đều quan trọng như nhau; không có bản sao chính hoặc bản sao chính.

Trong hệ thống sản xuất có từ 3 nút Cassandra trở lên trong mỗi trung tâm dữ liệu, giá trị mặc định hệ số nhân bản cho không gian phím Edge là 3. Theo quy tắc chung, yếu tố nhân bản không được vượt quá số nút Cassandra trong cụm.

Hãy sử dụng quy trình sau để xem giản đồ Cassandra, trong đó cho biết hệ số nhân bản cho từng không gian phím Edge:

  1. Đăng nhập vào nút Cassandra.
  2. Chạy lệnh sau:
    /opt/apigee/apigee-cassandra/bin/cassandra-cli -h $(hostname -i) <<< "show schema;"

    Trong trường hợp $(hostname -i) phân giải thành địa chỉ IP của nút Cassandra. Hoặc bạn có thể thay thế $(hostname -i) bằng địa chỉ IP của nút.

Đối với mỗi không gian phím, bạn sẽ thấy kết quả ở dạng:

create keyspace kms
  with placement_strategy = 'NetworkTopologyStrategy'
  and strategy_options = {dc-1 : 3}
  and durable_writes = true;

Bạn có thể thấy rằng đối với trung tâm dữ liệu 1, dc-1, yếu tố sao chép mặc định cho Không gian phím kms là 3 cho một bằng 3 nút Cassandra.

Nếu bạn thêm các nút Cassandra khác vào cụm, hệ số sao chép mặc định sẽ không bị ảnh hưởng.

Ví dụ: nếu bạn tăng số nút Cassandra lên 6 nút, nhưng vẫn để nguyên bản sao đến 3, thì bạn không đảm bảo rằng tất cả các nút Cassandra đều có bản sao của tất cả dữ liệu. Nếu một nút bị hỏng thì hệ số sao chép càng cao thì xác suất dữ liệu trên nút càng cao tồn tại trên một trong các nút còn lại. Nhược điểm của yếu tố sao chép càng cao là độ trễ khi ghi dữ liệu.

Giới thiệu về mức độ nhất quán Cassandra

Mức nhất quán Cassandra được xác định là số lượng nút Cassandra tối thiểu phải xác nhận thao tác đọc hoặc ghi trước khi thao tác đó có thể được coi là thành công. Bạn có thể chỉ định các mức độ nhất quán khác nhau cho các không gian phím khác nhau của Edge.

Khi kết nối với Cassandra cho các thao tác đọc và ghi, Trình xử lý tin nhắn và Quản lý Các nút máy chủ thường sử dụng giá trị Cassandra của LOCAL_QUORUM để chỉ định mức độ nhất quán cho một không gian phím. Tuy nhiên, một số không gian khoá được xác định để sử dụng nhất quán là một.

Cách tính toán giá trị của LOCAL_QUORUM cho trung tâm dữ liệu là:

LOCAL_QUORUM = (replication_factor/2) + 1

Như đã mô tả ở trên, yếu tố sao chép mặc định cho môi trường sản xuất Edge có 3 nút Cassandra là 3. Do đó, giá trị mặc định của LOCAL_QUORUM = (3/2) +1 = 2 (giá trị được làm tròn xuống thành số nguyên).

Với LOCAL_QUORUM = 2, có ít nhất 2 trong số 3 nút Cassandra trong dữ liệu tâm phải phản hồi thao tác đọc/ghi để thao tác đó được thực hiện thành công. Đối với một nút ba Do đó, cụm Cassandra có thể cho phép một nút bị hỏng trên mỗi trung tâm dữ liệu.

Bằng cách chỉ định mức độ nhất quán là LOCAL_QUORUM, Edge sẽ tránh được độ trễ bằng cách xác thực các thao tác giữa nhiều trung tâm dữ liệu. Nếu không gian phím sử dụng Cassandra Giá trị QUORUM làm mức độ nhất quán, nên các thao tác đọc/ghi sẽ phải là được xác thực trên tất cả các trung tâm dữ liệu.

Để xem mức độ nhất quán mà các nút Edge Message Processor hoặc Management Server (Máy chủ quản lý) sử dụng, hãy làm như sau:

  1. Đăng nhập vào nút Trình xử lý thư.
  2. Thay đổi thành thư mục /opt/apigee/edge-message-processor/conf:
    cd /opt/apigee/edge-message-processor/conf
  3. Để đảm bảo tính nhất quán khi ghi:
    grep -ri "write.consistencylevel" *
  4. Để đảm bảo tính nhất quán khi đọc:
    grep -ri "read.consistencylevel" *
  5. Đăng nhập vào nút Máy chủ quản lý.
  6. Thay đổi thành thư mục /opt/apigee/edge-management-server/conf:
    cd /opt/apigee/edge-management-server/conf
  7. Lặp lại các bước 3 và 4.

Nếu bạn thêm các nút Cassandra khác vào cụm, thì mức độ nhất quán sẽ không bị ảnh hưởng.