Các kết quả mong muốn đạt được sau khóa học Có khả năng phân tích ngữ cảnh ứng dụng và lĩnh vực ứng dụng của các hệ thống phân tán Nắm được các kiến trúc khác nhau của các hệ th
Trang 1Các hệ thống thông tin phân tán
TS Hồ Bảo Quốc
Trang 2Mục tiêu môn học
Cung cấp kiến thức về các hệ
thống thông tin phân tán trong tổ chức/doanh nghiệp như kiến trúc, các chuẩn, các mô hình, công
nghệ thiết kế và triển các hệ thống phân tán
Trang 3Các kết quả mong muốn đạt
được sau khóa học
Có khả năng phân tích ngữ cảnh ứng dụng và lĩnh vực ứng dụng của các hệ thống phân tán
Nắm được các kiến trúc khác nhau của các hệ thống
Hiểu được sự cần thiết của các chuẩn các nghi thức
trong tính toán phân tán
Đánh giá và chọn lựa được công nghẹ và nghi thức
mạng cho một hệ phân tán
Hiểu các vấn đề trong quản lý giao tác phân tán
Nhận thức được các yêu cầu về bảo mật của hệ thống phân tán
Trang 4Tài liệu tham khảo
Trang 5Nội dung môn học
Phần I Các hệ thống phân tán
Phần II Cơ sở dữ liệu phân tán
Trang 6DẪN NHẬP
Trang 7Định ngh ĩ a
“A distributed system consists of a collection of
autonomous computers, connected through a network
and distribution middleware, which enables computers to coordinate their activities and to share the resources of
Trang 8liệu”
“Người dùng cảm nhận về hệ thống phân tán như một tiên ích tính toán tích hợp mặc dù nó có thể được triển khai trên nhiều máy tính khác nhau, tại nhiều vị trí
khác nhau”
Coulouris et a, 2005
Trang 9đồng thời trên các bộ xử lý khác nhau
Wolfgang Emmerich, 1997
Trang 10Sự phát triển của công nghệ
thống
Thiếu phương tiện để kết nối chúng
Chúng hoạt động độc lập
Trang 11Tại sao cần các hệ thống
phân tán
Bản chất phân tán của các tổ chức/ xí nghiệp
Cho phép người dùng kết nối với những tài
nguyên ở xa (remote resources)
Cho phép chia sẽ tài nguyên cho người dùng
Trang 12Các đặc trưng chính
Trong suốt (transparency) : Che
dấu sự phân tán vật lý của tài
Trang 13Tính trong suốt (Transparency)
Định nghĩa
“sự che dấu ngườii dùng và người lập trình ứng dụng về sự tồn tại độc lập của các thành phần của hệ thống, sao cho hệ thống được cảm nhận như một tổng thể hơn là tập hợp của các thành
phân độc lập“
Coulouris et al
Các loại trong suốt:
◦ Trong suốt truy xuất (Access transparency): sự khác nhau trong biểu diễn dữ
liệu và phương thức truy xuất tài nguyên
◦ Trong suốt vị trí (Location transparency): vị trí tài nguyên được lưu trữ
◦ Trong suốt thay đổi vị trí (Migration transparency): một tài nguyên có thể thay
dổi vị trí
◦ Trong suốt tái định vị (elocation transparency): tài nguyên có thể bị di chuyển
trong khi đang được sử dụng
◦ Trong suốt nhân bản (replication transparency): các bản của cùng một tài
nguyên
◦ Trong suốt truy xuất đồng thời (Concurrency transparency): một tài nguyên có
thể được chia sẽ cho nhiều người và bởi nhiều người
◦ trong suốt sự cố: sự cố và khôi phục sau sự cố của một tài nguyên
◦ Trong suốt về sự bền vững (Persistence transparency): wtài nguyên phần
mềm trong bộ nhớ hay trên đĩa
Trang 14Definition Language (IDL)
nói chuyện với một tiến trình khác cung cấp
interface đó
Trang 15Tính mở (tt.)
Tại sao phải cần tính mở?
◦ Khả năng kết hợp và khả năng di chuyển
( Interoperability and portability)
Đ òi hỏi tính đầy đủ và trung tính
◦ Tính linh hoạt
Dễ dàng cấu hình hệ thống với những thành phần khác nhau từ những nhà phát triển
khác nhau
Dễ dàng thêm một thành phần mới
Dễ dàng thay thế một thành phần đang có
Trang 16Tính mở (tt.)
◦ Đáp ứng sự thay đổi
Thay đổi nghiệp vụ (Business changes)
Thay đổi công nghệ (Technology changes)
Thay đổi điều hành nghiệp vụ (Business drives changes)
Trang 17Tính t ă ng trưởng (scalability)
Trang 18Tính t ă ng trưởng (tt.)
Tăng trưởng theo kích thước
◦ Giới hạn của kiến trúc tập trung : quá tải (bottleneck)
Sức mạnh xử lý và lưu trữ không thể vượt qua những giới hạn của truyền thông
Phân tán lại sinh ra sự không
chắc chắn
Trang 19Tính t ă ng trưởng (tt.)
◦ Các hệ thống phân tán được thiết kế cho
mạng LANs dựa trên truyền thông đồng bộ
(synchronous communication)
◦ Truyền thông trên mạng WANs vốn không tin cậy và hầu hết theo kiểu point-to-point
LANs cung cấp cơ chế truyền thông tin cậy dựa trên
quảng bá(broadcasting) WAN cần các dịch vụ vị
trí đặc biệt
◦ Các thành phần tập trung cản trở sự tăng
trưởng về mặt địa lý
Trang 20ĐẶC TRƯNG CỦA HỆ THỐNG PHÂN TÁN
Trang 21[Coulouris et al, 2001]
Trang 22Tại sao phải dùng HTPT
Đơn giản là để chia sẽ tài nguyên
Trang 23◦ Sự điều phối phụ thuộc theo thời gian
◦ Tuy nhiên có những hạn chế trong việc đồng bộ đồng
Trang 24Ví dụ HTPT
Internet
◦ Một chuỗi các máy tính thuộc loại khac nhau được kết nối
◦ Chúng có thể hoạt động cùng nhau thông
qua việc trao đổi thông điệp
◦ Bản chất của Internet là một cấu trsuc mở :
có thể dễ dàng thêm vào các tài nguyên
Trang 25Ví dụ HTPT
Mạng di động
Trang 26Các thuật ngữ chính
Dịch vụ (Service)
“Một phần tách biệt của một hệ thống máy tính quản trị một tập hợp tài nguyên liên quan và cho phép các người dùng và các ứng dụng sử dụng các chức năng của nó”
[Coulouris et al, 2001]
◦ Ví dụ,
Truy xuất các tập tin được chia sẽ thông qua “dịch vụ tập
tin” (file service)
Gởi tập tin đến máy in thông qua “dich vụ in” (print
service)
Thanh toán tiền mua hàng thông qua “dịch vụ thanh
toán”(payment service)
◦ Trong mỗi trường hợp, chúng ta truy xuất dịch vụ
thông qua tập hợp các chức năng mà dich vụ đó cho phép (interfaces của nó)
Trang 27Các thuật ngữ chính (tt.)
Một tiến trình (Process)
một máy tính nối mạng chấp nhận yêu
trên các máy tính khác để thực hiện một dịch vụ và trả kết quả tương ứng”
Trang 28Các thuật ngữ chính (tt.)
Khách – chủ (Client – Server)
◦ Các thông điệp yêu cầu từ client gởi đến server
client được gọi là yêu cầu (invoke) một tác vụ trên server
Toàn bộ sự tương tác giữa client và server được gọi
là một sự triệu gọi từ xa(remote invocation)
◦ Một server có thể gởi một yêu cầu đến một server khác
Như vậy một server cũng có thể được coi như một client của một server khác
◦ Thuật ngữ Client hay Server phản ánh vai trò trong
giao tác thực hiện của tiến trình đang thực thi
Trang 29◦ Phần cứng máy tính (Computer hardware )
◦ Hệ điều hành (Operating systems)
◦ Ngôn ngữ lập trình (Programming languages)
◦ Các cài đặt khác nhau của những người phát triển khác nhau
Truyền thông giữa các thành phần của một hệ thống không đồng nhất phải thông qua những chuẩn thống nhất chung Đây chính là
MIDDLEWARE
Trang 30vì trao đổi trực tiếp đến hệ thống khác
Trang 31hệ thống khác nhau lại với nhau
Trang 32◦ Các hệ thống mở được đặc trưng bởi các interface
◦ Một hệ thống phân tán mở dựa trên một cơ chế truyền tin đồng nhất
◦ Một hệ thống phân tán mở có thể được xây dựng từ các thành phần không đồng nhất Tuy vậy, sự tương
Trang 33Interfaces
A system
A system
A system
Các hệ thống (phần mềm và phần cứng) có thể khác nhau vậy làm sao chúng có thể kết nối với nhau ?
A network
A network
Trang 34Interfaces
Interfaces: dựa trên những chuẩn đã được thống nhất
A system
Phát triển hệ thống dựa trên các interface
Một interface được gán kết
vào một interface khác khớp
với nó
Trang 36Chúng chỉ cần khớp với nhau để có thể kết nối được
Trang 37chống lại các truy xuất tài nguyên
◦ Tính nhất quán (Integrity): bảo vệ
chống lại sự hư hại
Trang 38Tính bảo mật (tt.)
Xét một truyền thông giữa Client và Server
Chúng ta cần làm gì để bảo mật?
◦ Chúng ta không chỉ cần bảo mật thông điệp mà,
Chúng ta cũng cần xem xét người gởi và người nhận có
Trang 39Tính t ă ng trưởng (Scalability)
Một hệ thống được gọi là có tính tăng trưởng nếu nó vẫn hoạt động hiệu quả khi tăng tài nguyên và sử sử dụng
internet là một hệ thống tăng trưởng kích thước đáng ngạc nhiên:
Computers Web servers
Trang 40Tính t ă ng trưởng (tt.)
◦ Kiểm soát chi phí của các tài nguyên vật lý
◦ Kiểm soát sự mát hiệu năng hệ thống
◦ Ngăn ngừa các tài nguyên phần mềm chạy hết công suất
◦ Tránh hiện tượng nghẽn cổ chai (bottleneck)
Trang 41Kiểm soát sự cố (Failure
Trang 42Kiểm soát sự cố (Failure
◦ Một vài sự cố có thể được che dấu (thông
thông điệp không thẻ đến được người nhận có thể được gởi lại, một RAID arrays lưu trữ các bản sao dữ liệu, etc.)
Trang 43Quản lý sự cố (Failure
handling)
Khả năng chịu lỗi
◦ Chúng ta có thể chịu lỗi và thông báo đến tiến trình và người dùng
◦ Nhưng nó lại có vấn đề về tính nhất quán của các dịch
vụ được nhân bản này
◦ Làm thế nào chúng ta bảo đảm tính đúng đắn?
Trang 44Đồng thời (Concurrency)
Truy xuất vào cùng một tài nguyên
từ nhiều tiến trình khác nhau cùng một lúc
Sử dụng khái niệm giao tác
Lập lich cho các giao tác