Giới thiệu về Hệ số nhân bản và Mức độ nhất quán của Cassandra

Edge for Private Cloud v4.18.01

Giới thiệu về hệ số sao chép 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 mỗi không gian khoá Edge xác định các nút nơi đặt bản sao.

Tổng số bản sao của một không gian khoá trên cụm Cassandra được gọi là hệ số sao chép của không gian khoá. Hệ số sao chép của một có nghĩa là chỉ có một bản sao của mỗi hàng trong cụm Cassandra. Hệ số sao chép là 2 có nghĩa là mỗi hàng có 2 bản sao, 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 hay bản sao chính.

Trong một hệ thống sản xuất có 3 nút Cassandra trở lên trong mỗi trung tâm dữ liệu, hệ số sao chép mặc định cho không gian khoá Edge là 3. Theo nguyên tắc chung, hệ số sao chép 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 thấy hệ số sao chép cho từng không gian khoá Edge:

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

    trong đó $(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 khoá, 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, hệ số sao chép mặc định cho không gian khoá kms là 3 cho một lượt cài đặt với 3 nút Cassandra.

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

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

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

Cấp độ nhất quán của Cassandra được xác định là số lượng tối thiểu các nút Cassandra phải xác nhận một thao tác đọc hoặc ghi trước khi thao tác đó đượ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, các nút Trình xử lý thông báo và Máy chủ quản lý thường sử dụng giá trị Cassandra của LOCAL_QUORUM để chỉ định mức độ nhất quán cho không gian khoá. Tuy nhiên, một số không gian phím được xác định để sử dụng mức độ nhất quán là 1.

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

LOCAL_QUORUM = (replication_factor/2) + 1

Như mô tả ở trên, hệ số 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 một số nguyên).

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

Bằng cách chỉ định cấp độ nhất quán là LOCAL_QUORUM, Edge tránh được độ trễ cần thiết bằng cách xác thực các hoạt động trên nhiều trung tâm dữ liệu. Nếu không gian khoá sử dụng giá trị Cassandra QUORUM làm cấp độ nhất quán, thì các thao tác đọc/ghi sẽ phải đượ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:

  1. Đăng nhập vào nút Trình xử lý thông báo.
  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 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.