2010-04-01 7 views
5

Khi nào các giao dịch phân tán có ý nghĩa trong kiến ​​trúc hướng dịch vụ?Giao dịch SOA và phân phối

+1

Bài viết này chỉ ra rằng SOA và các giao dịch phân tán là một mô hình chống - http://arnon.me/2010/09/soa-antipattern-transactional-integration/. Nó có một phần "Được biết trường hợp ngoại lệ" ở phía dưới mà nói về "Hệ thống đóng cửa", nhưng sau đó chỉ ra rằng điều này có lẽ là một ý tưởng tồi anyway. – Bermo

Trả lời

2

Giao dịch phân tán được sử dụng rất thường xuyên trong môi trường SOA. Nếu bạn có một dịch vụ tổng hợp gọi nhiều dịch vụ, các cuộc gọi dịch vụ cơ bản sẽ được xử lý như một giao dịch duy nhất. Các quy trình nghiệp vụ phải cho phép quay lại các bước của chúng. Nếu các tài nguyên cơ bản cho phép nó, bạn có thể sử dụng các cam kết 2 pha, nhưng trong nhiều trường hợp nó là không thể. Trong những trường hợp này, các hành động bù trừ phải được thực hiện trên các dịch vụ/tài nguyên được gọi trước khi bước thất bại. Nói cách khác, hoàn tác các bước thành công theo thứ tự ngược lại.
Imaginary dụ: viễn thông quy định công ty một sản phẩm VoIP mới cho khách hàng với 6 dịch vụ gọi: hàng tồn kho

  1. truy vấn để kiểm tra các khách hàng có thiết bị phù hợp
  2. thiết bị cấu hình của khách hàng thông qua hòa giải
  3. cập nhật hàng tồn kho với cấu hình mới
  4. thiết lập công cụ xếp hạng để tính số lượng CDR cho khách hàng
  5. thiết lập phần mềm thanh toán để tính phí cho khách hàng với gói giá chính xác
  6. cập nhật hệ thống CRM với kết quả của quá trình cấp phép

6 bước trên phải là một phần của một giao dịch. Ví dụ. nếu cập nhật khoảng không quảng cáo không thành công, bạn (có thể) cần phải hoàn tác cấu hình thiết bị của khách hàng.

1

Không thực sự là một trường hợp khi chúng có ý nghĩa. Một giao dịch (phân phối hay không) được thực hiện bởi sự cần thiết chứ không phải là sự lựa chọn tùy ý, để thống nhất guarentee. Cách khác là thực hiện quy trình tái tạo để đảm bảo tính nhất quán cuối cùng.

Trong ví dụ ngân hàng cổ điển (tiền ngoài tài khoản A, vào tài khoản B), nhất quán giao dịch là khá cần thiết. Trong một số hệ thống kiểm kê (kiểm tra khoảng không quảng cáo, khoảng không quảng cáo giảm giá, bán cho khách hàng), có thể chấp nhận được đối với các mức cổ phiếu chính xác, thay vì bảo đảm. Trong trường hợp đó, bỏ qua một sự thất bại (hàng tồn kho giảm, bán hàng không hoàn thành) có thể được giải quyết bằng cách hòa giải sau này.