1. Trang chủ
  2. » Thể loại khác

Giáo trình hệ thống phân phối

32 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Giáo trình hệ thống phân phối
Tác giả Andrew S. Tanenbaum, Maarten Van Steen
Trường học Đại Học Bách Khoa Hà Nội
Chuyên ngành Hệ Thống Phân Phối
Thể loại Giáo trình
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 32
Dung lượng 1,47 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung được giao cho nhóm dịch từ trang 20 đến trang 50 hay từ trang có số 1 đến trang số 30Giáo trình hệ thống phân phối Tái bản lần hai Tác gi ả Andrew S.Tanenbaum Maarten Van Steen

Trang 1

Nội dung được giao cho nhóm dịch từ trang 20 đến trang 50 ( hay từ trang có số 1 đến trang số 30)

Giáo trình hệ thống phân phối

Tái bản lần hai

Tác gi ả Andrew S.Tanenbaum

Maarten Van Steen

LỜI NÓI ĐẦU

Hệ thống phân phối hình thành một lĩnh vực thay đổi nhanh chóng của khoa học máytính, kể từ các phiên bản trước đó của cuốn sách này, các chủ đề thú vị mới đã nổi lên như ngangngang nhau để các mạng máy tính và các bộ cảm biến, trong khi những người khác đã trở nêntrưởng thành hơn, như các dịch vụ Web và các ứng dụng Web nói chung Thay đổi như thế nàycần thiết mà chúng ta xem xét lại văn bản ban đầu của chúng tôi để mang lại cho nó cập nhập Inbản thứ hai này phản ánh một phiên bản lớn so với trước đây một Chúng tôi đã thêm mộtchương riêng về kiến trúc phản ánh sự tiến bộ đã được thực hiện về tổ chức hệ thống phân phối

Trang 2

Một khác biệt chính là bây giờ có nhiều tư liệu hơn trên các hệ thống phân cấp, trong đồng đẳng

cụ thể để nhìn máy tính Chúng tôi không chỉ thảo luận về kỹ thuật cơ bản, chúng tôi cũng chú ýđến các ứng dụng của họ, chẳng hạn như chia sẻ tập tin, phổ biến thông tin, mạng lưới nội dungphân phối và xuất bản / đăng ký hệ thống Bên cạnh hai đối tượng chính, các đối tượng mới đượcthảo luận trong suốt cuốn sách Ví dụ, chúng tôi đã bổ sung thêm tài liệu trên mạng cảm biến, ảohóa, các cụm máy chủ, và tính toán lưới Sự chú ý đặc biệt được dành để tự quản lý hệ thốngphân phối, một chủ đề ngày càng quan trọng như hệ thống tiếp tục mở rộng quy mô Tất nhiên,chúng tôi cũng đã hiện đại hóa các vật liệu thích hợp Ví dụ, khi thảo luận về tính nhất quán vànhân rộng, chúng tôi đang tập trung vào mô hình thống nhất thích hợp hơn cho modem hệ thốngphân phối các mô hình ban đầu, được thiết kế riêng cho hiệu suất cao tính toán phân tán Tương

tự như vậy, chúng tôi đã bổ sung thêm tài liệu về modem thuật toán phân phối, bao gồm cả đồng

bộ đồng hồ dựa trên GPS và các thuật toán nội địa hóa

Mặc dù không bình thường, chúng tôi vẫn đã có thể làm giảm tổng số của trang Giảmnày một phần là do loại bỏ các môn học như phân phối thu gom rác thải và các giao thức thanhtoán điện tử, và cũng có thể tổ chức lại bốn chương cuối cùng Như trong các phiên bản trước đó,cuốn sách được chia thành hai phần Nguyên tắc của hệ thống phân phối sẽ được thảo luận trongchương 2-9, trong khi đó phương pháp tiếp cận tổng thể để phân phối các ứng dụng như thế nàocần được phát triển (các mô hình) sẽ được thảo luận trong các chương 10-13 Không giống nhưcác phiên bản trước đó, tuy nhiên, chúng tôi đã quyết định không để thảo luận về trường hợpnghiên cứu hoàn chỉnh trong các chương mô hình Thay vào đó, mỗi nguyên tắc bây giờ giảithích thông qua một trường hợp đại diện Ví dụ, lời gọi đối tượng hiện đang thảo luận như mộtnguyên tắc giao tiếp trong chương 10 dựa trên đối tượng hệ thống phân phối Cách tiếp cận nàycho phép chúng tôi ngưng tụ vật chất, mà còn để làm cho nó thú vị hơn để đọc và nghiên cứu.Tất nhiên chúng tôi tiếp tục thu hút rộng rãi từ thực tế để giải thích những gì hệ thống phân phối

là tất cả về Khía cạnh khác nhau của hệ thống thực tế cuộc sống như Web Sphere MQ, DNS,GPS, Apache, CORBA, NFS, Akamai, TIBlRendezvous, Jini và nhiều hơn nữa sẽ được thảo luậntrong suốt cuốn sách Những ví dụ minh họa cho dòng mỏng giữa lý thuyết và thực hành, mà làmcho hệ thống phân phối mỗi lĩnh vực thú vị như vậy Một số người đã đóng góp vào cuốn sáchnày trong nhiều cách khác nhau Chúng tôi sẽ đặc biệt cảm ơn D Robert Adams, Arno Bakker,Coskun Bayrak, Jacques de Chassin Kergommeaux, Randy Chow, Michel Chaudron, PuneetSingh Chawla, Fabio Costa, Công Du, Dick Epema, Kevin Fenwick, Chandan Gamage AliGhodsi, Giorgio Ingargiola, Mark Jelasity, Ahmed Kamel, Gregory Kapfhammer, JeroenKetema, Onno Kubbe, Patricia Lago, Steve MacDonald, Michael J McCarthy, M Tamer Ozsu,Guillaume Pierre, Avi Shahar, Swaminathan Sivasubramanian, hack Shah, Ruud Stegers, PaulTymann, Craig E Wills, Reuven Yagel, và Dakai Zhu để đọc các phần của bản thảo, giúp xácđịnh lỗi trong các phiên bản trước, và cung cấp ý kiến hữu ích

Cuối cùng, chúng tôi muốn cảm ơn gia đình của chúng tôi Suzanne đã được thông quanày xử lý mười bảy lần Đó là rất nhiều lần cho tôi mà còn cho cô ấy Không khi cô ấy đã nói:

"Đủ là đủ", mặc dù chắc chắn là suy nghĩ đã xảy ra với cô ấy Cảm ơn bạn Barbara và Marvinbây giờ có một ý tưởng tốt hơn về những gì các giáo sư làm cho một cuộc sống và biết sự khácbiệt giữa sách giáo khoa tốt và xấu Bây giờ họ là một nguồn cảm hứng cho tôi để cố gắng tạo ra

Trang 3

những người tốt hơn hơn những cái xấu (AST) Bởi vì tôi đã nghỉ phép để cập nhật cuốn sách,toàn bộ kinh doanh của mình viết cũng thú vị hơn nhiều cho Marielle, cô đang bắt đầu được sửdụng với nó, nhưng vẫn tiếp tục duy trì hỗ trợ trong khi cảnh báo cho tôi khi nó thực sự là thờigian để chuyển hướng sự chú ý đến các vấn đề quan trọng hơn Lowe mình cảm ơn nhiều Max

và Elke bây giờ có một ý tưởng tốt hơn về những gì viết một cuốn sách có nghĩa, nhưng so vớinhững gì họ đang đọc bản thân, cảm thấy khó khăn để hiểu những gì là rất thú vị về những điều

kỳ lạ được gọi là hệ thống phân phối Tôi không thể đổ lỗi cho họ (MV)

1

Giới Thiệu

Trang 4

Hệ thống máy tính đang trải qua một cuộc cách mạng Từ năm 1945, khi bắt đầu xuấthiện máy tính, cho đến khoảng năm 1985, máy tính lớn và đắt tiền Thậm chí máy tính mini giá

ít nhất là hàng chục ngàn đô la mỗi Kết quả là, hầu hết các tổ chức chỉ có một số ít các máy tính,

và vì thiếu cách để kết nối chúng, các hoạt động độc lập Đã bắt đầu xung quanh giữa những năm

1980, tuy nhiên hai tiến bộ trong công nghệ đã bắt đầu thay đổi tình trạng đó Việc đầu tiên là sựphát triển của bộ vi xử lý mạnh mẽ Ban đầu, đây là những máy 8-bit, nhưng sớm 16 -, 32 - vàCPU 64-bit trở nên phổ biến Nhiều người trong số này có khả năng tính toán của lớn của máytính, nhưng đối với một phần nhỏ của số lượng giá Để cải thiện đã xảy ra trong công nghệ máytính trong nửa thế kỷ qua là thực sự đáng kinh ngạc và hoàn toàn chưa từng có trong ngành côngnghiệp khác Từ một máy tính mà chi phí 10 triệu USD và thực hiện 1 lệnh trong một giây,chúngtôi đã đi đến các máy có giá 1.000 đô la và có thể thực hiện 1 tỷ lệnh trong một giây, một mứcgiá / hiệu suất đạt được của chiếc xe 1013 Nếu đã được cải thiện với tốc độ này trong cùngkhoảng thời gian, bây giờ một chiếc Rolls Royce sẽ có chi phí 1 đô la và có được một tỷ dặm chomỗi gallon (Thật không may, nó có lẽ cũng có một hướng dẫn 200 trang nói như thế nào để mởcửa.)

Sự phát triển thứ hai là phát minh của các mạng máy tính tốc độ cao Mạng cục bộ hoặcmạng LAN cho phép hàng trăm máy trong một tòa nhà để được kết nối trong một khoảng cách

mà một lượng nhỏ thông tin có thể được chuyển giao giữa các máy trong một vài micro giâyhoặc lâu hơn Lượng lớn dữ liệu có thể được di chuyển giữa các máy theo tỷ giá 100.000.000-

10000000000 bit / giây Diện rộng mạng hoặc WAN cho phép hàng triệu máy trên trái đất phảiđược kết nối với tốc độ thay đổi từ 64 Kbps (kilobits mỗi giây) để gigabit mỗi giây Kết quả củacác công nghệ này là nó là bây giờ không chỉ khả thi, nhưng dễ dàng, để đặt cùng hệ thống máytính bao gồm một số lượng lớn các máy tính kết nối bởi một mạng tốc độ cao Chúng thườngđược mạng máy tính hoặc hệ thống phân phối, trái ngược với các hệ thống tập trung trước đây(hoặc đơn hệ thống xử lý) bao gồm một máy vi tính, thiết bị ngoại vi của nó, và có lẽ một số thiết

bị đầu cuối từ xa

1.1 ĐỊNH NGHĨA VỀ CẤP HỆ THỐNG:

Định nghĩa khác nhau của hệ thống phân phối đã được đưa ra trong các tài liệu, không aitrong số họ đạt yêu cầu, và không ai trong số họ đồng ý với bất kỳ của những người khác Vớimục đích của nó là đủ để cung cấp cho một đặc tính lỏng lẻo: Một hệ thống phân phối là một tậphợp các máy tính độc lập xuất hiện cho người sử dụng nó như là một hệ thống mạch lạc duynhất

Định nghĩa này có một số khía cạnh quan trọng Người đầu tiên là một phân phối hệthống bao gồm các thành phần (ví dụ máy tính) được tự trị Khía cạnh thứ hai là người sử dụng(dù là người hay chương trình) nghĩ rằng họ đang đối phó với một hệ thống duy nhất Điều này

có nghĩa rằng cách này hay cách khác các thành phần tự trị cần phải hợp tác Làm thế nào để

Trang 5

thiết lập sự hợp tác này nằm ở trung tâm của phát triển hệ thống phân phối Lưu ý rằng không cógiả định được thực hiện liên quan đến các loại máy tính Về nguyên tắc, ngay cả trong một hệthống duy nhất, họ có thể dao động từ máy tính lớn hiệu suất cao với các nút nhỏ trong mạngcảm biến Như khôn ngoan, không có giả định được thực hiện trên cách mà các máy tính đượckết nối với nhau Chúng tôi sẽ trở lại các khía cạnh sau trong chương này.

Thay vì đi xa hơn với các định nghĩa, nó có lẽ là hữu ích hơn để tập trung vào đặc điểmquan trọng của hệ thống phân phối Một đặc điểm quan trọng là sự khác biệt giữa các máy tínhkhác nhau và cách thức mà họ giao tiếp chủ yếu là ẩn từ người sử dụng Điều này cũng cho nội

bộ tổ chức hệ thống phân phối Một đặc điểm quan trọng là người sử dụng và các ứng dụng cóthể tương tác với một hệ thống phân phối một cách nhất quán và cách thống nhất, bất kể ở đâu vàkhi tương tác diễn ra

Về nguyên tắc, hệ thống phân phối cũng cần được tương đối dễ dàng để mở rộng quy mô.Đặc tính này là một hệ quả trực tiếp của việc có máy tính độc lập, nhưng cùng một lúc, ẩn nhưthế nào các máy tính này thực sự tham gia vào hệ thống như một tập hợp Một hệ thống phânphối thông thường sẽ được liên tục có sẵn, mặc dù có lẽ một số bộ phận có thể tạm thời ra lệnh.Người sử dụng và các ứng dụng không nhận thấy rằng các bộ phận đang được thay thế hoặc cốđịnh hoặc các bộ phận mới được thêm vào để phục vụ cho nhiều người sử dụng hoặc các ứngdụng

Để hỗ trợ các máy tính không đồng nhất và mạng lưới trong khi cung cấp một cái nhìn

hệ thống duy nhất Hệ thống phân phối thường được tổ chức bằng một lớp của phần mềm đó làđặt hợp lý giữa một lớp cao cấp bao gồm người sử dụng ,các ứng dụng và một lớp bên dưới baogồm các hệ thống điều hành, các phương tiện thông tin cơ bản, như trong hình 1-1 Theo đó,một hệ thống phân phối như vậy được gọi là trung gian

Hình 1-1: Một hệ thống phân phối được tổ chức như trung gian,các trung gian lớp mở rộng trên nhiều máy tính, và cung cấp cho mỗi ứng dụng cùng một giao

diện.

Trang 6

Hình 1-1 cho thấy bốn máy tính nối mạng và ba ứng dụng, trong đó có ứng dụng B đượcphân phối trên các máy tính 2 và 3 Mỗi ứng dụng được cung cấp cùng một giao diện Hệ thốngphân phối cung cấp phương tiện cho các thành phần của một ứng dụng phân phối duy nhất đểgiao tiếp với nhau, nhưng cũng để cho các ứng dụng khác nhau giao tiếp Đồng thời, nó ẩn, là tốtnhất và hợp lý nhất có thể, sự khác biệt về phần cứng và hệ điều hành từ mỗi ứng dụng.

1.2.1 Truy cập tài nguyên:

Mục tiêu chính của một hệ thống phân phối là để làm cho nó dễ dàng cho người sử dụng(và các ứng dụng) để truy cập tài nguyên từ xa, và chia sẻ chúng một cách có kiểm soát và hiệuquả Tài nguyên có thể là về bất cứ điều gì, những ví dụ điển hình bao gồm như máy in, máytính, cơ sở lưu trữ, dữ liệu, tập tin, các trang web, và các mạng lưới công trình, đó chỉ là một vài

Có rất nhiều lý do để muốn chia sẻ tài nguyên.Một lý do rõ ràng là kinh tế Ví dụ, nó là rẻ hơn đểcho một máy in được chia sẻ bởi nhiều người dùng trong một văn phòng nhỏ vì phải mua và duytrì một máy in riêng biệt cho mỗi người dùng Tương tự như vậy, nó có ý nghĩa kinh tế để chia sẻnguồn lực tốn kém như các siêu máy tính, hệ thống lưu trữ hiệu suất cao, imagesetters, và thiết bịngoại vi đắt tiền khác

Kết nối người sử dụng và nguồn lực cũng làm cho nó dễ dàng hơn để cộng tác và thayđổi thông tin cũ, minh họa rõ ràng bởi sự thành công của Internet với giao thức đơn giản của nó

để trao đổi các tập tin, thư, tài liệu, âm thanh và video Các kết nối của Internet hiện nay dẫn đếnnhiều tổ chức ảo về mặt địa lý rộng rãi phân tán nhóm người làm việc với nhau bằng phương tiệncủa phần mềm nhóm, đó là phần mềm để chỉnh sửa hợp tác, từ xa Tương tự như vậy, các kết nốiInternet đã cho phép thương mại điện tử cho phép chúng tôi mua và bán tất cả các loại hàng hóa

mà không cần phải đi đến một cửa hàng hoặc thậm chí rời khỏi nhà

Tuy nhiên,kết nối và gia tăng chia sẻ, an ninh ngày càng trở nên quan trọng Trong thực tếhiện nay, hệ thống cung cấp bảo vệ chống lại ít nghe trộm hoặc xâm nhập vào thông tin liên lạc.Mật khẩu và các thông tin nhạy cảm khác thường được gửi dưới dạng văn bản rõ ràng (ví dụ,không được mã hóa) qua mạng, hoặc được lưu trữ tại các máy chủ mà chúng ta chỉ có thể hyvọng là đáng tin cậy Trong ý nghĩa này, có nhiều lý do để cải thiện Ví dụ, hiện nay có thể đặthàng bằng cách chỉ cung cấp một số thẻ tín dụng Hiếm khi là bằng chứng cần thiết mà kháchhàng sở hữu thẻ Trong tương lai, đặt hàng theo cách này có thể được có thể chỉ nếu bạn thực sự

có thể chứng minh rằng bạn có thể chất có các thẻ bằng cách chèn nó vào một đầu đọc thẻ

Trang 7

Một vấn đề an ninh nữa của truyền thông đó là theo dõi để xây dựng một hồ sơ sở thíchcủa một người dùng cụ thể (Wangetai 1998) Theo dõi như vậy rõ ràng vi phạm quyền riêng tư,đặc biệt là nếu nó được thực hiện mà không thông báo cho người sử dụng Một vấn đề liên quan

là kết nối gia tăng cũng có thể dẫn đến thông tin không mong muốn, chẳng hạn như thư rác điện

tử, thường được gọi là thư rác Trong trường hợp như vậy, những gì chúng tôi có thể cần là đểbảo vệ chính mình bằng cách sử dụng các bộ lọc thông tin đặc biệt đó chọn tin nhắn đến dựa trênnội dung của họ

1.2.2 Phân phối minh bạch

Một mục tiêu quan trọng của một hệ thống phân phối là để che giấu sự thật rằng quy trìnhcủa nó và các nguồn lực được phân bố vật chất trên nhiều máy tính Một phân phối hệ thống mà

có thể nói về nó cho người sử dụng và các ứng dụng như thể nó chỉ là một hệ thống máy vi tínhđược cho là minh bạch Chúng ta hãy có một cái nhìn vào những gì các loại minh bạch tồn tạitrong hệ thống phân phối Sau đó chúng tôi sẽ giải quyết nhiều câu hỏi chung cho dù minh bạch

là luôn luôn cần thiết

Vị trí Xác định vị trí là một nơi ẩn tài nguyên

Di cư Che giấu tài nguyên có thể chuyển tới nơi khác

Tái định cư Che giấu tài nguyên có thể di chuyển tới nơi khác trong khi sử dụng

Mô phỏng Che giấu tài nguyên là đã mô phỏng

Đồng thời Che giấu tài nguyên có thể được chia sẻ bởi các đối thủ cạnh tranh

Thất bại Che giấu những thất bại và sự phục hồi của nguồn tài nguyên

Hình 1-2 Các hình thức khác nhau của tính minh bạch trong hệ thống phân tán

(ISO, 1995).

Truy cập vào giao dịch minh bạch với ẩn sự khác biệt trong biểu diễn dữ liệu và cách màcác nguồn tài nguyên có thể được truy cập bởi người sử dụng Ở mức độ cơ bản, chúng tôi muốn

ẩn sự khác biệt trong kiến trúc máy tính, nhưng quan trọng hơn là chúng ta đạt được thỏa thuận

về cách dữ liệu được đại diện bởi các máy khác nhau và hệ điều hành Ví dụ, một hệ thống phânphối có thể có hệ thống máy tính chạy hệ điều hành khác nhau, từng có tập tin riêng của họ quy

Trang 8

ước đặt tên Sự khác biệt trong quy ước đặt tên, cũng như cách các tập tin có thể được thao tác,tất cả nên được ẩn từ người sử dụng và các ứng dụng.

Một nhóm quan trọng của các loại minh bạch đã làm với vị trí của một nguồn tài nguyên

Vị trí minh bạch đề cập đến thực tế là người dùng không thể cho biết nơi một nguồn tài nguyên

có thể nằm trong hệ thống Đặt tên đóng một vai trò quan trọng trong sự minh bạch vị trí Đặcbiệt, minh bạch vị trí có thể được đạt được bằng cách chỉ định chỉ tên hợp lý để các nguồn tàinguyên, đó là, tên, trong đó vị trí của một nguồn tài nguyên là không bí mật được mã hóa Một ví

dụ về một tên như vậy là http://www.prenhall.com/index.html (URL) nào không có đầu mối về

dụ vị trí của máy chủ Web chính Prentice Hall URL cũng cung cấp cho không biết được khi nàoindex.html luôn luôn ở vị trí hiện tại của nó hoặc gần đây đã được chuyển đến đây Hệ thốngphân phối trong đó các nguồn lực có thể di chuyển mà không ảnh hưởng như thế nào nhữngnguồn tài nguyên có thể được truy cập được cho là cung cấp minh bạch di cư Thậm chí cònmạnh hơn là tình huống trong đó nguồn tài nguyên có thể được di chuyển trong khi họ đangđược truy cập mà không cần người sử dụng hoặc ứng dụng nhận thấy bất cứ điều gì Trongtrường hợp này, hệ thống được cho là hỗ trợ minh bạch tái định cư Một ví dụ về tính minh bạchtái định cư là khi người dùng di động có thể tiếp tục sử dụng máy tính xách tay không dây của họtrong khi di chuyển từ nơi này đến nơi mà không bao giờ được (tạm thời) bị ngắt kết nối

Như chúng ta sẽ thấy, nhân rộng đóng một vai trò rất quan trọng trong hệ thống phânphối Ví dụ, các nguồn tài nguyên có thể được nhân rộng để tăng tính sẵn sàng hoặc để cải thiệnthực hiện bằng cách đặt một bản sao gần đến nơi mà nó được truy cập Minh bạch sao chép đềvới che giấu sự thật rằng một số các bản sao của một nguồn tài nguyên tồn tại Để che giấu bảnsao từ người dùng, nó là cần thiết mà tất cả các bản sao có cùng tên Do đó, một hệ thống hỗ trợminh bạch sao chép thường nên hỗ trợ minh bạch vị trí là tốt, bởi vì nếu không sẽ không thểtham khảo bản sao tại các địa điểm khác nhau

Chúng tôi đã đề cập rằng một mục tiêu quan trọng của hệ thống phân phối là cho phépchia sẻ tài nguyên Trong nhiều trường hợp, chia sẻ nguồn lực được thực hiện một cách hợp tác,như trong trường hợp của truyền thông Tuy nhiên cũng có nhiều ví dụ về cạnh tranh chia sẻ cácnguồn tài nguyên Ví dụ, hai người sử dụng độc lập có thể mỗi đã được lưu trữ tập tin của họ trêncác máy chủ cùng một tập tin hoặc có thể truy cập vào cùng một bảng trong một cơ sở dữ liệuchia sẻ Trong trường hợp này, điều quan trọng là mỗi người dùng không nhận thấy rằng cái khác

là cách sử dụng cùng một tài nguyên Hiện tượng này được gọi là minh bạch đồng thời Một vấn

đề quan trọng là truy cập đồng thời đến một tài nguyên chia sẻ lại tài nguyên trong một nhà nướcthống nhất Thống nhất có thể đạt được thông qua các cơ chế khóa, do đó người sử dụng được,lần lượt, được độc quyền truy cập tài nguyên mong muốn Một cơ chế tinh tế hơn là sử dụng cácgiao dịch, nhưng như chúng ta sẽ thấy trong các chương sau, giao dịch là khá khó khăn để thựchiện trong hệ thống phân phối

Một định nghĩa lựa chọn phổ biến của một hệ thống phân phối do Leslie Lamport là "Bạnbiết bạn có một khi sự sụp đổ của một máy tính bạn chưa bao giờ nghe nói về dừng lại bạn chẳnglàm được gì." Mô tả này đặt các ngón tay trên một vấn đề quan trọng thiết kế của hệ thống phânphối: đối phó với thất bại Thực hiện một hệ thống thất bại có nghĩa là trong suốt quá trình phânphối mà người dùng không nhận thấy rằng một nguồn tài nguyên (ông đã có thể không bao giờ

Trang 9

nghe nói về) không hoạt động đúng và rằng hệ thống sau đó phục hồi từ thất bại đó Thất bại mặt

nạ là một trong những các vấn đề khó khăn nhất trong hệ thống phân phối và thậm chí là khôngthể khi một số giả định rõ ràng thực tế được thực hiện, như chúng ta sẽ thảo luận ở Chương 8.Các khó khăn chính trong thất bại của mặt nạ nằm trong không có khả năng phân biệt giữa mộtnguồn tài nguyên đã chết và một nguồn tài nguyên rất chậm Ví dụ, khi liên lạc với một máy chủWeb bận rộn, một trình duyệt sẽ cuối cùng thời gian ra và báo cáo rằng các trang web không cósẵn Vào thời điểm đó, người dùng không thể kết luận rằng các máy chủ thực sự là xuống cấp

Mức độ minh bạch

Mặc dù tính minh bạch phân phối thường được coi là thích hợp hơn cho bất kỳ hệ thốngphân phối, có những tình huống mà trong đó cố gắng để hoàn toàn ẩn tất cả các khía cạnh phânphối từ người sử dụng không phải là một ý tưởng tốt Một ví dụ được yêu cầu của bạn báo điện

tử xuất hiện trong hộp thư của bạn trước 07:00 giờ địa phương như thường lệ, trong khi hiện tạibạn ở đầu bên kia của cuộc sống thế giới trong một thời gian khu vực khác nhau Giấy buổi sángcủa bạn sẽ không được giấy buổi sáng bạn đang sử dụng để Tương tự như vậy, một hệ thốngphân phối diện rộng kết nối một quá trình ở San Francisco để một quá trình ở Amsterdam không

có thể được dự kiến sẽ che giấu sự thật rằng mẹ thiên nhiên sẽ không cho phép nó để gửi một tinnhắn từ một quá trình khác trong ít hơn khoảng 35 phần nghìn giây Trong thực tế phải mất vàitrăm mili giây bằng cách sử dụng mạng máy tính Truyền tín hiệu không chỉ giới hạn bởi tốc độcủa ánh sáng mà còn bởi khả năng xử lý hạn chế của các thiết bị chuyển mạch trung gian

Ngoài ra còn có một sự đánh đổi giữa một mức độ cao của tính minh bạch và hiệu quảhoạt động của hệ thống Ví dụ, nhiều ứng dụng Internet nhiều lần cố gắng liên lạc với một máychủ cuối cùng trước khi từ bỏ Do đó, cố gắng che giấu lỗi của máy chủ tạm thời trước khi cốgắng có thể làm chậm toàn bộ hệ thống Trong trường hợp này, nó có thể được tốt hơn để từ bỏtrước đó, hoặc ít nhất là để cho người sử dụng hủy bỏ các nỗ lực để làm cho liên hệ

Một ví dụ khác là nơi mà chúng ta cần phải đảm bảo rằng một số bản sao, nằm trên cácchâu lục khác nhau, cần phải phù hợp tất cả thời gian Nói cách khác, nếu một bản sao được thayđổi, sự thay đổi đó phải được truyền đến tất cả các bản sao trước khi cho phép bất kỳ hoạt độngkhác Rõ ràng là một hoạt động cập nhật duy nhất có thể hiện nay thậm chí có giây để hoànthành, một cái gì đó mà không thể được ẩn từ người sử dụng

Cuối cùng, có những tình huống mà trong đó nó không phải ở tất cả rõ ràng như ẩn phânphối là một ý tưởng tốt Hệ thống phân phối được mở rộng đến các thiết bị mà mọi người mangtheo, và nơi mà các quan niệm về vị trí và nhận thức về bối cảnh được ngày càng trở nên quantrọng, nó có thể là tốt nhất để thực sự tiếp xúc với phân phối chứ không phải là cố gắng che giấu.Tiếp xúc với phân phối này sẽ trở nên rõ ràng hơn khi chúng ta thảo luận về nhúng và hệ thốngphân phối phổ biến sau trong chương này Như một ví dụ đơn giản, hãy xem xét một nhân viênvăn phòng ai muốn in một tập tin từ máy tính xách tay của mình Nó là tốt hơn để gửi lệnh in đếnmột máy in gần đó bận rộn, hơn là nhàn rỗi tại trụ sở chính của công ty trong đất nước khácnhau Cũng là lập luận khác nhau chống lại sự minh bạch phân phối, công nhận có đầy đủ minhbạch phân phối chỉ đơn giản là không thể, chúng ta nên tự hỏi mình cho dù đó là thậm chí khônngoan để giả vờ rằng chúng ta có thể đạt được nó Nó có thể là tốt hơn để thực hiện phân phối rõ

Trang 10

ràng để người sử dụng và phát triển ứng dụng không bao giờ lừa tin rằng có một điều như tínhminh bạch Kết quả sẽ là người sử dụng nhiều sẽ hiểu rõ hơn về (đôi khi bất ngờ) hành vi củamột hệ thống phân phối và do đó chuẩn bị tốt hơn để đối phó với hành vi này Kết luận là hướngtới sự minh bạch phân phối có thể là một mục tiêu tốt đẹp khi thiết kế và thực hiện hệ thống phânphối, nhưng nó cần được xem xét cùng với các vấn đề khác như hiệu suất và tính toàn diện Giácho không thể đạt được sự minh bạch đầy đủ có thể là đáng ngạc nhiên cao.

Một mục tiêu quan trọng của hệ thống phân phối là sự cởi mở Một hệ thống phân phối

mở là một hệ thống cung cấp dịch vụ theo quy định tiêu chuẩn mô tả cú pháp và ngữ nghĩa củacác dịch vụ Ví dụ, trong các mạng máy tính, quy tắc tiêu chuẩn chi phối các định dạng, nội dung

và ý nghĩa của thông điệp được gửi và nhận Quy tắc này được chính thức hóa trong giao thức.Trong hệ thống phân phối dịch vụ thường được xác định thông qua các giao diện, mà thườngđược mô tả trong một ngôn ngữ định nghĩa giao diện (IDL) Định nghĩa giao diện văn bản trongmột IDL gần như luôn luôn nắm bắt được chỉ là cú pháp của dịch vụ Nói cách khác, họ xác địnhchính xác tên của các chức năng có sẵn sàng cùng với các loại của các thông số, giá trị trả lại,trường hợp ngoại lệ có thể có thể được nâng lên Phần cứng được xác định chính xác những gìcác dịch vụ làm, đó là ngữ nghĩa của giao diện Trong thực tế, thông số kỹ thuật như vậy luônđược một cách chính thức bằng ngôn ngữ tự nhiên

Nếu được chỉ định đúng, một định nghĩa giao diện cho phép một quá trình tùy ý mà cầnmột giao diện nào đó để nói chuyện với một quá trình cung cấp giao diện đó Nó cũng cho phéphai bên độc lập để xây dựng triển khai thực hiện hoàn toàn khác nhau của các giao diện, dẫn đếnhai hệ thống phân phối riêng biệt mà hoạt động trong cùng một cách chính xác Thông số kỹthuật thích hợp đầy đủ và trung lập Phương tiện hoàn chỉnh tất cả mọi thứ cần thiết để thực hiệnmột triển khai thực hiện đã thực sự được chỉ định Tuy nhiên, nhiều định nghĩa giao diện khôngphải ở tất cả hoàn tất, để nó là cần thiết cho một nhà phát triển thêm các chi tiết thực hiện cụ thể.Cũng quan trọng là thực tế là thông số kỹ thuật không quy định những gì một thực hiện nên hìnhnhư: họ cần phải trung lập Đầy đủ và trung lập là quan trọng đối với khả năng tương tác và tính

di động (Blair và Stefani 1998) Khả năng tương tác đặc trưng cho mức độ mà triển khai các hệthống hoặc các thành phần từ các nhà sản xuất khác nhau có thể cùng tồn tại và cùng nhau làmviệc bằng cách chỉ dựa vào các dịch vụ của nhau theo quy định của một tiêu chuẩn chung Khảnăng di chuyển đặc trưng đến mức độ nào một ứng dụng được phát triển cho một hệ thống phânphối A có thể được thực hiện Mà không sửa đổi, trên một hệ thống phân phối B khác nhau màthực hiện các giao diện tương tự như A

Một mục tiêu quan trọng đối với một hệ thống phân phối mở là nó phải được dễ dàng đểcấu hình hệ thống ra khỏi các thành phần khác nhau (có thể từ các nhà phát triển khác nhau).Ngoài ra, nó phải là dễ dàng để thêm các thành phần mới hoặc thay thế những người hiện tại màkhông ảnh hưởng đến những thành phần ở lại tại chỗ Nói cách khác, một hệ thống phân phối mởcũng cần được mở rộng Ví dụ, trong một hệ thống mở rộng, nó cần được tương đối dễ dàng đểthêm phần chạy trên một hệ điều hành khác nhau hoặc thậm chí thay thế toàn bộ một hệ thốngtập tin Như chúng ta đã biết từ thực tế hàng ngày, đạt được linh hoạt như vậy là nói dễ hơn làm

Tách chính sách từ cơ chế

Trang 11

Để đạt được sự linh hoạt trong hệ thống phân phối mở, điều quan trọng là hệ thống được

tổ chức như một bộ sưu tập của các thành phần tương đối nhỏ và dễ dàng thay thế hoặc thíchnghi Điều này có nghĩa rằng chúng ta nên cung cấp các định nghĩa không chỉ đối với các giaodiện cấp cao nhất có nghĩa là những người nhìn thấy "của người dùng và các ứng dụng, mà cònđịnh nghĩa cho các giao diện đến các bộ phận nội bộ PJ hệ thống và mô tả cách những bộ phậntương tác Cách tiếp cận này là tương đối mới Nhiều hệ thống cũ và thậm chí hiện đại được xâydựng bằng cách sử dụng phương pháp tiếp cận nguyên khối trong đó các thành phần chỉ có mộtcách hợp lý tách biệt nhưng thực hiện như một chương trình lớn, cách tiếp cận này làm cho nókhó khăn để thay thế hoặc thích ứng với một thành phần mà không ảnh hưởng đến toàn bộ hệthống, hệ thống nguyên khối do đó có xu hướng được đóng lại thay vì mở Sự cần thiết phải thayđổi một hệ thống phân phối thường được gây ra bởi một thành phần mà không cung cấp cácchính sách tối ưu cho người dùng hoặc ứng dụng cụ thể Ví dụ, hãy xem xét bộ nhớ đệm trongWorId Wide Web(www) Các trình duyệt thường cho phép người dùng điều chỉnh chính sách bộnhớ đệm của họ bằng cách xác định kích thước của bộ nhớ cache, và liệu một tài liệu lưu trữluôn luôn cần được kiểm tra tính nhất quán, hoặc có lẽ chỉ một lần mỗi phiên Tuy nhiên, ngườidùng không thể ảnh hưởng đến các thông số bộ nhớ đệm khác, chẳng hạn như một tài liệu có thểduy trì bao lâu trong bộ nhớ cache, hoặc có tài liệu cần được loại bỏ khi bộ nhớ cache đầy lên.Ngoài ra, không thể đưa ra quyết định bộ nhớ đệm dựa trên nội dung của tài liệu Ví dụ, ngườidùng có thể muốn cache lịch đường sắt, biết rằng những khó thay đổi, nhưng không bao giờthông tin về điều kiện giao thông hiện tại trên đường cao tốc

Một sự tách biệt giữa chính sách và cơ chế những gì chúng ta cần Trong trường hợp bộnhớ đệm web, ví dụ một trình duyệt lý tưởng nên cung cấp phương tiện cho chỉ lưu trữ tài liệu,

và đồng thời cho phép người dùng để quyết định tài liệu được lưu trữ và trong bao lâu Trongthực tế, điều này có thể được thực hiện bằng cách cung cấp một tập hợp phong phú các thông số

mà người dùng có thể thiết lập (tự động) Thậm chí tốt hơn là một người dùng có thể thực hiệnchính sách của mình trong các hình thức của một thành phần có thể được cắm vào trình duyệt.Tất nhiên, thành phần mà phải có một giao diện trình duyệt có thể hiểu để nó có thể gọi các thủtục của giao diện đó

1.2.4 Khả năng mở rộng:

Kết nối trên toàn thế giới thông qua Internet đang nhanh chóng trở thành phổ biến như

có thể gửi một tấm bưu thiếp cho bất cứ ai bất cứ nơi nào trên thế giới, với điều này trong tâm trí,khả năng mở rộng là một trong những mục tiêu thiết kế quan trọng nhất cho các nhà phát triểncủa hệ thống phân phối Khả năng mở rộng của hệ thống có thể được đo cùng ít nhất ba kíchthước khác nhau (Neuman, 1994) Đầu tiên, một hệ thống có thể được mở rộng đối với kíchthước của nó với, có nghĩa là chúng ta có thể dễ dàng thêm nhiều người dùng và tài nguyên hệthống Thứ hai, một hệ thống địa lý khả năng mở rộng là một trong đó người sử dụng và cácnguồn tài nguyên có thể nằm cách xa nhau Thứ ba, một hệ thống có thể là hành chính mở rộng,rằng nó vẫn có thể được dễ dàng để quản lý ngay cả khi nó liên quan đến nhiều tổ chức hành

Trang 12

chính độc lập Thật không may, một hệ thống mà là khả năng mở rộng trong một hoặc nhiều cáckích thước thường thể hiện một số mất hiệu suất như quy mô hệ thống lên.

Vấn đề khả năng mở rộng:

Khi một hệ thống cần phải quy mô, rất khác nhau về loại các vấn đề cần phải được giảiquyết Chúng ta hãy xem xét mở rộng quy mô về kích thước Nếu có nhiều người sử dụng hoặccác nguồn lực cần được hỗ trợ, chúng tôi thường phải đối mặt với những hạn chế của dịch vụ tậptrung, dữ liệu và các thuật toán (xem hình 1-3) Ví dụ, nhiều dịch vụ được tập trung trong ýnghĩa rằng chúng được thực hiện bằng các phương tiện chỉ có một máy chủ duy nhất chạy trênmột máy tính cụ thể trong hệ thống phân phối Vấn đề với chương trình này là rõ ràng: các máychủ có thể trở thành một nút cổ chai như số lượng người dùng và các ứng dụng phát triển Thậmchí nếu chúng ta có xử lý hầu như không giới hạn và dung lượng lưu trữ, thông tin liên lạc vớimáy chủ cuối cùng sẽ cấm phát triển hơn nữa Thật không may, chỉ sử dụng một máy chủ duynhất là đôi khi không thể tránh khỏi Hãy tưởng tượng rằng chúng ta có một dịch vụ quản lýthông tin rất bí mật như các hồ sơ y tế, tài khoản ngân hàng Trong trường hợp này, nó có thể làtốt nhất để thực hiện dịch vụ bằng phương tiện của một máy chủ duy nhất trong một căn phòngriêng biệt bảo mật cao, và được bảo vệ từ các bộ phận khác của hệ thống phân phối thông quacác thành phần mạng đặc biệt Sao chép các máy chủ để một số địa điểm để nâng cao hiệu suất

có thể ra câu hỏi như nó sẽ làm cho các dịch vụ kém an toàn

Khái niệm Ví dụ

Dịch vụ chung Là 1 dịch vụ đơn cho tất cả người dùng

Dữ liệu chung Một cuốn sách điện thoại trực tuyếnTính toán chung Làm định tuyến dựa trên hoàn tất thông tin

Hình 1-3 Ví dụ về các hạn chế khả năng mở rộng.

Khó khăn dịch vụ tập trung là dữ liệu tập trung Làm thế nào chúng ta nên giữ theo dõicác số điện thoại và địa chỉ của 50 triệu người? Giả sử rằng mỗi bản ghi dữ liệu có thể phù hợpvới 50 ký tự Một phân vùng đĩa 2,5 GB duy nhất sẽ cung cấp đủ lưu trữ Nhưng ở đây một lầnnữa, có một cơ sở dữ liệu duy nhất chắc chắn sẽ bão hòa tất cả các tuyến giao thông vào ra khỏi

nó Tương tự như vậy, tưởng tượng Internet sẽ làm việc nếu hệ thống tên miền của mình (DNS)vẫn thực hiện như một bảng duy nhất DNS duy trì thông tin trên hàng triệu máy tính trên toànthế giới và tạo thành một dịch vụ cần thiết cho vị trí máy chủ Web Nếu mỗi yêu cầu để giảiquyết một URL đã được chuyển tiếp đến đó và chỉ máy chủ DNS mà không ai sẽ được sử dụngcác trang web (bằng cách này sẽ giải quyết vấn đề)

Cuối cùng, các thuật toán tập trung cũng là một ý tưởng tồi Trong một hệ thống phânphối lớn, một số lượng khổng lồ các thông điệp đã tobe chuyển qua nhiều đường Từ một quanđiểm lý thuyết, cách tối ưu để làm điều này là thu thập thông tin đầy đủ về tải trọng trên tất cảcác máy móc, dây chuyền, và sau đó chạy một thuật toán để tính toán tất cả các tuyến đường tối

ưu Thông tin này sau đó có thể lây lan trên toàn hệ thống để cải thiện định tuyến

Trang 13

Vấn đề là thu gom và vận chuyển tất cả các đầu vào và đầu ra thông tin một lần nữa sẽ làmột ý tưởng tồi vì những tin nhắn này sẽ quá tải một phần của mạng Trong thực tế, bất kỳ thuậttoán mà hoạt động bằng cách thu thập thông tin từ tất cả các trang web, gửi nó đến một máy tínhduy nhất để xử lý, và sau đó phân phối nói chung nên tránh kết quả Chỉ có các thuật toán phâncấp nên được sử dụng Các thuật toán này thường có các đặc điểm sau đây, mà chúng từ cácthuật toán tập trung:

1 Máy không có thông tin đầy đủ về hệ thống nhà nước

2 Máy đưa ra quyết định chỉ dựa trên thông tin địa phương,

3 Sự thất bại của một máy tính không làm hỏng các thuật toán

4 Không có giả định ngầm rằng một chiếc đồng hồ toàn cầu tồn tại

Ba trạng thái đầu tiên chúng tôi đã nói cho đến nay Cuối cùng có lẽ là ít rõ ràng nhưngcũng rất quan trọng Bất kỳ thuật toán mà bắt đầu với: "Tại chính xác 00:00:00 tất cả các máy sẽlưu ý kích thước của hàng đợi đầu ra của họ" sẽ thất bại vì nó là không thể nhận được tất cả cácđồng hồ đồng bộ chính xác Các thuật toán cần tính đến sự thiếu đồng bộ đồng hồ chính xác Lớnhơn hệ thống, lớn hơn sự không chắc chắn Trên một mạng LAN đơn, với nỗ lực đáng kể thì cóthể để có được tất cả các đồng hồ đồng bộ xuống một vài micro giây, nhưng làm điều này trêntoàn quốc hoặc quốc tế là khó khăn Khả năng mở rộng địa lý có vấn đề riêng của nó Một trongnhững lý do chính tại sao nó hiện đang là khó khăn để mở rộng hệ thống phân phối hiện tại đượcthiết kế cho mạng lưới khu vực là họ được dựa trên thông tin liên lạc đồng bộ Trong hình thứctruyền thông, một bên yêu cầu dịch vụ, thường được gọi là khách hàng, khối cho đến khi trả lờiđược gửi lại Cách tiếp cận này thường hoạt động được trong mạng LAN nơi giao tiếp giữa haimáy tính nói chung là lúc tệ nhất vài trăm micro giây Tuy nhiên, trong một hệ thống diện rộng,chúng ta cần phải đưa vào tài khoản mà xử lý liên tiếp truyền thông có thể là hàng trăm mili giây,

ba đơn đặt hàng của các cường độ chậm hơn Xây dựng các ứng dụng tương tác sử dụng thôngtin liên lạc đồng bộ trong hệ thống các khu vực đòi hỏi rất nhiều dịch vụ chăm sóc (và khôngmột chút kiên nhẫn) Một vấn đề khác gây cản trở khả năng mở rộng địa lý là thông tin liên lạctrong mạng diện rộng là vốn không đáng tin cậy, và hầu như luôn luôn điểm đến điểm Ngượclại, các mạng cục bộ thường cung cấp phương tiện thông tin có độ tin cậy dựa trên phát thanhtruyền hình, làm cho nó dễ dàng hơn để phát triển hệ thống phân phối Ví dụ, hãy xem xét cácvấn đề định vị một dịch vụ Trong một hệ thống cục bộ, một quá trình đơn giản có thể phát thôngbáo đến đêm trước máy, yêu cầu nếu nó đang chạy dịch vụ cần thiết Chỉ những máy có dịch vụtrả lời, mỗi cung cấp địa chỉ mạng lưới của mình trong tin nhắn trả lời Một chương trình vị trínhư vậy là không thể tưởng tượng trong một hệ thống diện rộng: chỉ cần tưởng tượng những gì

sẽ xảy ra nếu chúng tôi đã cố gắng để xác định vị trí một cách dịch vụ này trên mạng Internet.Thay vào đó, các dịch vụ vị trí đặc biệt cần phải được thiết kế, có thể cần phải quy mô trên toànthế giới và có khả năng phục vụ một tỷ người sử dụng Chúng tôi trở lại với các dịch vụ như vậytrong chương 5

Khả năng mở rộng địa lý có liên quan chặt chẽ với các vấn đề của tập trung các giải phápcản trở khả năng mở rộng kích thước Nếu chúng ta có một hệ thống với nhiều tập trung thành

Trang 14

phần, rõ ràng là khả năng mở rộng địa lý sẽ bị hạn chế do hiệu suất và các vấn đề độ tin cậy dothông tin liên lạc trên diện rộng Ngoài ra, các thành phần tập trung tại dẫn đến một sự lãng phítài nguyên mạng Hãy tưởng tượng rằng một máy chủ thư duy nhất được sử dụng cho toàn bộmột quốc gia Điều này có nghĩa rằng việc gửi e-mail đến người hàng xóm của bạn đầu tiên sẽphải đi đến mail máy chủ của trung tâm, có thể là hàng trăm dặm Rõ ràng, đây không phải làcon đường để đi.

Cuối cùng, một câu hỏi mở khó khăn và trong nhiều trường hợp là làm thế nào để mởrộng hệ thống phân phối trên nhiều, lĩnh vực hành chính độc lập Một vấn đề lớn cần được giảiquyết là các chính sách mâu thuẫn liên quan đến tài nguyên với ửmg dụng (và thanh toán), quản

lý và bảo mật

Ví dụ, nhiều thành phần của một hệ thống phân phối mà cư trú trong một miền đơnthường có thể được tin tưởng bởi người dùng hoạt động trong cùng lĩnh vực Trong trường hợpnày quản trị hệ thống có thể đã được thử nghiệm và chứng nhận các ứng dụng và có thể đã thựchiện các biện pháp đặc biệt để đảm bảo rằng các thành phần như vậy không thể được làm giảmạo Về bản chất, người sử dụng tin tưởng hệ thống quản trị của họ Tuy nhiên, niềm tin nàykhông mở rộng tự nhiên trong đường biên miền Nếu một hệ thống phân phối mở rộng sang lĩnhvực khác, hai loại biện pháp an ninh cần phải được thực hiện Trước hết, hệ thống phân phối phải

tự bảo vệ mình chống lại các cuộc tấn công độc hại từ các tên miền mới Ví dụ, người dùng tênmiền mới có thể chỉ đọc truy cập vào hệ thống tập tin trong phạm vi ban đầu của nó Như khônngoan, tiện ích như tạo dựng ảnh đắt tiền hoặc các máy tính hiệu suất cao có thể không đượccung cấp cho người nước ngoài Thứ hai, các tên miền mới có tự bảo vệ mình chống lại các cuộctấn công độc hại từ hệ thống phân phối Một ví dụ điển hình là tải về các chương trình như applettrong trình duyệt Web Về cơ bản, các tên miền mới không biết hành vi của những gì mong đợi

từ mã nước ngoài và do đó có thể quyết định hạn chế nghiêm trọng các quyền truy cập cho các

mã như vậy Vấn đề, như chúng ta sẽ thấy trong chương 9, là làm thế nào để thực thi những hạnchế Kỹ thuật mở rộng quy mô

Sau khi thảo luận một số vấn đề khả năng mở rộng mang lại cho chúng ta câu hỏi của làmthế nào những vấn đề thường có thể được giải quyết Trong hầu hết các trường hợp, vấn đề khảnăng mở rộng trong hệ thống phân phối xuất hiện như vấn đề hiệu suất do năng lực hạn chế củamáy chủ và mạng Hiện nay, về cơ bản chỉ có ba kỹ thuật để mở rộng quy mô: thời gian tiềm ẩntruyền thông, phân phối, và nhân rộng [xem thêm Neuman Ẩn thời gian trễ truyền thông là rấtquan trọng để đạt được khả năng mở rộng địa lý Ý tưởng cơ bản là đơn giản: cố gắng để tránhphải chờ đợi cho phản ứng với các yêu cầu từ xa (và có thể xa xôi) dịch vụ càng nhiều càng tốt

Ví dụ, khi một dịch vụ được yêu cầu ở một máy tính từ xa, một sự thay thế để đợi câu trả lời từmáy chủ là để làm công việc hữu ích khác ở bên cạnh người yêu cầu Về cơ bản, điều này cónghĩa là xây dựng các ứng dụng yêu cầu trong một cách mà nó chỉ sử dụng thông tin liên lạckhông đồng bộ Khi trả lời đến, các ứng dụng bị gián đoạn và một bộ xử lý đặc biệt được gọi làhoàn tất yêu cầu phát hành trước đó Thông tin liên lạc không đồng bộ thường có thể được sửdụng trong các hệ thống xử lý hàng loạt và các ứng dụng song song, trong đó nhiệm vụ nhiềuhơn hoặc ít hơn độc lập có thể được dự kiến thực hiện trong khi công việc khác đang chờ đợi

Trang 15

thông tin để hoàn thành Ngoài ra, một chủ đề mới kiểm soát có thể được bắt đầu thực hiện yêucầu Mặc dù nó chặn chờ trả lời, các chủ đề khác trong quá trình này có thể tiếp tục.

Tuy nhiên, có nhiều ứng dụng mà không thể sử dụng hiệu quả thông tin liên lạc khôngđồng bộ Ví dụ, trong các ứng dụng tương tác khi người dùng gửi một yêu cầu anh ta sẽ nóichung không có gì tốt hơn để làm hơn để chờ đợi câu trả lời Trong trường hợp này, một giảipháp tốt hơn là để giảm truyền thông tổng thể, ví dụ bằng cách di chuyển một phần của tính toán

mà thường được thực hiện tại máy chủ để quá trình khách hàng yêu cầu dịch vụ Một trường hợpđiển hình, nơi phương pháp này hoạt động được truy cập vào cơ sở dữ liệu sử dụng các hìnhthức Điền vào mẫu đơn có thể được thực hiện bằng cách gửi một thông điệp riêng biệt cho từnglĩnh vực, và chờ đợi một sự thừa nhận từ máy chủ, như thể hiện trong hình 1-4 (a) Ví dụ, máychủ có thể kiểm tra lỗi cú pháp trước khi chấp nhận một mục Một giải pháp tốt hơn là gửi mãcho điền vào mẫu đơn, và có thể kiểm tra các mục, cho khách hàng, và có các khách hàng quaytrở lại một hình thức hoàn thành, như thể hiện trong hình 1-4 (b) Cách tiếp cận này của mã vậnchuyển được hỗ trợ rộng rãi bởi các trang web trong các hình thức ứng dụng Java và Javascript

Hình 1-4 Sự khác biệt giữa để cho (a) một máy chủ (b) kiểm tra một khách hàng

hình như họ đang được lấp đầy.

Một kỹ thuật quan trọng là mở rộng quy mô phân phối Phân phối liên quan đến việc mộtthành phần, tách nó thành các phần nhỏ hơn, và sau đó lây lan những phần trên toàn hệ thống.Một ví dụ tuyệt vời của phân phối là Internet, Hệ thống tên miền (DNS) Không gian tên DNSđược phân cấp tổ chức thành một cây các lĩnh vực, được chia thành các khu vực chồng lấn, nhưthể hiện trong hình 1-5 Tên trong từng khu vực được xử lý bởi một máy chủ tên duy nhất Màkhông đi vào chi tiết quá nhiều, người ta có thể suy nghĩ của mỗi tên đường, là tên của một máychủ trên mạng Internet và do đó liên kết với một địa chỉ mạng của máy chủ đó Về cơ bản, giảiquyết một tên có nghĩa là trở về địa chỉ mạng của các máy chủ liên quan Xem xét, ví dụ tên nl

Trang 16

vu.cs.flits Để giải quyết tên này, nó là lần đầu tiên truyền đến máy chủ của khu vực 21 (xemhình 1-5) mà trả về địa chỉ của máy chủ cho khu vực 22, mà phần còn lại của tên, vu.cs.flits, cóthể được giao Máy chủ cho 22 sẽ trả về địa chỉ của máy chủ cho khu vực 23, đó là khả năng xử

lý phần cuối của tên và sẽ trả về địa chỉ của các máy chủ liên quan

Hình 1-5 Một ví dụ về cách chia không gian tên DNS thành các khu.

Ví dụ này minh họa cách đặt tên dịch vụ, theo quy định của DNS được phân phối quamột số máy, do đó tránh một máy chủ duy nhất có để đối phó với tất cả các yêu cầu phân giảitên Một ví dụ khác, hãy xem xét World Wide Web Đối với hầu hết người dùng, trang webdường như là một hệ thống thông tin tài liệu dựa trên rất lớn, trong đó mỗi tài liệu có tên riêngcủa nó trong hình thức của một URL Khái niệm, nó thậm chí có thể xuất hiện như là nếu chỉ cómột máy chủ duy nhất Tuy nhiên, các trang web được phân phối vật lý trên một số lượng lớn cácmáy chủ, từng xử lý một số tài liệu Web Tên của máy chủ xử lý một tài liệu được mã hóa trongURL của tài liệu Nó chỉ là do phân bố của các tài liệu mà các trang web đã được khả năng mởrộng quy mô kích cỡ hiện tại của nó

Bộ nhớ đệm là một dạng đặc biệt của nhân rộng, mặc dù sự phân biệt giữa hai thườngkhó thực hiện hoặc thậm chí nhân tạo Như trong trường hợp của nhân rộng, bộ nhớ đệm kết quảtrong việc đưa ra một bản sao của một nguồn tài nguyên, thường ở gần nhau của các khách hàngtruy cập vào tài nguyên đó Tuy nhiên, trái ngược với nhân rộng, bộ nhớ đệm là một quyết địnhcủa khách hàng của một nguồn tài nguyên, và không được chủ sở hữu một nguồn tài nguyên.Ngoài ra, bộ nhớ đệm xảy ra theo yêu cầu trong khi nhân rộng thường được lên kế hoạch trước

Có một nhược điểm nghiêm trọng cho bộ nhớ đệm và nhân rộng có thể ảnh hưởng xấu đến khảnăng mở rộng Bởi vì bây giờ chúng tôi có nhiều bản sao của một tài nguyên, sửa đổi một bảnsao làm sao mà khác nhau từ những người khác Do đó, bộ nhớ đệm và nhân rộng dẫn đến vấn

Ngày đăng: 06/01/2023, 00:44

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w