Edge for Private Cloud phiên bản 4.17.09
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ịu 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 cho một không gian khoá trên một cụm Cassandra được gọi là hệ số sao chép của không gian khoá. Hệ số sao chép bằng 1 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à có 2 bản sao của mỗi 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 một hệ thống phát hành chính thức có từ 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 quy tắc chung, hệ số sao chép không được vượt quá số lượng nút Cassandra trong cụm.
Hãy làm theo 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:
- Đăng nhập vào một nút Cassandra.
- 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 có 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ố lượng nút Cassandra lên 6 nhưng vẫn giữ nguyên hệ số sao chép là 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 ngừng hoạt động, thì hệ số sao chép cao hơn đồng nghĩa với việc dữ liệu trên nút đó có xác suất tồn tại cao hơn trên một trong các nút còn lại. Nhược điểm của hệ số sao chép cao hơn là độ trễ tăng lên khi ghi dữ liệu.
Giới thiệu về mức độ nhất quán của Cassandra
Mức độ nhất quán của Cassandra được định nghĩa là số nút Cassandra tối thiểu phải xác nhận một 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 khoá Edge khác nhau.
Khi kết nối với Cassandra để thực hiện các thao tác đọc và ghi, các nút Bộ 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 một không gian khoá. Tuy nhiên, một số không gian khoá được xác định để sử dụng mức độ nhất quán là một.
Công thức 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 thực 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, ít nhất hai trong số ba nút Cassandra trong trung tâm dữ liệu phải phản hồi thao tác đọc/ghi để thao tác thành công. Do đó, đối với cụm Cassandra có 3 nút, cụm này có thể chịu được 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ễ cần thiết để xác thực các thao tác trên nhiều trung tâm dữ liệu. Nếu một không gian khoá sử dụng giá trị QUORUM của Cassandra làm mức độ 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.
Cách xem mức độ nhất quán mà các nút Bộ xử lý thông báo hoặc Máy chủ quản lý Edge sử dụng:
- Đăng nhập vào nút Bộ xử lý thông báo.
- Thay đổi thành thư mục /opt/apigee/edge-message-processor/conf:
> cd /opt/apigee/edge-message-processor/conf - Đối với tính nhất quán khi ghi:
> grep -ri "write.consistencylevel" * - Để đảm bảo tính nhất quán khi đọc:
> grep -ri "read.consistencylevel" * - Đăng nhập vào nút Máy chủ quản lý.
- Chuyển sang thư mục /opt/apigee/edge-management-server/conf:
> cd /opt/apigee/edge-management-server/conf - 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.