Trước khi lặn vào phần mềm mã hóa, bạn cần phải có một kế hoạch rộng kiến trúc choứng dụng của bạn. Hãy nhớ rằng ứng dụng của kiến trúc là khác biệt rõ rệt từ kiến trúc mạng (ví dụ như, năm lớp Internet kiến trúc thảo luậntrong chương 1). Từ quan điểm của nhà phát triển ứng dụng, các kiến trúc mạng cố định và cung cấp một tập hợp cụ thể của dịch vụ cho ứng dụng. Các ứng dụngkiến trúc, mặt khác, được thiết kế bởi các nhà phát triển ứng dụng và ra làm thế nào các ứng dụng được xây dựng trên các hệ thống kết thúc khác nhau. Trong việc lựa chọn cácứng dụng kiến trúc, một nhà phát triển ứng dụng sẽ có thể vẽ trên một trong haiparadigms kiến trúc chủ yếu được sử dụng trong các ứng dụng mạng hiện đại: Cáckiến trúc máy chủ khách hàng hay kiến trúc peer-to-peer (P2P)Một khách hàng máy chủ kiến trúc, có là một luôn luôn-ngày, được gọi là máy chủ,Dịch vụ mà yêu cầu từ nhiều máy chủ khác, được gọi là khách hàng. Một ví dụ điển hình là cácWeb ứng dụng mà một luôn luôn-on Web server dịch vụ yêu cầu từ trình duyệtchạy trên máy chủ của khách hàng. Khi một máy chủ Web nhận được một yêu cầu cho một đối tượng từ mộtkhách hàng máy chủ lưu trữ, nó phản ứng bằng cách gửi các đối tượng được yêu cầu đến máy chủ lưu trữ khách hàng. Lưu ý rằngvới kiến trúc máy chủ khách hàng, khách hàng không trực tiếp giao tiếp với nhaukhác; Ví dụ, trong ứng dụng Web, hai trình duyệt không trực tiếp giao tiếp. Các đặc trưng khác của kiến trúc máy chủ khách hàng là các máy chủ có một««««cố định, địa chỉ nổi tiếng, được gọi là địa chỉ IP (mà chúng tôi sẽ thảo luận về sớm). Bởi vìHệ phục vụ có địa chỉ cố định, nổi tiếng, và bởi vì các máy chủ luôn luôn là về, mộtkhách hàng luôn luôn có thể liên hệ với máy chủ bằng cách gửi một gói tin đến địa chỉ IP của máy chủ.Một số ứng dụng sáng với một kiến trúc máy chủ khách hàng bao gồm cácWeb, FTP, Telnet, và e-mail. Kiến trúc khách hàng máy chủ được thể hiện trong hình 2.2(a).Thường trong một ứng dụng máy khách-máy chủ, máy chủ máy chủ duy nhất là không có khả năng giữvới tất cả các yêu cầu từ khách hàng. Ví dụ, một trang web mạng xã hội phổ biến có thểmột cách nhanh chóng trở thành tràn ngập nếu nó có chỉ có một máy chủ xử lý tất cả các yêu cầu của nó. Cholý do này, một trung tâm dữ liệu, nhà ở một số lớn các máy chủ, thường được sử dụng để tạo ra mộtmạnh mẽ máy chủ ảo. Các dịch vụ Internet phổ biến nhất-chẳng hạn như công cụ tìm kiếm(ví dụ như, Google và Bing), thương mại Internet (ví dụ như, Amazon và e-Bay), dựa trên Webthư điện tử (ví dụ như, Gmail và Yahoo Mail), mạng xã hội (ví dụ như, Facebook và Twitter) —sử dụng một hoặc nhiều trung tâm dữ liệu. Như được thảo luận trong phần 1.3.3, Google có 30-50Trung tâm dữ liệu phân phối trên toàn thế giới, mà chung xử lý tìm kiếm, YouTube,Gmail, và các dịch vụ khác. Một trung tâm dữ liệu có thể có hàng trăm ngàn máy chủ,mà phải được cung cấp và duy trì. Ngoài ra, các nhà cung cấp dịch vụ phải trả tiềnđịnh kỳ kết nối và chi phí băng thông để gửi dữ liệu từ Trung tâm dữ liệu của họ.Một kiến trúc P2P, có là tối thiểu (hoặc không) sự phụ thuộc vào các máy chủ chuyên dụng trongTrung tâm dữ liệu. Thay vào đó các ứng dụng khai thác các giao tiếp trực tiếp giữa các cặpkhông liên tục kết nối máy chủ, được gọi là đồng nghiệp. Các đồng nghiệp không thuộc sở hữu của các dịch vụnhà cung cấp, nhưng là thay vào đó máy tính để bàn và máy tính xách tay điều khiển bởi người dùng, với hầu hết cácđồng nghiệp sinh sống ở nhà, trường đại học, và văn phòng. Bởi vì các bạn đồng trang lứa giao tiếpmà không đi qua một máy chủ chuyên dụng, các kiến trúc được gọi là peer-to-peer.Nhiều người ngày nay phổ biến nhất và lưu lượng truy cập-chuyên sâu ứng dụng dựa trên P2Pkiến trúc. Các ứng dụng này bao gồm các tập tin chia sẻ (ví dụ như, BitTorrent), ngang hàng với sự hỗ trợ
đang được dịch, vui lòng đợi..
