Cam kết hai pha (2PC)

Tác Giả: Randy Alexander
Ngày Sáng TạO: 3 Tháng Tư 2021
CậP NhậT Ngày Tháng: 26 Tháng Sáu 2024
Anonim
Distributed Systems 7.1: Two-phase commit
Băng Hình: Distributed Systems 7.1: Two-phase commit

NộI Dung

Định nghĩa - Cam kết hai pha (2PC) nghĩa là gì?

Một cam kết hai pha là một giao thức được tiêu chuẩn hóa để đảm bảo rằng một cam kết cơ sở dữ liệu được thực hiện trong tình huống mà một hoạt động cam kết phải được chia thành hai phần riêng biệt.


Trong quản lý cơ sở dữ liệu, lưu các thay đổi dữ liệu được gọi là cam kết và hoàn tác các thay đổi được gọi là khôi phục. Cả hai có thể dễ dàng đạt được bằng cách sử dụng ghi nhật ký giao dịch khi có một máy chủ tham gia, nhưng khi dữ liệu được trải rộng trên các máy chủ đa dạng về địa lý trong điện toán phân tán (nghĩa là mỗi máy chủ là một thực thể độc lập với các bản ghi nhật ký riêng biệt), quá trình có thể trở nên khó khăn hơn .

Giới thiệu về Microsoft Azure và Microsoft Cloud | Trong suốt hướng dẫn này, bạn sẽ tìm hiểu về điện toán đám mây là gì và Microsoft Azure có thể giúp bạn di chuyển và điều hành doanh nghiệp của bạn từ đám mây như thế nào.

Techopedia giải thích Cam kết hai pha (2PC)

Một đối tượng đặc biệt, được gọi là điều phối viên, được yêu cầu trong một giao dịch phân tán. Như tên của nó, điều phối viên sắp xếp các hoạt động và đồng bộ hóa giữa các máy chủ phân tán. Cam kết hai pha được thực hiện như sau:


Giai đoạn 1 - Mỗi máy chủ cần cam kết dữ liệu ghi các bản ghi dữ liệu của nó vào nhật ký. Nếu một máy chủ không thành công, nó sẽ phản hồi với sự cố. Nếu thành công, máy chủ trả lời với OK.

Giai đoạn 2 - Giai đoạn này bắt đầu sau khi tất cả người tham gia trả lời OK. Sau đó, điều phối viên gửi tín hiệu đến từng máy chủ với các hướng dẫn cam kết. Sau khi cam kết, mỗi người viết cam kết như là một phần của bản ghi nhật ký của mình để tham khảo và là điều phối viên mà cam kết của nó đã được thực hiện thành công. Nếu một máy chủ bị lỗi, hướng dẫn của điều phối viên đến tất cả các máy chủ để khôi phục giao dịch. Sau khi các máy chủ quay trở lại, mỗi phản hồi rằng điều này đã được hoàn thành.