1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu Luận Môn Học Hệ Phân Tán – Distributed Web Based System

25 481 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

TRƯỜNG ĐẠI HỌC QUỐC GIA HÀ NỘI ĐẠI HỌC CÔNG NGHỆ ***************** TIỂU LUẬN MÔN HỌC HỆ PHÂN TÁN Đề tài: Distributed-Web-Based-System Giảng viên hướng dẫn: TS Trần Thị Minh Châu Thực hiện: Nguyễn Ngọc Thế - Nguyễn Thị Ngọc Tú Lớp: k17 Hà Nội – 01/2011 MỤC LỤC 1.1 Kiến trúc chung 1.1.1 Mô hình truyền thống 1.1.2 Mô hình dịch vụ web 1.2 Các tiến trình hệ phân tán web 1.2.1 Tiến trình phía Client 1.2.2 Tiến trình máy chủ Web 1.2.3 Cơ chế chạy Clustering máy chủ 10 1.3 Cơ chế truyền thông 11 1.3.1 Giao thức HTTP 11 1.3.2 Giao thức SOAP 14 1.4 Cơ chế định danh 14 1.5 Cơ chế đồng 15 1.6 Cơ chế quán nhân 16 1.6.1 Cơ chế Proxy Caching 17 1.6.2 Nhân ứng dụng web (Chi tiết) 17 1.7 Khả chịu lỗi 17 1.8 Tính an toàn, bảo mật hệ thống 24 TÀI LIỆU THAM KHẢO 25 TÌM HIỂU VỀ HỆ PHÂN TÁN DỰA TRÊN NỀN TẢNG WEB 1.1 Kiến trúc chung 1.1.1 Mô hình truyền thống Lúc khởi đầu hệ phân tán với mô thức web không khác nhiều so với hệ phân tán khác Tuy nhiên trình phát triển, tài liệu chia sẻ web từ tài liệu tĩnh, bị động chuyển thành tài liệu động, có tính tương tác cao Thêm nữa, hệ thống web không phục vụ việc chia sẻ tài liệu, thông tin, hệ thống web phát triển theo hướng cung cấp dịch vụ khác 1.1.1.1Mô hình chung Hệ phân tán dựa mô thức web tổ chức theo mô hình client-server Trong có thành phần là: • • • Client với phần mềm trình duyệt (Browser) Web Server Cơ sở liệu chứa tài liệu yêu cầu, thường nằm Web Server Dưới mô hình tổ chức hệ truyền thống Hình 1.1: Mô hình tổ chức hệ phân tán web truyền thống (Figure 12-1 Distributed Systems: Principles and Paradigms) Ở ta trình bày số khái niệm cần thiết: • • • Một tài liệu xác định thông qua thông tin nơi lưu trữ bao gồm định danh server, tên tài liệu, vị trí hệ thống file Thông tin tài liệu thể dạng URL URL không chứa thông tin vị trí tài liệu mà chứa thông tin giao thức tầng ứng dụng sử dụng để truyền tài liệu mạng Phần mềm trình duyệt phần mềm Client sử dụng để tương tác với Web Server • Tương tác Client Web Server dựa vào giao thức chuẩn HTTP (HyperText Transfer Protocol) Cơ chế hoạt động hệ thống sau: • • • • Client thực yêu cầu tài liệu sở liệu thông qua trình duyệt (mà cụ thể thông qua URL), gửi tin HTTP yêu cầu tới Web Server Ở phía Server tồn tiến trình có khả truy cập vào sở liệu Tiến trình thực truy cập lấy tài liệu từ sở liệu Server sau xử lý trả lại Client thông tin, thông tin báo lỗi không tìm tài liệu, nội dung tài liệu, v v 1.1.1.2Một số ngôn ngữ web Tài liệu- thông tin chia sẻ mạng phân chia tương đối làm hai phần: • • Một phần sử dụng template cho phần lại, mô tả đặc điểm vị trí, cách bố trí, nền, font, v v cho phần liệu lại Các ngôn ngữ liệu web sử dụng cho phần Phần lại thông tin thực tế lưu trữ mà người dùng yêu cầu Một số ngôn ngữ web thường sử dụng như: HTML, XML.Các ngôn ngữ không cung cấp thông tin việc thể liệu cho người dùng, mà cung cấp thông tin liệu khác giúp biết loại file, loại định dạng, v v thành phần tạo nên liệu Các ngôn ngữ có khả thông qua việc sử dụng chế MIME để phân biệt nội dung liệu Bảng cho ta thấy kiểu kiểu định nghĩa MIME Bảng 1.1: Các kiểu liệu kiểu liệu định nghĩa với MIME (Figure 12-2 Distributed Systems: Principles and Paradigms) 1.1.1.3Mô hình truyền thống với kiến trúc đa tầng Ngôn ngữ Web HTML, XML phối hợp với ngôn ngữ script thực cho thấy phương tiện mạnh để thể liệu Web Tuy nhiên, chưa sâu vào chế hoạt động Cho tới tại, Web không dừng lại kiến trúc hai tầng đơn giản client-server, mà qua thời gian phát triển với kiến trúc đa tầng, với nhiều thành phần nhằm hỗ trợ tốt kiểu liệu khác mà phần trước đề cập qua bảng 1.1 phần Một cải tiến so với kiến trúc việc sử dụng CGI (Common Gateway Interface) nhằm cung cấp tương tác cho người dùng Thông qua Interface này, Web server chạy chương trình với liệu đầu vào người dùng cung cấp Cơ chế trình thể hình 1.2 Hình 1.2: Chương trình CGI phía Server (Figure 12-3 Distributed Systems: Principles and Paradigms) Qua hình 1.2 ta thấy chế hoạt động sử dụng CGI sau: • • • • Người dùng nhập vào form chứa tham số cần thiết Thông tin chương trình thông số Client gửi tới Server Khi Server nhận tin yêu cầu từ phía Client, chạy chương trình đề cập tin với thông số kèm Sau đó, chương trình tương tác với cở sở liệu, xử lý tạo văn HTML Văn trả lại cho Server Server thực trả lại văn cho phía Client Qua đó, ta thấy Server hoàn toàn ủy quyền việc xử lý yêu cầu cho phía chương trình CGI Đây kiến trúc tầng phía Server Ngày nay, Server không dừng lại kiến trúc tầng Một ví dụ cho kiến trúc lấy từ việc người dùng vào trang Web bán hàng: • • Các ứng dụng Java Servlet quản lý thông tin mòn hàng người dùng mua, thực gợi ý, lưu trữ hàng ưa thích, v v Khi người dùng thực việc tìm kiếm theo từ khóa đó, phía Web Server phải chuyển yêu cầu tới chương trình • • • Chương trình thực gửi truy vấn tới sở liệu Phía sở liệu trả lại kết truy vấn Chương trình thực tạo trang web danh sách tìm kiếm trả lại Web Server Web Server trả lại thông tin cho người dùng Như thấy, kiến trúc tầng hình thành, bao gồm Web Server, Application Server (Server chạy ứng dụng), Cơ sở liệu Kiến trúc tầng hình thành đặt vấn đề: giảm hiệu hệ thống Việc phân chia rõ ràng tầng điều cần thiết, Server ứng dụng Cơ sở liệu phải chịu tải lớn Vấn đề bàn đến phần 1.6 tiểu luận 1.1.2 Mô hình dịch vụ web Hệ phân tán với mô thức web phát triển tới mức cung cấp dịch vụ cho ứng dụng từ xa Các phần mềm trình duyệt phía Client không giao diện hiển thị nội dung cho người sử dụng 1.1.2.1Mô hình chung Dịch vụ Web giống dịch vụ thông thường dịch vụ định danh, cung cấp địa chỉ, mail, v v Chúng cung cấp qua Internet tuân theo số chuẩn định Hình cho ta thấy mô hình chế hoạt động dịch vụ Web Hình 1.3: Mô hình dịch vụ Web (Figure 12-4 Distributed Systems: Principles and Paradigms) Cơ chế chung mô hình việc ứng dụng phía Client gọi dịch vụ từ ứng dụng phía Server Quá trình thực dựa chuẩn hóa Về mặt đó, chế gần giống với chế gọi thủ tục từ xa (RPC) Ở ta trình bày số khái niệm cần thiết để hiểu rõ hình 1.3: • • • UDDI directory chứa mô tả dịch vụ cần thiết Nó sở liệu giúp cho Client truy cập tìm kiếm dịch vụ phù hợp Các dịch vụ nằm UDDI mô tả thông qua ngôn ngữ WSDL Ngôn ngữ tương tự ngôn ngữ IDL RPC Ngôn ngữ WSDL mô tả thủ tục, kiểu liệu, nơi chứa dịch vụ, v v Client Server trao đổi thông qua giao thức SOAP, giao thức chuẩn cho tiến trình liên lạc với Giao thức đề cập đến chi tiết phần sau tiểu luận Tóm lại, ta có chế làm việc mô hình dịch vụ Web sau: • • • • • Các dịch vụ máy chủ công bố phía UDDI Cơ sở liệu lưu lại mô tả dịch vụ ngôn ngữ WSDL Khi Client cần đến dịch vụ, tìm kiếm dịch vụ UDDI UDDI trả kết cho Client Client biết dịch vụ qua mô tả trả qua ngôn ngữ WSDL Client thực kết nối đến máy chủ qua giao thức SOAP gọi dịch vụ Từ đây, trình trao đổi diễn bình thường thông qua giao thức SOAP 1.1.2.2Thành phần điều phối dịch vụ Web Như trình bày, mô hình dịch vụ Web hình dung tương đối đơn giản việc dịch vụ triển khai dạng ứng dụng gọi thông qua chuẩn Tuy nhiên, ứng dụng lại phức tạp ứng dụng phân tán hệ thống mạng Ở trường hợp này, người ta sử dụng proxy nội mạng nhằm tương tác với thành phần ứng dụng phân tán Proxy đảm bảo cho phía Client suốt với phân tán ứng dụng Trong mô hình, thấy ứng dụng cung cấp thông qua bước gọi (Look up a Service - Hình 1.3) Tuy nhiên, thực tế mô hình gọi phức tạp nhiều Đơn cử người dùng thực mua sách từ trang Web thương mại điện tử Một việc tưởng chừng đơn giản bao gồm việc chọn lựa, việc toán, việc lấy thông tin giao hàng Dịch vụ giao dịch chia làm nhiều bước có thứ tự Hay nói cách khác, dịch vụ cung cấp bao gồm dịch vụ khác Sự phức tạp tăng lên người ta phải kết hợp trang Web dịch vụ nhà cung cấp dịch vụ khác Vẫn lấy mô hình trang Web thương mại làm ví dụ, trang Web bao gồm dịch vụ khác sau: • • • Lựa chọn mặt hàng từ nhà cung cấp mặt hàng Tiến hành toán thông qua hệ thống banking ngân hàng Nhập thông tin giao hàng công ty chuyển phát nhanh cung cấp Như vậy, phía người dùng dịch vụ cung cấp trang Web, thực tế phía cung cấp dịch vụ lại kết hợp nhiều nhà cung cấp dịch vụ khác Như vậy, vấn đề (Ứng dụng phân tán; Sự phức tạp giao dịch; Sự tham gia nhiều nhà cung cấp dịch vụ) đặt nhu cầu phải điều phối dịch vụ này, cho chúng kết hợp với nhau, phải tạo suốt hệ thống với người dùng Việc điều phối đặt thực giao thức điều phối Những giao thức đưa luật bước cần thực dịch vụ, đồng thời buộc dịch vụ phía phải tuân thủ theo Để đạt điều đó, người ta định nghĩa dịch vụ riêng dùng để cung cấp giao thức điều phối Các tiến trình thực đăng ký với giao thức điều phối tham gia 1.2 Các tiến trình hệ phân tán web Tại phần này, nghiên cứu tiến trình hệ phân tán theo mô thức Web 1.2.1 Tiến trình phía Client Ở ta xét đến hai tiến trình thường gặp môi trường Web phía Client, tiến trình trình duyệt Web Web proxy 1.2.1.1Tiến trình trình duyệt Web Trình duyệt Web phía Client giúp người dùng xem nội dung trang Web, cung cấp cho người dùng liên kết mà người dùng dễ dàng chọn Hình 1.4: Các thành phần logic trình duyệt Web (Figure 12-5 Distributed Systems: Principles and Paradigms) Như hình 1.4, thấy thành phần logic trình duyệt Web bao gồm thành phần chính: • • • Rendering Engine: Engine chịu trách nhiệm hiển thị văn HTML hay XML lên hình Nó chứa thành phần có khả năng: Tạo liên kết, giao tiếp mạng Xử lý ngôn ngữ HTML, XML Phiên dịch script văn Browser Engine: Engine trung tâm trình duyệt, cung cấp cho người dùng chế xem văn bản, chia thành phần, lựa chọn phần văn bản, vào liên kết, v v User Interface: Engine cung cấp giao diện cho người dùng Ngoài ra, trình duyệt không phụ thuộc tảng chạy, User Interface với Browser Engine chạy thư viện đồ họa chuẩn thể hình (Display back end) 1.2.1.2Tiến trình Web Proxy Một tiến trình khác kể đến phía Client tiến trình chạy Web proxy Một chức thể hình Hình 1.5: Trường hợp sử dụng Web proxy có bất đồng giao thức (Figure 12-6 Distributed Systems: Principles and Paradigms) Web proxy lúc tạo có mục đích nhằm cho phép trình duyệt xử lý giao thức mức ứng dụng khác với HTTP Tuy nhiên thời điểm tại, trình duyệt có khả xử lý nhiều giao thức khác không cần tới chức Web proxy sau sử dụng cho nhiều mục đích khác caching, nén, ghi log, v v Những tính đề cập đến phần 1.6 - Cơ chế quán nhân 1.2.2 Tiến trình máy chủ Web Chúng ta nghiên cứu tiến trình phía máy chủ thông qua Web server thông dụng tính tới thời điểm (Chiếm 70% lượng sử dụng giới), Apache Hai ưu điểm bật Apache kể đến là: • • • Chạy độc lập với tảng Server: Apache thực điều cách sử dụng tảng chạy tạo nhằm chạy hệ điều hành khác Môi trường gọi APR (Apache Portable Runtime) Đây thư viện cung cấp giao diện cho việc xử lý file, kết nối mạng, xử lý luồng, v v Khi chạy, thay lời gọi tới thư viện tảng Apache cài trên, tiến trình gọi tới thư viện APR Dễ mở rộng tính năng: Apache có khả mở rộng thêm nhiều tính thông qua thư viện mình, mà đảm bảo cho phần mở rộng phát triển độc lập Đơn cử mô hình nhân thích nghi (Adaptive Replicate) Tổ chức chế hoạt động Apache miêu tả qua hình vẽ đây: Hình 1.6: Trường hợp sử dụng Web proxy có bất đồng giao thức (Figure 12-7 Distributed Systems: Principles and Paradigms) Trong sơ đồ đặt đây, thấy khái niệm hook, nhóm chức có chung nhiệm vụ Các nhóm chức cung cấp thông qua module riêng Các module có độc lập với Một ví dụ có hook làm nhiệm vụ chuyển đổi từ URL thành vị trí cần thiết hệ thống file, có hook làm nhiệm vụ viết log, v v 1.2.3 Cơ chế chạy Clustering máy chủ Một vấn đề cung cấp dịch vụ Web việc Web Server dễ dàng bị tải Chính phải có chế chạy nhiều máy chủ Đó chế Clustering Cơ chế đề cập phần 1.6, “Cơ chế quán nhân bản” Ở xem xét mặt tiến trình thực hệ thống máy chủ Hình 1.7: Hệ thống Web Server Cluster với máy Front-End (Figure 12-8 Distributed Systems: Principles and Paradigms) Với chế Clustering, hệ thống có máy chủ Front End để nhận yêu cầu,chuyển yêu cầu tới máy chủ Web, nhận trả lời từ máy chủ Web, gửi cho phía yêu cầu Cơ chế gửi tuần tự, có chế theo dõi để gửi yêu cầu đến máy chủ chịu tải Ngoài ra, với hệ thống Web server, cấu hình hệ thống Content-Aware Cluster Hệ thống có Front-End làm nhiệm vụ nhận chuyển tiếp yêu cầu Hình 1.8: Cơ chế hoạt động mô hình Content-Aware Cluster (Figure 12-9 Distributed Systems: Principles and Paradigms) 10 Ý tưởng việc triển khai Content-Aware Cluster việc có phần tử Dispatcher biết nội dung gói tin liên tục điều khiển loại gói tin server Làm giúp Web server phục vụ nhanh thông qua chế caching, nên hầu hết thời gian chạy tiến trình lấy liệu từ sở liệu Ngoài ra, việc lựa chọn giúp hệ thống phân tải cho Server cho hợp lý Cơ chế hoạt động mô sau: • • • • • • • Client gửi yêu cầu tới hệ thống Switch Front End chuyển tiến yêu cầu (bản tin TCP Request) tới Web server hay gọi Distributor Distributor nhận tin không xử lý mà tương tác với Dispatcher xem máy chủ Web xử lý tin Dispatcher định máy chủ xử lý tin Bản tin TCP gửi tới cho máy chủ Web chọn, trình TCP Hand off Web server chọn thiết lập kết nối TCP với Client Switch Front-End thông báo điều này, sau tất kết nối Để đạt hiệu phân tải tốt người ta dùng nhiều cách khác chia VLAN ứng dụng giao thức Gateway(GLBP, VRRP, v v ) , sử dụng chế DNS Đã đạt mục tiêu xem xét tiến trình phía máy chủ Clustering 1.3 Cơ chế truyền thông Đối với hệ phân tán mô thức Web, giao thức sử dụng thông dụng Giao thức truyền thống HTTP sử dụng để trao đổi tin Còn phía dịch vụ Web có giao thức SOAP, CORBA Ở đây, nghiên cứu chế truyền thông hệ phân tán mô thức Web với hai giao thức HTTP SOAP 1.3.1 Giao thức HTTP Các giao tiếp Client Server dựa giao thức HTTP, HTTP giao thức client-server đơn giản Cơ chế Client gửi tin yêu cầu tới Server chờ thông tin trả từ phía server 1.3.1.1Kết nối HTTP Giao thức HTTP xây dựng dựa tảng TCP Sau nhận yêu cầu từ phía Client, Server thiết lập kết nối TCP với Client Thông qua tảng TCP, giao thức HTTP triển khai tính chống lỗi, ACK, v v 11 Hình 1.9: Cơ chế kết nối HTTP dựa TCP (hai phiên HTTP cũ mới) (Figure 12-10 Distributed Systems: Principles and Paradigms) Với phiên HTTP cũ, HTTP không tận dụng tốt giao thức TCP yêu cầu từ Client phải dựng kết nối TCP, làm cho Server phải chịu tải nặng Với phiên HTTP tại, kết nối TCP phục vụ nhiều yêu cầu từ Client Như chế truyền thông giúp tiết kiệm thời gian dựng kết nối, số lượng kết nối TCP, từ giảm tải cho hệ thống 1.3.1.2Các phương thức HTTP HTTP thiết kế dạng giao thức client-server hướng tới việc chuyển tài liệu theo hai chiều Một Client yêu cầu gửi nhận tài liệu thông qua tin yêu cầu với kiểu khác Dưới kiểu gói tin yêu cầu HTTP: Hình 1.10: Các loại tin yêu cầu giao thức HTTP (Figure 12-11 Distributed Systems: Principles and Paradigms) 1.3.1.3Định dạng gói tin HTTP Tất giao tiếp Client-Server thông qua gói tin Định dạng gói tin HTTP bao gồm phần hình đây: 12 Hình 1.11: Các loại tin yêu cầu giao thức HTTP (Figure 12-12 Distributed Systems: Principles and Paradigms) Ba phần bao gồm: • • • Dòng yêu cầu Header tin yêu cầu Nội dung cụ thể tin Trong đó, dòng yêu cầu chứa thông tin phương thức sử dụng Client Server Đó phương thức yêu cầu chuyển tài liệu mà ta nhắc tới phần Các Header tin cung cấp thông tin phiên HTTP sử dụng, đồng thời chứa thông số trạng thái tài liệu Ví dụ như: 405 - “Method not allowed” Hình cho ta thấy số header tin HTTP Hình 1.12: Một số loại tin yêu cầu giao thức HTTP (Figure 12-13 Distributed Systems: Principles and Paradigms) 13 1.3.2 Giao thức SOAP Trong HTTP giao thức truyền thống sử dụng cho hệ phân tán mô thức Web, giao thức SOAP (Simple Object Acces) sử dụng chuẩn truyền thông cho dịch vụ Web Hầu hết việc truyền thông với SOAP sử dụng giao thức HTTP Mục đích SOAP việc cung cấp khả giao tiếp cho nhóm cung cấp dịch vụ khác nhau, Một gói SOAP thông thường bao gồm phần, phần thông tin cần chuyển phần header chứa thông tin node gói tin qua người gửi người nhận Các node thành phần hệ thống dịch vụ Web nhiều tầng SOAP có hai kiểu tương tác Kiểu thứ nhất, SOAP cung cấp khả trao đổi thông tin nhóm cung cấp dịch vụ Kiểu thứ hai, SOAP cung cấp khả triệu gọi dịch vụ giống chế RPC Việc cung cấp dịch vụ Web sử dụng đến SOAP, nhiên ngày phần đầu giới thiệu , SOAP sử dụng kết hợp với WSDL UDDI để cung cấp dịch vụ Web Hình 1.13: Mô hình dịch vụ Web (Figure 12-4 Distributed Systems: Principles and Paradigms) Trong phạm vi tiểu luận không chi tiết vào SOAP WSDL UDDI, nhiên nắm chế 1.4 Cơ chế định danh Web sử dụng chế định danh cho tài liệu cung cấp Cơ chế định danh thông qua URI (Uniform Resource Identifiers) URI có hai dạng: • URL (Uniform Resource Locator):URL chịu trách nhiệm xác định tài liệu nằm đâu truy cập cách hệ thống 14 • URN (Uniform Resource Name):URN chịu trách nhiệm chế định danh chung cho toàn giới, không phụ thuộc vào hệ thống riêng Sự khác URL URN ngày trở nên nhỏ Dưới đưa ví dụ cấu trúc URL thường sử dụng Web: Hình 1.14: Mô hình dịch vụ Web (Figure 12-15 Distributed Systems: Principles and Paradigms) Như ta thấy URL cung cấp cho thông tin như: Giao thức; Tên Host; Port; Pathname Từ tên host sử dụng chế DNS để biết địa IP host Sau đó, ta biết tài liệu nằm vị trí mạng (Host name), sử dụng giao thức để lấy tài liệu (Scheme), giao tiếp với máy chủ thông qua port (Port), vào vị trí tài liệu hệ thống máy (Pathname) Dưới số ví dụ định danh với giao thức, định dạng khác nhau: Hình 1.15: Mô hình dịch vụ Web (Figure 12-16 Distributed Systems: Principles and Paradigms) Data URI loại URI chưa liệu nhúng vào URI sử dụng số trường hợp khác việc định danh tài liệu Ví dụ sử dụng cho phiên telnet, dựng kết nối modem với máy, v v Tuy nhiên, cách sử dụng không thường gặp 1.5 Cơ chế đồng Vấn đề đồng hệ thống Web truyền thống vấn đề đáng quan tâm hai lý sau: • Đầu tiên, với chế tổ chức client server, giao thức sử dụng, việc đồng không cần thiết 15 • Thứ hai, Web hệ thống mà có thay đổi liệu nhiều người dùng thực thể, có xung đột Tuy nhiên, với hệ thống Web tại, mà tồn việc cung cấp hỗ trợ cho nhiều thành phần dịch vụ hệ thống, người ta không thực đồng hóa Quá trình đồng giải thông qua giao thức riêng, WebDAV (Web Distributed Authoring and Versioning) WebDAV cung cấp chế khóa tài liệu có truy cập, chế tạo phiên bản, xóa, sao, v v Nhằm đồng hóa, WebDAV sử dụng hai chế khóa: • • Cơ chế khóa Client thực chỉnh sửa tài liệu, lúc Client khác bị khóa chức chỉnh sửa (quyền write) Cơ chế khóa cho nhóm người sử dụng Cơ chế cho phép nhóm người dùng chỉnh sửa phần khác tài liệu Tuy nhiên người dùng phải tự quan tâm tới vấn đề xung đột chỉnh sửa Khi Client cần chỉnh sửa tài liệu, Client phải truy cập tới Server yêu cầu quyền lấy khóa (Key token) Sau liệu chỉnh sửa, Client gửi Server qua tin HTTP Post, với chứng minh quyền sửa liệu (Key token) Ở có vấn đề đặt Client không trả lại quyền chỉnh sửa bị cố Lúc này, Server cần có chế để lấy lại khóa Tuy nhiên với WebDAV, chế không định nghĩa mà để mở cho mục đích triển khai khác 1.6 Cơ chế quán nhân Càng ngày ứng dụng web lại quan tâm tới vấn để hiệu tính xác Đặc biệt với hệ thống phục vụ nhiều người dùng, cung cấp dịch vụ nhạy cảm ngân hàng, giao dịch tiền bạc, bảng hệ thống chứng khoán trực tuyến Những hệ thống phải đảm bảo không chậm trễ, đồng thời luôn có tính chịu lỗi cao Với việc đảm bảo hiệu hệ thống giải pháp qua chế caching liệu (lưu thông tin liệu yêu cầu client) nhằm đáp ứng lại làm giảm thời gian truyền thông tin giảm xử lý phía server Và đồng thời với việc tạo nhiều ứng dụng giống nhiều server khác Sẽ góp phần đáp ứng nhanh nhu cầu cầu người dùng Hệ thống có chế quán Đảm bảo không khiến thông tin trả khách hàng bị sai lệch nhầm lẫn Khi có nhiều máy chủ chạy song song giúp đảm bảo tính an toàn Khi server bị gián đoạn không làm ảnh hưởng nhiều tới hệ thống 16 1.6.1 Cơ chế Proxy Caching Caching client-side thường xuất vị trí Thứ nhất, đệm trình duyệt Mỗi lấy liệu website thường lưu lại đệm Khi có yêu cầu lấy lại liệu kiểm tra nhớ đệm trước Nếu có sử dụng Bộ đệm trình duyệt người dùng cấu hình Thứ hai, đệm lưu web proxy Web proxy làm cầu nối Client Server lưu liệu lần request trước để sử dụng cho lần sau Hình 6.1: Mô hình dịch vụ Web (Figure 12-17 Distributed Systems: Principles and Paradigms) Cơ chế để đảm bảo tính quán liệu: lần gửi request tới web Proxy web proxy lại gửi xác thực tới server xem liệu có bị thay đổi hay không Nếu liệu không bị thay đổi gửi cho client Còn không Web Server gửi liệu lại cho Web Proxy Web Proxy gửi liệu cho phía client lưu lại liệu Cơ chế chủ yếu phù hợp với web tĩnh 1.6.2 Nhân ứng dụng web Trong phần giới thiệu với bạn mô hình “Nhân Bản Một Ứng Dụng Web Động “ vào phân tích ứng dụng thực tế để thấy rõ ưu điểm, nhược điểm, đánh giá khó khăn áp dụng mô hình phân tán Mô hình thứ : Mô hình theo sách giáo khoa 17 Hình 6.2: Caching nhân với ứng dụng Web (Figure 12-21 Distributed Systems: Principles and Paradigms) Mô hình thứ hai: Của tác giả Swaminathan Sivasubramaniam, Guillaume Pierre, Maarten van Steen (a) edge computing (b) content-aware caching, (c) content-blind caching (d) data replication 18 Giải thích thành phần mô hình: Edge server: Server biên Có thể chứa lưu toàn ứng dụng web hay chứa phần ứng dụng Origin server: Server trung tâm Nơi chứa ứng dụng web Phục vụ cho tác vụ từ server biên Content – aware Caching Thay giữ đầy đủ hệ thống sở liệu CAC lưu lại kết truy vấn sở liệu mã ứng dụng chúng Kiểm tra ngăn chặn truy vấn: Các ứng dụng chạy server biên (edge-server) kiểm tra sở liệu địa phương có đủ liệu để trả lời truy vấn địa phương tự trả lời Chúng kết hợp liệu server (origin-server) server biên để trả cho phía client CAC lưu trữ kết câu truy vấn Ví dụ: Query 1: select * from items where price < 50 Query 2: select * from items where price < 20 Query template: “Select * from items where price 4000 Page /1h > 100Page/1s Thời gian / Trang Chi tiết 5s 1.5s 22 Thao tác với server Hoàn toàn Rất Chip sử dụng SQL 80 -> 100%(máy chủ dẽ bị tổn thương) 5-> 15% (máy chủ phải hoạt động) 300 MB 700MB Nhanh Chậm Bộ nhớ ứng dụng (w3wp.exe) Tính cập nhật liệu Demo ứng dụng qua internet Truy cập vào qua máy tính cài đăt qua logmein Mô tả kiến trúc database, chạy thử trính Caching liệu Phân tích rủi ro gặp phải ứng dụng thực 1.7 Khả chịu lỗi Khả chịu lỗi hệ phân tán dựa mô thức Web chủ yếu dựa vào chế Caching Nhân Với giao thức HTTP chế trợ giúp chống lỗi hay phục hồi Tuy nhiên việc hoạt động TCP cho việc truyền thông khả chống lỗi phục hồi định Với Web Server, người ta thực dự phòng qua chế nhân bản, đồng thời cung cấp địa Web Server qua DNS giúp thực việc phân tải hệ thống Đối với dịch vụ Web việc chống lỗi trở nên cần thiết Với dịch vụ nhạy cảm, ví dụ dịch vụ chuyển tiền, khả chịu lỗi đóng vai trò quan trọng Nó không liên quan tới đường truyền mà liên quan tới kiến trúc đa lớp Client Server Tuy nhiên, việc dự phòng thành phần hệ thống, giao thức có khả chịu lỗi điều đáng quan tâm Những vấn đề sau cần quan tâm với giao thức cung cấp khả chịu lỗi hệ phân tán Web: • • • Giao thức chống lỗi nhìn ứng dụng Web Nó phải ẩn người dùng Giao thức chống lỗi thân tiến trình thu thập xử lý thông tin tiến trình khác Sau có lỗi phải thực xử lý phù hợp cho tiến trình gặp lỗi Giao thức chống lỗi phải đảm bảo quán trả lời thành phần nhân bản, để đảm bảo tính quán thành phần Giao thức chống lỗi phải coi dịch vụ cung cấp thực thể, nghĩa thành phần thu thập thông tin nhận đủ tất thông báo từ thành phần nhân bản, đưa xử lý phù hợp 23 1.8 Tính an toàn, bảo mật hệ thống Với đặc tính mở hệ thống Internet, việc xây dựng kiến trúc bảo mật Client Server điều quan trọng Hầu hết giải pháp với hệ thống Web việc xây dựng tuyến bảo mật Client Server, hay nói cách khác bảo mật thông tin truyền qua mạng thông qua mã hóa Thông thường thực tế người ta sử dụng giao thức mã hóa TLS hay SSL để bảo mật Hình cho ta thấy vị trí giao thức TLS mô hình OSI: Hình 1.19: Vị trí TLS mô hình OSI (Figure 12-22 Distributed Systems: Principles and Paradigms) Chúng ta xem xét việc xây dựng tuyến bảo mật qua việc thiết lập phiên truyền liệu TLS qua hình vẽ sau: Hình 1.20: TLS xác thực (Figure 12-23 Distributed Systems: Principles and Paradigms) Như vậy, ta thấy việc thiết lập kết nối bảo mật bao gồm giai đoạn: • • Giai đoạn 1: Client thông báo tới Server thuật toán mã hóa chuẩn nén mà Client hỗ trợ Server lựa chọn thuật toán chuẩn nén cho kết nối gửi trả lại thông tin cho phía Client Giai đoạn 2: Giai đoạn giai đoạn xác thực Client Server Server xác thực (chứng minh Server) thông qua chứng thư Nếu Server yêu cầu Client phải xác thực Client phải xác thực với Server Sau trình xác thực, Server Client thực thỏa thuận số tham số dành cho việc mã hóa (Session key) Hai bên sử dụng tham số với hệ thống khóa công khai khóa riêng để mã hóa giải mã liệu 24 TÀI LIỆU THAM KHẢO [1] Andrew S.Tanenbaum, Maarten Van Steen, Distributed Systems - Principles and Paradigms, 2nd edition, Pearson Education, 2007 [2] Slide Web Distributer of Swaminathan Sivasubramaniam, Guillaume Pierre, Maarten van Steen [3] ASP.NET + MVC + SQL 2005 25 [...]... phía các máy chủ Clustering này 1.3 Cơ chế truyền thông Đối với hệ phân tán trên mô thức Web, các giao thức được sử dụng cũng khá thông dụng Giao thức truyền thống HTTP được sử dụng để trao đổi các bản tin Còn về phía dịch vụ Web thì có các giao thức như SOAP, CORBA Ở đây, chúng ta nghiên cứu cơ chế truyền thông của hệ phân tán mô thức Web với hai giao thức là HTTP và SOAP 1.3.1 Giao thức HTTP Các giao... HTTP Hình 1.12: Một số loại bản tin yêu cầu của giao thức HTTP (Figure 12-13 Distributed Systems: Principles and Paradigms) 13 1.3.2 Giao thức SOAP Trong khi HTTP là giao thức truyền thống sử dụng cho hệ phân tán trên mô thức Web, giao thức SOAP (Simple Object Acces) được sử dụng như một chuẩn truyền thông cho các dịch vụ Web Hầu hết việc truyền thông với SOAP được sử dụng trên nền giao thức HTTP Mục... cấu hình được Thứ hai, bộ đệm có thể được lưu ơ web proxy Web proxy làm cầu nối giữa Client và Server vì vậy nó có thể lưu dữ liệu của lần request trước để sử dụng cho các lần sau Hình 6.1: Mô hình dịch vụ Web (Figure 12-17 Distributed Systems: Principles and Paradigms) Cơ chế để đảm bảo tính nhất quán của dữ liệu: mỗi lần gửi request tới web Proxy thì web proxy lại gửi một xác thực tới server xem dữ... đổi thì nó sẽ lập tức gửi cho client Còn không thì Web Server sẽ gửi dữ liệu lại cho Web Proxy Web Proxy sẽ gửi dữ liệu mới cho phía client và lưu lại dữ liệu mới Cơ chế này chủ yếu phù hợp với web tĩnh 1.6.2 Nhân bản các ứng dụng web Trong phần này chúng tôi sẽ giới thiệu với các bạn 2 mô hình “Nhân Bản Một Ứng Dụng Web Động “ và chúng ta đi vào phân tích một ứng dụng thực tế để thấy rõ những ưu... thời gian có hạn và kinh nghiệm cải đặt một hệ thống lớn còn hạn chế nên chúng em demo một chương trình đơn giản sau : Ứng dụng mô hình phân tán vào website: Http://infomap.vn 21 Mô hình gồm: 1 Cài đặt 1 Edge-server 2 Cài đặt 1 Caching (CBC) 3 Cài đặt 1 Databse Master Bảng phân tích đánh giá hiệu năng khi áp dụng mô hình : Tiêu chuẩn Mô hình cũ Mô hình phân tán Cài đặt Dễ Khó Lượng người dùng có thể... cung cấp hỗ trợ cho nhiều thành phần dịch vụ của cùng một hệ thống, người ta không thể không thực hiện đồng bộ hóa Quá trình đồng bộ được giải quyết thông qua một giao thức riêng, đó là WebDAV (Web Distributed Authoring and Versioning) WebDAV cung cấp cơ chế khóa tài liệu khi có truy cập, cơ chế tạo các phiên bản, xóa, sao, v v Nhằm đồng bộ hóa, WebDAV sử dụng hai cơ chế khóa: • • Cơ chế khóa khi một... SOAP sử dụng kết hợp với WSDL và UDDI để cung cấp dịch vụ Web Hình 1.13: Mô hình dịch vụ Web (Figure 12-4 Distributed Systems: Principles and Paradigms) Trong phạm vi tiểu luận chúng ta không đi quá chi tiết vào SOAP cùng WSDL và UDDI, tuy nhiên chúng ta đã nắm được các cơ chế cơ bản của nó 1.4 Cơ chế định danh Web sử dụng một cơ chế định danh cho các tài liệu được cung cấp Cơ chế định danh này được... bằng cách nào trong một hệ thống 14 • URN (Uniform Resource Name):URN chịu trách nhiệm như là một cơ chế định danh chung cho toàn thế giới, không phụ thuộc vào một hệ thống riêng nào Sự khác nhau giữa URL và URN ngày nay trở nên hết sức nhỏ Dưới đây chúng ta đưa ra một ví dụ về các cấu trúc URL thường được sử dụng trong Web: Hình 1.14: Mô hình dịch vụ Web (Figure 12-15 Distributed Systems: Principles and... bộ Vấn đề đồng bộ đối với hệ thống Web truyền thống không phải là một vấn đề đáng quan tâm vì hai lý do sau: • Đầu tiên, với cơ chế tổ chức client server, và giao thức sử dụng, việc đồng bộ là không cần thiết 15 • Thứ hai, Web là một hệ thống mà ở đó ít khi có sự thay đổi dữ liệu của nhiều người dùng trên cùng một thực thể, vì thế ít khi có sự xung đột Tuy nhiên, với hệ thống Web hiện tại, khi mà tồn... trính Caching dữ liệu Phân tích các rủi ro gặp phải của nó trên ứng dụng thực 1.7 Khả năng chịu lỗi Khả năng chịu lỗi của hệ phân tán dựa trên mô thức Web cũng chủ yếu dựa vào các cơ chế Caching và Nhân bản Với giao thức HTTP thì không có cơ chế trợ giúp chống lỗi hay phục hồi Tuy nhiên việc hoạt động trên nền TCP cũng cho việc truyền thông khả năng chống lỗi phục hồi nhất định Với các Web Server, người

Ngày đăng: 17/05/2016, 22:45

TỪ KHÓA LIÊN QUAN

w