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. Giản đồ này 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/cqlsh $(hostname -i) [-u cassuser -p casspass] -e "select keyspace_name, replication from system_schema.keyspaces;"

    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.

    cassuser: Nếu bạn đã bật tính năng xác thực Cassandra, hãy chuyển tên người dùng Cassandra. Bước này không bắt buộc và có thể bỏ qua nếu bạn chưa bật tính năng xác thực Cassandra.

    casspass: Nếu bạn đã bật tính năng xác thực Cassandra, hãy chuyển mật khẩu Cassandra. Bước này không bắt buộc và có thể bỏ qua nếu bạn chưa bật tính năng xác thực Cassandra.

Bạn sẽ thấy kết quả như bên dưới, trong đó mỗi hàng đại diện cho một không gian phím:

  keyspace_name       | replication                                                                 
  kms                 | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
  system_distributed  | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
  apprepo             | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'dc-1': '3'}
  

Bạn có thể thấy rằng đối với trung tâm dữ liệu 1, dc-1, hệ số nhân bản mặc định cho không gian khoá km là 3 cho một lượt cài đặt với 3 nút Cassandra. Đối với một số không gian khoá nhất định nội bộ trong Cassandra (như system, system_schema, v.v.), chiến lược sao chép và yếu tố sao chép có thể khác nhau. Đây là hành vi có chủ ý của hệ thống.

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.

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 sang 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 đọc và ghi:
    grep -ri "consistency.level" *
  4. Đăng nhập vào nút Máy chủ quản lý.
  5. Thay đổi sang thư mục /opt/apigee/edge-management-server/conf:
    cd /opt/apigee/edge-management-server/conf
  6. Lặp lại bước 3.

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.