P2P là một mỏ hình triển khai ứng dụng phân tán, trong, đó mỗi node trong mạng được gợi là “peer” vừa đóng cá vai trả là nođe cung cấp lan nodc sử dụng địch vụ, khác với mô hình clent-s
Trang 1
BO GIAO DUC VA DAO TAO
TRUONG BAI HOC BACH KHOA HA NO!
LƯƠNG QUY THO
GIẢI PHÁP SỬ DỤNG P2P NIIƯ CÔNG CỤ TRUYEN THONG
CHO CÁC ỨNG DỰNG CLIENT-SERVER
Chuyên ngành : Công nghệ thông tin
TUẬN VĂN THẠC §Ĩ CÔNG NGHỆ THONG TIN
NGƯỜI HƯỚNG DẪN KIIOA HỌC:
PGS.TS IIA QUOC TRUNG
Hà Nội — 2013
Trang 2LOTCAM DOAN
Tôi là Lương Quy Thọ, học viên cao học lớp 11BCNTT khóa 2011B do giảo viên
hưởng din là PGS.TS 1a Quốc 'Irung hướng dẫn
'Tôi xin cam đoan toàn bộ nội dung duợc trình bày trong bản luận văn “Giới pháp
sử dụng P2P nh công cụ truyễn thông cha cde teng dung Client-Server" nay 1a két quả Lim hiểu và nghiên cứu của riêng lôi dưới sự hướng đẫn của PGS.TS Hà Quốc
Trung, Các kết quả và dữ liệu dược nêu trong luận văn là hoàn toàn trung thực và rõ rang Moi théng tin trích đẫn đều được tuân theo luật sở hữu trí tuệ, liệt kê rõ rằng các
tài liệu ưưn khảo Tôi xin chịu hoán toàn lrách nhiệm với những nội địng được viết
trong luận vẫn này,
Hà nội, ngày 18 tháng 12 năm 2013
Hoc viên
Tương Quy Thọ
Trang 4dung cache cé thé không giất quyết được bài toán chia sẽ dữ liệu roaltine, khi có nhiều
client cing đăng ký nhận thẳng tỉn broadoast từ server
Giải pháp khác có thể giải quyét bottleneck ở server là triển khai ứng dụng theo
xnô hình Peor-to-peer (F2P) P2P là một mỏ hình triển khai ứng dụng phân tán, trong,
đó mỗi node trong mạng (được gợi là “peer”) vừa đóng cá vai trả là nođe cung cấp lan
nodc sử dụng địch vụ, khác với mô hình clent-server trang dé client chi sit dung dịch
vụ cung cấp bởi server Việc mỗi node trong mô hình P2P vừa dóng vai trỏ lả node sử
dung Hin cung cân dịch vụ dẫn đến các xử lý trên toàn bộ hệ thống được phan chia ra
các nodc trong mạng do dỏ giải quyết vân để bottlencck của mô hình client-scrvcr, đặc biệt khi ứng dụng chia sẻ đữ liệu lớn, băng thông hệ thống được chia ra trên các máy, đâm bão khã năng mö rộng hệ thống với chi phí tối tru
‘Tuy nhién mồ hình P2P cũng có yếu điểm đó lá: triển khai phức tạp hơn do các
thao tác: tìm kiểm đữ liệu, lưu trữ phân tán đữ liệu trên các nođe và cáo cơ chế dam
‘bao đữ liệu sắm sàng kú có số lượng mode nhất định rời khỏi hệ thống Mặt khác mô tính P2P cũng khó khăn hơn trong việc bảo trí và năng cấp hệ thống so với ứng, dụng, client-server xử lý tập trung trên server Ngoài ra 1 điểm khác làm cho P2P không phải
lựa chọn số 1 cho các ứng dụng phân tán là tính an toàn của đữ liệu được lưu trữ phân
tan tại nhiều node Mét sé ing dụng thậm chí không thể triển khai theo mô hình P2P
do yêu cầu an toàn và lưu trữ tập trung dữ liệu: các ứng dụng có dữ liệu nhạy cứm: ứng dung ngan hang core-banking, img dung chimg khoán, ứng dụng mail
Qua các tìm hiểu ta có thể trên rút ra:
« Ứng dụng dựa trên mô binh Client-Server dé phát triển nhưng gặp server
batileneck va giới hạn bắng thông
© Ứng đụng đựa trên mẻ hình P2P làm hệ thống có tính co dan cao nhìmg khó
trién khai do: lookup service, protocol pluie tap,co ché phan tan dit liéu trên các
nods và đăm báo tính dữ liệu sẵn sảng cao phức †ạp.
Trang 5DANH MUC HiNH VE, DO THI Hinh 2.1: Mé hinh Client-Server enceetcsi
Hình 2.2: Trao đối dữ liệu giữa Client va Server trang chế độ bị phong tỏa
Hình 2.3: Năng lực xử lý của Nginx sơ với Apache web server
Hình 2.4: So sánh khả nẵng quán lý hộ nhớ giữa Nginx va Apache web server
Hình 2.5: Cơ chế hoạt động của blocking-server
Hình 3.6: cơ chế hoạt động của non-blocking server [ref|
Hình 2.7: Phân loại clieni
Hình 2.8: Phan loai Client-Server theo kiển trúc logic
Hinh 3.1: Caching model
Hình 3.2: Cơ chế hoạt đồng mô hình Caching model
Hình 3.3: Mô hình Local-Proxy
Hình 3.4: Shared-caching Model
Hình 3.5: Cơ chế hoạt động mô hình Shared-caching model
Hình 4.1: Mô hình hoạt động ứng dụng Quicknade
Hình 4.2: Cac module trong ứng dụng Quicknade
Hình 4.3: Tốc đô download P2P và Client-Server
Hình 4.4: Đồ thị thời gian và tốc độ download file (kích thước 48,11MB}
Trang 6
MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 7MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 8UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 9UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 10DANH MUC HiNH VE, DO THI Hinh 2.1: Mé hinh Client-Server enceetcsi
Hình 2.2: Trao đối dữ liệu giữa Client va Server trang chế độ bị phong tỏa
Hình 2.3: Năng lực xử lý của Nginx sơ với Apache web server
Hình 2.4: So sánh khả nẵng quán lý hộ nhớ giữa Nginx va Apache web server
Hình 2.5: Cơ chế hoạt động của blocking-server
Hình 3.6: cơ chế hoạt động của non-blocking server [ref|
Hình 2.7: Phân loại clieni
Hình 2.8: Phan loai Client-Server theo kiển trúc logic
Hinh 3.1: Caching model
Hình 3.2: Cơ chế hoạt đồng mô hình Caching model
Hình 3.3: Mô hình Local-Proxy
Hình 3.4: Shared-caching Model
Hình 3.5: Cơ chế hoạt động mô hình Shared-caching model
Hình 4.1: Mô hình hoạt động ứng dụng Quicknade
Hình 4.2: Cac module trong ứng dụng Quicknade
Hình 4.3: Tốc đô download P2P và Client-Server
Hình 4.4: Đồ thị thời gian và tốc độ download file (kích thước 48,11MB}
Trang 11
CHƯƠNG T: TONG QUAN
Mô hình chent-server là mô bình triển khai ứng dụng phân tán phổ biến hiện nay bởi khá năng piuát triển và triển khai ứng dụng, dễ đảng, Trong mô hình náy, thành phần cưng cấp các dịch vụ hay lài nguyên được gọi là server, thành phan gọi các service
được cung cấp bởi server gọi lả clent Thông thường các chent và server dược dặt trên
các máy vật lý khác nhau và giao tiếp với nhau thông qua hệ thông mạng Một máy server chạy một hoặc nhiều ứng đụng server, các tmạ dụng server chia sê tài nguyên với các chent Một client không, chia sẽ bắt cứ tải nguyên nảo với các client khảc ngoại
trừ việc giửi truy vẫn tới các địch vụ của máy server
Mé hinh client-server duge phát triển bởi Xerox PARC vào năm 1970, Các ứng
il, WWW là các ví dụ điển hình cửa mô hình chient-server Đặc điểm nói bật
dung Bir
của kiên trúc client-servor gồm:
œ Quản lý tập trung: đữ liệu dược lưu trữ tập trung trẻn server thay vi nằm rải
rác trên nhiêu máy, giúp đơn giân hóa việc truy xuất và cập nhật đữ liệu
© Dé bao tri: nho khả năng quản lý tập trung mà cảng việc bảo trì cũng trở nên
dễ dàng hơn vì phần lớn việc bão trì chỉ ämn thực hiện trên server Trong
trường hợp hệ thông có nhiều server với thiết bị dự phỏng, quá trình bảo trì (như sửa chữa, thay thê server) có thể điễn ra hoàn toàn trong suốt với client
ø _ lão mật: dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dang
và an toàn hơn
Các ưu điểm trên khiến ứng, dụng phát triển theo mỏ hình Client-Server trở nên dé
dảng và linh hoạt
Trang 12UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 13TÔ tải lôi chợn nghiên cứu trong luậu văn là “Giải pháp sử dụng P3P như công cụ truyền thông cho các ímg dụng Client-Server” Mô hình được tôi nghiên cứu trong luận
văn sử dụng mô hình P2P két hop vai Client-Server va Cache dé scale-out hé théng, giải quyết bottleneck của server cũng như sự phúc tạp trong triển khai ủng dung P2P đồng thời vẫn tân dụng được tính đơn giản của mô hình Client-Server và khả năng co giãn cao của hệ thống đựa trên P2P Ngoài ra hướng tiếp cận để xuất trong hiận văn của tôi hưởng tới việc nâng cấp ứng dung Client-Server co sin dé sit dung thêm kết nỗi
POP va Cache
Trong phan thé nghiém, tôi tiến hành áp dụng mô hình đẻ xuất vào ứng dụng chia
sẻ file để đưa ra các số liệu về hiệu năng của mỏ hình cũng như khả năng ửng dụng ruô hình vào các hệ thẳng sử dụng mô hình Client-Server đã có
Trang 14UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 15UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 16dung cache cé thé không giất quyết được bài toán chia sẽ dữ liệu roaltine, khi có nhiều
client cing đăng ký nhận thẳng tỉn broadoast từ server
Giải pháp khác có thể giải quyét bottleneck ở server là triển khai ứng dụng theo
xnô hình Peor-to-peer (F2P) P2P là một mỏ hình triển khai ứng dụng phân tán, trong,
đó mỗi node trong mạng (được gợi là “peer”) vừa đóng cá vai trả là nođe cung cấp lan
nodc sử dụng địch vụ, khác với mô hình clent-server trang dé client chi sit dung dịch
vụ cung cấp bởi server Việc mỗi node trong mô hình P2P vừa dóng vai trỏ lả node sử
dung Hin cung cân dịch vụ dẫn đến các xử lý trên toàn bộ hệ thống được phan chia ra
các nodc trong mạng do dỏ giải quyết vân để bottlencck của mô hình client-scrvcr, đặc biệt khi ứng dụng chia sẻ đữ liệu lớn, băng thông hệ thống được chia ra trên các máy, đâm bão khã năng mö rộng hệ thống với chi phí tối tru
‘Tuy nhién mồ hình P2P cũng có yếu điểm đó lá: triển khai phức tạp hơn do các
thao tác: tìm kiểm đữ liệu, lưu trữ phân tán đữ liệu trên các nođe và cáo cơ chế dam
‘bao đữ liệu sắm sàng kú có số lượng mode nhất định rời khỏi hệ thống Mặt khác mô tính P2P cũng khó khăn hơn trong việc bảo trí và năng cấp hệ thống so với ứng, dụng, client-server xử lý tập trung trên server Ngoài ra 1 điểm khác làm cho P2P không phải
lựa chọn số 1 cho các ứng dụng phân tán là tính an toàn của đữ liệu được lưu trữ phân
tan tại nhiều node Mét sé ing dụng thậm chí không thể triển khai theo mô hình P2P
do yêu cầu an toàn và lưu trữ tập trung dữ liệu: các ứng dụng có dữ liệu nhạy cứm: ứng dung ngan hang core-banking, img dung chimg khoán, ứng dụng mail
Qua các tìm hiểu ta có thể trên rút ra:
« Ứng dụng dựa trên mô binh Client-Server dé phát triển nhưng gặp server
batileneck va giới hạn bắng thông
© Ứng đụng đựa trên mẻ hình P2P làm hệ thống có tính co dan cao nhìmg khó
trién khai do: lookup service, protocol pluie tap,co ché phan tan dit liéu trên các
nods và đăm báo tính dữ liệu sẵn sảng cao phức †ạp.
Trang 17UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 18CHƯƠNG T: TONG QUAN
Mô hình chent-server là mô bình triển khai ứng dụng phân tán phổ biến hiện nay bởi khá năng piuát triển và triển khai ứng dụng, dễ đảng, Trong mô hình náy, thành phần cưng cấp các dịch vụ hay lài nguyên được gọi là server, thành phan gọi các service
được cung cấp bởi server gọi lả clent Thông thường các chent và server dược dặt trên
các máy vật lý khác nhau và giao tiếp với nhau thông qua hệ thông mạng Một máy server chạy một hoặc nhiều ứng đụng server, các tmạ dụng server chia sê tài nguyên với các chent Một client không, chia sẽ bắt cứ tải nguyên nảo với các client khảc ngoại
trừ việc giửi truy vẫn tới các địch vụ của máy server
Mé hinh client-server duge phát triển bởi Xerox PARC vào năm 1970, Các ứng
il, WWW là các ví dụ điển hình cửa mô hình chient-server Đặc điểm nói bật
dung Bir
của kiên trúc client-servor gồm:
œ Quản lý tập trung: đữ liệu dược lưu trữ tập trung trẻn server thay vi nằm rải
rác trên nhiêu máy, giúp đơn giân hóa việc truy xuất và cập nhật đữ liệu
© Dé bao tri: nho khả năng quản lý tập trung mà cảng việc bảo trì cũng trở nên
dễ dàng hơn vì phần lớn việc bão trì chỉ ämn thực hiện trên server Trong
trường hợp hệ thông có nhiều server với thiết bị dự phỏng, quá trình bảo trì (như sửa chữa, thay thê server) có thể điễn ra hoàn toàn trong suốt với client
ø _ lão mật: dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dang
và an toàn hơn
Các ưu điểm trên khiến ứng, dụng phát triển theo mỏ hình Client-Server trở nên dé
dảng và linh hoạt
Trang 19CHƯƠNG T: TONG QUAN
Mô hình chent-server là mô bình triển khai ứng dụng phân tán phổ biến hiện nay bởi khá năng piuát triển và triển khai ứng dụng, dễ đảng, Trong mô hình náy, thành phần cưng cấp các dịch vụ hay lài nguyên được gọi là server, thành phan gọi các service
được cung cấp bởi server gọi lả clent Thông thường các chent và server dược dặt trên
các máy vật lý khác nhau và giao tiếp với nhau thông qua hệ thông mạng Một máy server chạy một hoặc nhiều ứng đụng server, các tmạ dụng server chia sê tài nguyên với các chent Một client không, chia sẽ bắt cứ tải nguyên nảo với các client khảc ngoại
trừ việc giửi truy vẫn tới các địch vụ của máy server
Mé hinh client-server duge phát triển bởi Xerox PARC vào năm 1970, Các ứng
il, WWW là các ví dụ điển hình cửa mô hình chient-server Đặc điểm nói bật
dung Bir
của kiên trúc client-servor gồm:
œ Quản lý tập trung: đữ liệu dược lưu trữ tập trung trẻn server thay vi nằm rải
rác trên nhiêu máy, giúp đơn giân hóa việc truy xuất và cập nhật đữ liệu
© Dé bao tri: nho khả năng quản lý tập trung mà cảng việc bảo trì cũng trở nên
dễ dàng hơn vì phần lớn việc bão trì chỉ ämn thực hiện trên server Trong
trường hợp hệ thông có nhiều server với thiết bị dự phỏng, quá trình bảo trì (như sửa chữa, thay thê server) có thể điễn ra hoàn toàn trong suốt với client
ø _ lão mật: dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dang
và an toàn hơn
Các ưu điểm trên khiến ứng, dụng phát triển theo mỏ hình Client-Server trở nên dé
dảng và linh hoạt
Trang 21MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 22DANH MUC HiNH VE, DO THI Hinh 2.1: Mé hinh Client-Server enceetcsi
Hình 2.2: Trao đối dữ liệu giữa Client va Server trang chế độ bị phong tỏa
Hình 2.3: Năng lực xử lý của Nginx sơ với Apache web server
Hình 2.4: So sánh khả nẵng quán lý hộ nhớ giữa Nginx va Apache web server
Hình 2.5: Cơ chế hoạt động của blocking-server
Hình 3.6: cơ chế hoạt động của non-blocking server [ref|
Hình 2.7: Phân loại clieni
Hình 2.8: Phan loai Client-Server theo kiển trúc logic
Hinh 3.1: Caching model
Hình 3.2: Cơ chế hoạt đồng mô hình Caching model
Hình 3.3: Mô hình Local-Proxy
Hình 3.4: Shared-caching Model
Hình 3.5: Cơ chế hoạt động mô hình Shared-caching model
Hình 4.1: Mô hình hoạt động ứng dụng Quicknade
Hình 4.2: Cac module trong ứng dụng Quicknade
Hình 4.3: Tốc đô download P2P và Client-Server
Hình 4.4: Đồ thị thời gian và tốc độ download file (kích thước 48,11MB}
Trang 23
MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 24DANH MUC HiNH VE, DO THI Hinh 2.1: Mé hinh Client-Server enceetcsi
Hình 2.2: Trao đối dữ liệu giữa Client va Server trang chế độ bị phong tỏa
Hình 2.3: Năng lực xử lý của Nginx sơ với Apache web server
Hình 2.4: So sánh khả nẵng quán lý hộ nhớ giữa Nginx va Apache web server
Hình 2.5: Cơ chế hoạt động của blocking-server
Hình 3.6: cơ chế hoạt động của non-blocking server [ref|
Hình 2.7: Phân loại clieni
Hình 2.8: Phan loai Client-Server theo kiển trúc logic
Hinh 3.1: Caching model
Hình 3.2: Cơ chế hoạt đồng mô hình Caching model
Hình 3.3: Mô hình Local-Proxy
Hình 3.4: Shared-caching Model
Hình 3.5: Cơ chế hoạt động mô hình Shared-caching model
Hình 4.1: Mô hình hoạt động ứng dụng Quicknade
Hình 4.2: Cac module trong ứng dụng Quicknade
Hình 4.3: Tốc đô download P2P và Client-Server
Hình 4.4: Đồ thị thời gian và tốc độ download file (kích thước 48,11MB}
Trang 26
MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 28MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 30UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 32UDP, HTTP
«_ Việc triển khai ứng đụng cũng dễ dàng: cải dặt server trên máy chủ vật lý Các
img dung client được phản phối qua mạng và được người đúng cải đặt vào máy
của minh Cac céng nghé: web application, Java Webstart, NET Oneclick cho
phép ủng dụng tự động nâng cấp khi có thay đổi trên server
Tiên cạnh các ưn điểm của mỏ hình client-server, các đặc điểm của mô hình nảy
cũng lạo ra các yéu didi dé 1a server bottleneck Server bottleneck gó thế xử lý bằng các giải phảp scale-up ung dung như: nàng cấp server, sử dụng load balancing! dé phân tải ra nhiều máy chủ vật lý Tuy nhiên các giải pháp trên thường có chỉ phí rất
cao Với các ứng dụng chủa số giao tiếp thời gian thực (Audio, Video) hay các ứng
dụng chia sẻ ñle cũng cần server có băng thông rất lớn
Bén cạnh giải pháp seale-ap hệ thống, giải pháp sử dụng cache tại clenL là giải
pháp thường sử dụng nhất Lữ liệu dược chuyển qua client sẽ dược cache lại phục vụ cho lần sử đụng tiếp theo, một cơ chế cache hiệu quả có thê cải thiện đáng kế hiệu năng
truy cập service ti server Các thuật toán cache được gọi là: “page replacement
algorithm’), ‘ruy nhién néu cache miss xay ra, client van phai lién lac véi server dé
lây dữ liệu Như vậy tính co giãn của hệ thống vẫn không được đăm bảo Ngoài ra sử
Trang 33MỤC LỤC
LỠI CAM BOAN
LOI CAM ON
MỤC LỤC
DANH MỤC HÌNH VẼ, ĐỒ THỊ
CHUONG |; TONG QUAN
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
Trang 36DANH MUC HiNH VE, DO THI Hinh 2.1: Mé hinh Client-Server enceetcsi
Hình 2.2: Trao đối dữ liệu giữa Client va Server trang chế độ bị phong tỏa
Hình 2.3: Năng lực xử lý của Nginx sơ với Apache web server
Hình 2.4: So sánh khả nẵng quán lý hộ nhớ giữa Nginx va Apache web server
Hình 2.5: Cơ chế hoạt động của blocking-server
Hình 3.6: cơ chế hoạt động của non-blocking server [ref|
Hình 2.7: Phân loại clieni
Hình 2.8: Phan loai Client-Server theo kiển trúc logic
Hinh 3.1: Caching model
Hình 3.2: Cơ chế hoạt đồng mô hình Caching model
Hình 3.3: Mô hình Local-Proxy
Hình 3.4: Shared-caching Model
Hình 3.5: Cơ chế hoạt động mô hình Shared-caching model
Hình 4.1: Mô hình hoạt động ứng dụng Quicknade
Hình 4.2: Cac module trong ứng dụng Quicknade
Hình 4.3: Tốc đô download P2P và Client-Server
Hình 4.4: Đồ thị thời gian và tốc độ download file (kích thước 48,11MB}
Trang 37
CHƯƠNG T: TONG QUAN
Mô hình chent-server là mô bình triển khai ứng dụng phân tán phổ biến hiện nay bởi khá năng piuát triển và triển khai ứng dụng, dễ đảng, Trong mô hình náy, thành phần cưng cấp các dịch vụ hay lài nguyên được gọi là server, thành phan gọi các service
được cung cấp bởi server gọi lả clent Thông thường các chent và server dược dặt trên
các máy vật lý khác nhau và giao tiếp với nhau thông qua hệ thông mạng Một máy server chạy một hoặc nhiều ứng đụng server, các tmạ dụng server chia sê tài nguyên với các chent Một client không, chia sẽ bắt cứ tải nguyên nảo với các client khảc ngoại
trừ việc giửi truy vẫn tới các địch vụ của máy server
Mé hinh client-server duge phát triển bởi Xerox PARC vào năm 1970, Các ứng
il, WWW là các ví dụ điển hình cửa mô hình chient-server Đặc điểm nói bật
dung Bir
của kiên trúc client-servor gồm:
œ Quản lý tập trung: đữ liệu dược lưu trữ tập trung trẻn server thay vi nằm rải
rác trên nhiêu máy, giúp đơn giân hóa việc truy xuất và cập nhật đữ liệu
© Dé bao tri: nho khả năng quản lý tập trung mà cảng việc bảo trì cũng trở nên
dễ dàng hơn vì phần lớn việc bão trì chỉ ämn thực hiện trên server Trong
trường hợp hệ thông có nhiều server với thiết bị dự phỏng, quá trình bảo trì (như sửa chữa, thay thê server) có thể điễn ra hoàn toàn trong suốt với client
ø _ lão mật: dữ liệu tập trung trên server đồng nghĩa với việc kiểm soát dễ dang
và an toàn hơn
Các ưu điểm trên khiến ứng, dụng phát triển theo mỏ hình Client-Server trở nên dé
dảng và linh hoạt