Mô hình tham khảo cho kiến trúc Client/Server

Một phần của tài liệu Tối ưu hoá ứng dụng ngân hàng trên nền hệ thống phân tán777 (Trang 86 - 90)

Để có cái nhìn khái quát, ta xem xét một mô hình tham khảo của hệ thống tính toán client/server. Đây là mô hình của DataBase Associates, nó mô tả phương thức mà các loại middleware được dùng để liên kết các ứng dụng Web và các ứng dụng client/server khác với nhau:

Hình 3.1: Client/Server computing roadmap Các vấn đề thực tế đối với các giao dịch phân tán:

- Variable capacity: Các thành phần trong hệ thống phân tán hoạt động ở các tốc độ khác nhau.

- Variable contention: Các thành phần hoạt động trong các môi trường xử lí khác nhau, do đó có thể phát sinh trễ khi chia sẻ tài nguyên ( CPU, các liên kết mạng, disks …) với các thành phần khác.

- Variable availability: Không thể đảm bảo được rằng các thành phần trong hệ thống phân tán vốn được điều khiển một cách độc lập lại có thể khả dụng một cách đồng thời.

- Variable demand: Sự phân chia một giao dịch giữa các thành phần có thể không giống nhau như thiết kế. Một thành phần nào đó có thể được yêu cầu thực hiện một tác vụ đòi hỏi thời gian hoàn thành hàng phút thậm chí hàng giờ, trong khi đó thành phần khác có thể thực hiện trong vài giây.

Như đã nói, decoupled processes và multitransaction workflows là căn cứ để thiết kế các hệ thống high performance enterprise client/server:

- Decoupled Processes: Việc phân tách các tiến trình thực hiện theo nguyên tắc: có thể phân tách các thành phần khác nhau của một hệ thống phân tán để không có tiến trình nào phải dừng xử lí để chờ các tiến trình khác.

- Multitransaction workflows: Chúng ta có thể tách các giao dịch thực tế thành các giao dịch trên máy tính.

Các luận cứ để chứng minh các nhận định trên sẽ được phân tích ngay sau đây, chúng liên quan đến các yếu tố sau:

1. Khả năng có hạn của các hệ thống phần mềm trong việc đảm bảo tính toàn vẹn của giao dịch trong môi trường phân tán.

2. Xung đột giữa các hệ thống phân tán và các giao dịch vốn được điều khiển độc lập nhau.

3. Sự giống nhau trong việc thiết kế các ứng dụng để tận dụng các bộ xử lí song song.

4. Kinh nghiệm trong việc thiết kế các hệ thống trong thực tế. 5. Các nguyên lí xây dựng phần mềm.

6. Yêu cầu phải xây dựng các hệ thống từ các thành phần được phát triển một cách độc lập nhau

3.1.2 Các thành phần cấu trúc của một hệ thống phân tán:

Về mặt logic, có thể phân chia một hệ thống phân tán thành 3 thành phần là:

presentation, application, database. Về mặt phân bố vật lí có thể phân nó thành các thành phần sau: workstation, departmental server và enterprise server.

Về mặt logic, các hệ thống cần các thành phần để thực hiện 3 chức năng khác nhau cơ bản, ta có thể xem 3 chức năng này là consumers, context và content:

- Consumers: Là các thành phần ứng dụng giao tiếp với các user và thực hiện chức năng thu thập, chuẩn bị và hiển thị thông tin.

- Context: thực hiện việc xử lí ứng dụng, nhận yêu cầu thông tin từ consumers, phân tích yêu cầu này, và đưa chúng đến lớp content phù hợp.

Hình 3.2: Optimal architecture for enterprise client/server.

- Content: Để phối hợp các dịch vụ phối hợp và quản lí thông tin. Trước đây nó chỉ đơn giản là data và database, hiện nay còn bao gồm cả các các nguồn tài nguyên khác.

3.1.3 Kiến trúc three-tier client/server thực tế:

Nếu triển khai các ứng dụng theo mô hình như trên, performance sẽ rất kém. Yêu cầu data của consumer phải được chuyển qua 2 lớp transport để tới được lớp content, và trong thực tế, một trong 2 lớp transport này có thể là mạng WAN, tương đối chậm.

Trong thực tế, cấu trúc tối ưu để có high performance sẽ bao gồm các một quan hệ giữa các lớp logic và vật lí như hình 3.3:

Hình 3.3: Logical and physical layering in practice

Theo đó, để xây dựng các hệ thống làm việc hiệu quả trong môi trường phân tán, ta cần thiết kế các ứng dụng có kiến trúc thoả mãn:

- Phần quản lí hiển thị tập trung trên workstation, nhưng một số chức năng được thực hiện trên workgroup server.

- Phần quản lí application và workflow nằm trên workgroup server nhưng một số chức năng được thực hiện bởi enterprise server.

- Phần quản lí data được trải rộng trên cả 3 tier mặc dù trách nhiệm chủ yếu được chia sẻ giữa các server workgroup và enterprise.

Một phần của tài liệu Tối ưu hoá ứng dụng ngân hàng trên nền hệ thống phân tán777 (Trang 86 - 90)

Tải bản đầy đủ (PDF)

(103 trang)