Hệ phân tán cung cấp khả năng sẵn sàng cao để đối phó với các sai hỏng phần cứng. Khả năng sẵn sàng của hệ thống được đo bằng tỷ lệ thời gian mà hệ thống sẵn sàng làm việc so với thời gian có sự cố. Khi một máy trên mạng sai hỏng thì chỉ có công việc liên quan đến các thành phần sai hỏng bị ảnh hưởng. Người sử dụng có thể chuyển đến một trạm khác nếu máy họ đang sử dụng bị hỏng, một QT phục vụ có thể được khởi động lại trên một máy khác.
1 CÁC HỆ PHÂN TÁN CHƯƠNG KIẾN TRÚC HỆ PHÂN TÁN TS TRẦN HẢI ANH Tham khảo giảng PGS TS Hà Quốc Trung Nội dung 1. 2. 3. 4. Khái niệm kiến trúc Kiến trúc hệ thống Middleware kiến trúc Quản lý tự động hệ phân tán Khái niệm kiến trúc 1.1 Kiến trúc ¨ Kiến trúc ¤ Cách thức phân chia hệ thống thành thành phần, mô tả tương tác thành phần ¤ Phân tầng, Client-Server, P2P, ¨ ¨ ¨ ¨ ¨ Hệ thống tách thành thành phần Mỗi thành phần có giao diện định nghĩa qui định cách sử dụng chức thành phần môi trường thành phần Nếu giao diện không thay đổi thay thành phần khác Các thành phần kết nối lẫn Cách thức kết nối thành phần: kiến trúc 1.2 Các loại kiến trúc thường dùng hệ phân tán • • • • Kiến trúc phân tầng Kiến trúc hướng đối tượng Kiến trúc hướng liệu Kiến trúc hướng kiện 1.2.1 Kiến trúc phân tầng ¨ ¨ ¨ ¨ Chức hệ thống phân rã thành chức Các chức thực mô đun phần mềm – thực thể phần mềm hệ thống khác tương tác với Các mô đun phần mềm khác hệ thống phối hợp tương tác với để thực chức chung Để đơn giản hệ thống cần giảm thiểu liên kết mô đun: kiến trúc phân tầng Kiến trúc phân tầng Tầng N Thực thể ¨ Giao thức ( loại giao thức) ¨ Dịch vụ ¨ Điểm truy cập dịch vụ ¨ Các mô hình phân tầng thường gặp Application Presentation Session Transport Network Data link Physical Mô hình Middleware Mô hình OSI 1.2.2 Kiến trúc hướng đối tượng Thành phần đối tượng - Connector Lời gọi phương thức - - Object Client Object server Kết nối lỏng đối tượng - Ví dụ: Corba - 1.2.3 Kiến trúc hướng kiện 10 Thành phần hệ thống trao đổi thông tin với thông qua kiện - Các kiện chứa thông tin cần trao đổi - Các kiện kích hoạt thao tác tiến trình - Có thể thực theo mô hình điểm điểm mô hình trục quảng bá kiện - Ví dụ - - mô hình thuê bao/xuất Liên kết lỏng - Hệ thống Chord 30 - Mạng dạng vòng - Succ(k) - Hàm LOOKUP(k) - Một node muốn join hệ thống - Một node muốn rời hệ thống 31 Hệ thống CAN (Content Addressable Network) 2.2.2 Kiến trúc P2P cấu trúc 32 Thuật toán ngẫu nhiên để xây dựng mạng overlay (random graph) ¨ Mỗi node trì danh sách hàng xóm (partial view) ¨ Dữ liệu đưa vào hệ thống cách ngẫu nhiên ¨ => Mỗi lần cần lấy liệu ra, cần thực duyệt toàn hệ thống (flooding) ¨ =>superpeers ¨ 2.3 Kiến trúc hỗn hợp 33 Hệ thống máy chủ biên (edge-server system) ¨ Hệ phân tán hợp tác ¨ Hệ thống máy chủ biên 34 Hệ phân tán hợp tác 35 Hệ thống chia sẻ file BitTorrent 36 Middleware kiến trúc Các kiểu kiến trúc Middleware 37 Vị trí middleware ¨ VD: CORBA, TIB/Rendezvous ¨ Ưu điểm: dễ dàng cho thiết kế ứng dụng ¨ Nhược điểm: không tối ưu cho nhà phát triển ứng dụng ¨ Giải pháp: ¨ ¤ Sử dụng nhiều phiên khác middleware ¤ Tách biệt chế sách dễ dàng cấu hình, thích nghi tùy chỉnh Interceptors 38 ¨ Cấu trúc phần mềm, cho phép chặn dòng điều khiển thông thường, cho phép đoạn mã khác thực thi 39 Những hướng tiếp cận chung cho phần mềm thích nghi Môi trường ứng dụng phân tán luôn thay đổi ¨ “Phần mềm thích nghi” yếu tố quan trọng thiết kế HPT ¨ Các kỹ thuật: ¨ ¤ Tách biệt vấn đề ¤ Phản ánh tính toán ¤ Thiết kế dựa thành phần 40 Quản lý tự động hệ phân tán Mô hình điều khiển dựa phản hồi 41 Tổ chức logic hệ thống điều khiển dựa phản hồi Ví dụ: Hệ thống giám sát Astrolabe 42 Ví dụ: Globule 43 Ví dụ: hệ thống quản lý sửa chữa Jade 44 ¨ ¨ ¨ ¨ ¨ Mục đích: phát nodes bị hỏng tự động thay Mô hình Fractal Miền quản lý sửa chữa (repair management domain) Node manager Các bước sửa lỗi: ¤ Tắt liên kết ¤ Khởi động thêm node vào domain ¤ Cấu hình lại node ¤ Thiết lập lại liên kết với node trước [...]... điệp 12 JMS API Architecture 13 Publish/Subscribe Messaging 14 The JMS API Programming Model 15 DDS (Data Distribution Service) 16 DCPS interface DLRL interface 17 1 .2. 4 Kiến trúc hướng dữ liệu 18 - Các thành phần trao đổi thông tin thông qua kho dữ liệu chung 19 2 Kiến trúc hệ thống I. II. III. Kiến trúc tập trung Kiến trúc không tập trung Kiến trúc hỗn hợp 2. 1 Kiến trúc tập trung 20 2. 1.1 Kiến trúc. .. (idempotent) - Có bộ nhớ trạng thái? 2. 1 .2 Phân tầng ứng dụng 22 ¨ Các mức phân tầng • • • Giao diện Nghiệp vụ Dữ liệu Phân tầng ứng dụng tìm kiếm 23 2. 1.3 Kiến trúc đa tầng Các mô hình 2 bên 24 Mô hình 3 bên 25 Các mô hình client-server khác 26 Hệ thống phân tầng chiều đứng, theo chức năng ¨ Hệ thống phân tầng theo chiều ngang (theo tải) ¨ ¤ Proxy, các cơ chế phân tải Mã di động (applet, javascript)... biết bối cảnh, tương tranh, 2. 2 Kiến trúc không tập trung 27 Client và server không phân biệt vai trò ¨ Kết nối với nhau bằng một mạng trên mạng hạ tầng (Overlay network) ¨ Có cấu trúc/ Không có cấu trúc ¨ P2P thuần/P2P hỗn hợp ¨ Overlay network 28 2. 2.1 Kiến trúc P2P có cấu trúc 29 Mạng overlay được xây dựng dựa trên 1 thủ tục định trước ¨ DHT (Distributed Hash Table) ¨ Hệ thống Chord 30 - Mạng... join hệ thống - Một node muốn rời hệ thống 31 Hệ thống CAN (Content Addressable Network) 2. 2 .2 Kiến trúc P2P không có cấu trúc 32 Thuật toán ngẫu nhiên để xây dựng mạng overlay (random graph) ¨ Mỗi node duy trì một danh sách hàng xóm (partial view) ¨ Dữ liệu được đưa vào hệ thống 1 cách ngẫu nhiên ¨ => Mỗi lần cần lấy dữ liệu ra, cần thực hiện duyệt toàn bộ hệ thống (flooding) ¨ =>superpeers ¨ 2. 3... Mỗi lần cần lấy dữ liệu ra, cần thực hiện duyệt toàn bộ hệ thống (flooding) ¨ =>superpeers ¨ 2. 3 Kiến trúc hỗn hợp 33 Hệ thống máy chủ biên (edge-server system) ¨ Hệ phân tán hợp tác ¨ Hệ thống máy chủ biên 34 Hệ phân tán hợp tác 35 Hệ thống chia sẻ file BitTorrent 36 3 Middleware trong các kiến trúc ... trúc hệ thống I. II. III. Kiến trúc tập trung Kiến trúc không tập trung Kiến trúc hỗn hợp 2. 1 Kiến trúc tập trung 20 2. 1.1 Kiến trúc client-server 2. 1 .2 Phân tầng ứng dụng 2. 1.3 Kiến trúc đa tầng 2. 1.4 Software Agent 2. 1.1 Kiến trúc client-server 21 Client: - - gửi yêu cầu, nhận kết quả, hiển thị cho NSD Server: - - lắng nghe, nhận yêu cầu, xử lý, trả lời Tương tác giữa client và server có thể ... 19 Kiến trúc hệ thống I. II. III. Kiến trúc tập trung Kiến trúc không tập trung Kiến trúc hỗn hợp 2. 1 Kiến trúc tập trung 20 2. 1.1 Kiến trúc client-server 2. 1 .2 Phân tầng ứng dụng 2. 1.3 Kiến. .. thành phần: kiến trúc 1 .2 Các loại kiến trúc thường dùng hệ phân tán • • • • Kiến trúc phân tầng Kiến trúc hướng đối tượng Kiến trúc hướng liệu Kiến trúc hướng kiện 1 .2. 1 Kiến trúc phân tầng...Nội dung 1. 2. 3. 4. Khái niệm kiến trúc Kiến trúc hệ thống Middleware kiến trúc Quản lý tự động hệ phân tán Khái niệm kiến trúc 1.1 Kiến trúc ¨ Kiến trúc ¤ Cách thức phân chia hệ thống thành