Khuyết điểm của mô hình client-server là gì? theo bạn có cách nào khắc phục khuyết điểm đó?

Tiểu luận Hệ Tin Học Phân TánClient/Server cho phép dùng giao diện đồ hoạ trên các trạm giúp cho việc sử dụng dễdàng hơn, các ứng dụng được phát triển nhanh, dễ được người dùng chấp nhận.Client/Server cũng chú ý và khuyến khích các hệ thống mở. Client và Server có thểchạy trên các cấu hình cứng và mềm khác nhau, giải phóng sự phụ thuộc của người sửdụng vào một cấu hình cụ thể, một nhà cung cấp cụ thể.I.3.2. NHƯỢC ĐIỂMBên cạnh những ưu điểm trên, Client/Server cũng thể hiện những nhược điểm củachính nó :Khi ứng dụng chủ yếu đặt ở Server, Server có nhiều nguy cơ tắc nghẽn, xung đột. Dođó đòi hỏi các chiến lược phân chia tài nguyên, phân phối nhiệm vụ cũng như đáp ứngcác nhu cầu một cách có hiệu quả.Đối với các ứng dụng phân tán, khi phân chia nhiệm vụ phức tạp hơn nhiều so vớicác ứng dụng không phân tán.Môi trường có nhiều người sử dụng đòi hỏi các cơ chế bảo mật dữ liệu. Cần phải cóhiểu biết và phương pháp kỹ thuật mới có thể giải quyết vấn đề một cách tối ưu.I.4 MỘT SỐ ỨNG DỤNG: Kiến trúc Client-Server của BOINCCông nghệ Client-Server đề cập đến mô hình client-server mà Boinc hoạt động dựatrên nó. Framework của Boinc bao gồm 2 lớp hoạt động theo kiển trúc Client-Server.Một khi phần mềm Boinc server được cài đặt trên 1 máy, nó sẽ bắt đầu gửi các task đếncho Clients. Các hoạt động tính toán được thực hiện phía Client [client-side] và kết quảsau đó sẽ được upload lên phía server [server-side]I.4.1. THIẾT KẾ KIẾN TRÚC CỦA BOINC- Boinc được thiết kế để trở thành một kiến trúc mở và miễn phí cho các dự án tínhtoán phân tán- Boinc bao gồm một hệ thống server và phần mềm client giao tiếp với nhau đểphân chia, xử lý và trả về kết quả của các workunit.I.4.2. KIẾN TRÚC CỦA BOINC SERVERMột thành phần chính của Boinc là server backend [xương sống]. Server này có thểchạy trên 1 hay nhiều máy, để cho phép Boinc có thể dễ dàng mở rộng phạm vi, quy môcủa các dự án. Boinc server chạy trên các máy tính với hệ điều hành Linux, và dùngAPACHE, PHP, MySQL làm nền tảng cho hệ thống web và hệ cơ sở dữ liệu của nó.Các hoạt động tính toán khoa học chạy trên các máy thành viên và các kết quả sẽđược phân tích sau khi nó được gửi từ các máy PC của người tình nguyện lên cơ sở dữliệu của các nhà nghiên cứu khoa học và được kiểm tra [validator] bởi server backend.Quá trình kiểm tra này đòi hỏi chạy tất cả các task [nhiệm vụ, workunit] trên nhiều máytình nguyện và so sánh các kết quả của 1 workunit với nhau.Boinc server cũng cung cấp các chức năng khác như :- Homogeneous redundancy [Chỉ gửi các workunit đến các máy có cùng platform.VD : các máy có HDH Window XP SP 2] để giúp cho quá trình validator được dễ dàngvà chính xác hơn.- Workunit trickling [Gửi các thông tin đến server trước khi các workunit hoànthành] giúp cho việc đánh giá để có thể gửi 1 workunit mới kịp thời, giảm tối thiểu thờigian nhàn rỗi của máy tình nguyện.Nguyễn Minh Chí – Khoa học máy tính K25Trang 8 Tiểu luận Hệ Tin Học Phân Tán- Locality Scheduling [Gửi các workunit đến các máy tính đã có các file cần thiết đểcó thể thực thi ngay và tạo các work theo yêu cầu].- Phân phát công việc dựa trên các tham số của host [VD : workunit yêu cầu 512MbRAM, thì nó sẽ chỉ được gửi tới các host có ít nhất từng ấy RAM.]Phía Server thường gồm 2 chương trình CGI và 5 deamons [chương trình hay tiếntrình ngầm], được viết bằng ngôn ngữ C++. Viêc tính toán được thực hiện ở phía Clientđược gọi là workunit. Một kết quả [result] là 1 thể hiện [instance] của workunit, thậm chíngay cả khi workunit chưa hoàn thành. Một project không nhất thiết phải tạo ra các resultmà chính server đã tạo ra các result 1 cách tự động tương ứng với các workunit.Một chương trình CGI lập lịch xử lý các yêu cầu từ phía client, nhận các workunit đãhoàn thành và gửi đi các công việc mới. [cgi]Một chương trình CGI xử lý việc upload file. [file_upload_handler]Bộ lập lịch không lấy các result [workunit chưa hoàn thành – Thực chất các result làđã được tạo ngay từ lần đầu tiên các workunit được tạo ra và được lưu sẵn trong CSDL.Tuy nhiên chỉ khi nào workunit tương ứng xử lý xong, gửi lên server thì result tương ứngđó mới được đánh dấu là đã hoàn thành. Do đó khái niệm result ở đây có thể coi làworkunit chưa hoàn thành] sẵn có một cách trực tiếp từ CSDL. Thay vào đó, có 1 chươngtrình ngầm feeder sẽ nạp các task[thực chất 1 workunit được chia thành các task, mỗi tasksẽ có tương ứng 1 result tương ứng để « đặt chỗ » sẵn trong CSDL, task nào hoàn thành,upload lên server thì result tương ứng sẽ được đánh dấu là hoàn thành] từ CSDL và lưuchúng trong các khối nhớ để cho bộ lập lịch đọc ra. Feeder sẽ định kì làm rỗng các «khe» trong khối nhớ sau khi các task được gửi đến client.Khi tất cả các result của 1 workunit đã thực hiện xong và được gửi trả về cho server,thành phần validator sẽ so sánh chúng. Thành phần validator có thể có các thành phầncode do người phát triển project đặt ra để thực hiện sự so sánh mờ [so sánh tương đồi, vídụ như trừ cho nhau hay dùng 1 hàm đánh giá..] giữa các kết quả, hoặc nó có thể chỉ là sosánh các bit. Nếu các kết quả khớp với nhau, workunit sẽ được đánh dấu là hợp lệ, ngườitình nguyện sẽ được « gán » credit và 1 kết quả [result] thích hợp sẽ được chọn choworkunit đó.Tiếp đó, deamon assimilator [đồng hoá, xử lý kết quả] xử lý các result hợp lệ, sửdụng các code chuyên dụng của dự án. Ví dụ : một vài dự án có thể phân tích các file vàlưu trữ thông tin vào trong CSDL, mặt khác có thể đơn giản chỉ là copy file sang 1 chỗkhác. Một bộ đồng hoá cũng có thể sinh ra các workunit mới dựa trên các kết quả hay dữliệu trả về bởi client.Deamon file_deleter sẽ xoá các file output sau khi assimilator đã xử lý chúng, đồng thờixoá các file input không cần thiết nữa.Deamon transitioner xử lý các chuyển trạng thái của các workunit và result [hoàn thành,chưa hoàn thành, valid, not valid]. Nó cũng đồng thời sinh ra các result [tương ứng vớicác task chưa hoàn thành] từ workunit khi workunit được tạo ra lần đầu tiên và có thểthêm các result nữa nếu cần thêm [VD : khi 1 result không hợp lệ - do không vượt quađược quá trình validator hoặc thậm chí là do được gửi lên server quá chậm]Nguyễn Minh Chí – Khoa học máy tính K25Trang 9 Tiểu luận Hệ Tin Học Phân TánChương IIVIẾT CHƯƠNG TRÌNH MÔ PHỎNG QUÁ TRÌNH ĐỒNG BỘ CỦA BÃIĐẬU XE Ô TÔ CÓ n CỔNG [ n ≥ 2]CƠ SỞ LÝ THUYẾT :Trong phần chương trình mô phỏng quá trình đồng bộ hóa của bãi đậu xe ô tô có n cổng[n ≥ 2], cơ sở lý thuyết chúng ta cần quan tâm đến là “Bài toán bãi đậu xe ô tô” và “Đồngbộ hóa các tiến trình trong Hệ Phân tán”II.1 BÀI TOÁN BÃI ĐẬU XE Ô TÔ:1. Phát biểu bài toán : Cho hình vẽ sauBVVTVTVTVTVTVTVTBVVTBVVTVTVTVTVTVTVTVTVTBVVTVTVTBVTrong đóBV - người bảo vệ có nhiệm vụ phânphối chổ cho các xe ô tô.VT - Vị trí cho từng xe ô tô cụ thể.Trong bài toán- Bãi đậu xe chính là tài nguyên- Xe chính là các tiến trìnhVTBVHình III.1. Mô phỏng bãi đậu xe ô tôBài toán bãi đậu xe đặt ra hai tình huống như sau :* Tình huống thứ nhất :Ta giả sử rằng bãi để xe ô tô là loại bãi lớn có một cổng vào dưới sự kiểm soát củamột người bảo vệ [NBV] duy nhất. NBV chỉ biết được một phần của trạng thái bãi để xe.Trong khi anh ta nghĩ rằng bãi xe đã bị đầy, khi đó lại có nhiều lái xe đang cho xe chạy racổng. Vì suy nghĩ như vậy, trong trường hợp này anh ta không giải quyết cho các xe kháctiếp tục vào bãi nữa, mặt dù lúc này trong bãi đang có chỗ trống. Như vậy, NBV khôngnắm được trạng thái hiện hành của bãi.* Tình huống thứ hai :Nếu ta có bãi để xe với nhiều cổng vào và tại mỗi cổng vào có một người bảo vệ thìmỗi người bảo vệ chỉ có thể được biết trạng thái với độ trễ nhất định và điều đó dẫn đếntính huống thứ hai. Đó là tình huống với nhiều trung tâm ra quyết định như trong hình vẽIII.1 ở trên.Trên thực tế, một người bảo vệ nào đó tin rằng không còn chỗ trống nữa, trong khimột người bảo vệ khác lại vừa mới cho ra khỏi bãi một số xe mà anh ta chưa kịp báo choNguyễn Minh Chí – Khoa học máy tính K25Trang 10 Tiểu luận Hệ Tin Học Phân Táncác người bảo vệ khác. Cũng có thể diễn ra trường hợp là cùng một lúc các người bảo vệgiải quyết các xe vào cùng một vị trí trong bãi do vì họ thiếu thông tin.Như vậy, các người bảo vệ phải hợp lực với nhau để phân phối chính xác các chỗ trongbãi, đặc biệt là số lượng chỗ còn trống càng ít thì vai trò của hợp lực càng quan trọng.Sự hoạt động gắn bó với nhau giữa các chương trình cung cấp là rất cần thiết để đảmbảo cho hoạt động cung cấp được hoàn toàn chính xác.II.1.1 VÍ DỤ VỀ KHÔNG GẮN BÓ:Để thấy được tầm quan trọng mang tính quyết định của trình tự xử lý thông điệp đốivới yêu cầu gắn bó của hệ, ta hãy tiếp tục xem xét một trường hợp về không gắn bó củabài toán bãi để xe : giả sử rằng ở thời điểm cho trước ta có 4 người bảo vệ và có 100 chỗcòn trống. Tất cả các NBV để có thông tin đó, trạng thái của hệ lúc này là gắn bó. Batrong số họ phát đi thông tin cho ở Bảng II-1 sau:Bảo vệ 1Bảo vệ 2Bảo vệ 3Bảng II-1Stt ký hiệu thông tin phát đi123M1M2M3Thêm 20 chỗ trốngcó 10 chỗ bị chiếmDành 10% chỗ trống đểquét dọn bãiBảo vệ 4M1tM3M2M2M1M3M2M3M1Bảng II-2: cho thấy, nếu ta không có ràng buộc nào đối với trình tự xử lý các thôngđiệp nhận được của các người bảo vệ thì mỗi NBV sẽ có thông tin về số lượng chỗ trốngTrật tự Bảo vệ 1xử lýThông giá trịđiệpBảo vệ 2Thôn giá trịg điệp1001001M1120M11202M3108M21103M298M399Bảng II-2: Sự không gắn bó giữa 4 người bảo vệBảo vệ 3Thôn giá trịgđiệp100M390M1110M2100Bảo vệ 4Thông giá trịđiệpM2M3M11009081101khác nhau. Để bảo đảm các bản cập nhật giống nhau thì trình tự cập nhật nhất thiết phảigiống nhau trên tất cả các trạm.Nguyễn Minh Chí – Khoa học máy tính K25Trang 11

Client server là mô hình được áp dụng phổ biến trên mạng máy tính. Trong bài viết này, BKNS sẽ giúp bạn hiểu rõ hơn Client server là gì, ưu nhược điểm, nguyên lý hoạt động của Client server.

1. Client server là gì?

Client server là mô hình mạng máy tính gồm có 2 thành phần chính là máy khách [ client ] và sever [ server ]. Trong mô hình này, server là nơi tàng trữ tài nguyên, thiết lập những chương trình dịch vụ và thực thi những nhu yếu của client. Client đón vai trò gửi nhu yếu đến server. Client gồm máy tính và thiết bị điện tử nói chung .

Mô hình Client server được cho phép mạng tập trung chuyên sâu những ứng dụng và công dụng tại một hoặc nhiều máu dịch vụ file chuyên được dùng. Các máy này trở thành TT của mạng lưới hệ thống. Hệ quản lý của Client server được cho phép người dùng san sẻ đồng thời cùng một tài nguyên, không quan trọng vị trí địa lý .

Mô hình web client-server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Một mô hình ngược lại là mô hình master-slaver, trong đó máy chủ [đóng vai trò ông chủ] sẽ gửi dữ liệu đến máy con [đóng vai trò nô lệ] bất kể máy con có cần hay không.

Mô hình client/server như sau: Client/Server là mô hình tổng quát nhất, trên thực tế thì một server có thể được nối tới nhiều server khác nhằm làm việc hiệu quả và nhanh hơn. Khi nhận được 1 yêu cầu từ client, server này có thể gửi tiếp yêu cầu vừa nhận được cho server khác ví dụ như database server vì bản thân nó không thể xử lý yêu cầu này được. Máy server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp.

>> Tìm hiểu thêm:

  • Client server có năng lực chống quá tải mạng
  • Client server bảo vệ toàn vẹn tài liệu khi có sự cố xảy ra
  • Dễ dàng lan rộng ra mạng lưới hệ thống mạng
  • Chỉ cần chung định dạng tiếp xúc mà không cần chung nền tảng là hoàn toàn có thể hoạt động giải trí được
  • Client server cho phép tích hợp những kỹ thuật tân tiến như GIS, mô hình phong cách thiết kế hướng đối tượng người dùng, …
  • Với mô hình Client server, người dùng hoàn toàn có thể truy vấn tài liệu từ xa, thực thi những thao tác gửi, nhận file hay tìm kiếm thông tin đơn thuần

Ví dụ

  • Web server: Người dùng nhập địa chỉ website => client gửi nhu yếu đến web server => web server gửi hàng loạt nội dung của website về cho client
  • Mail server: Người dùng soạn mail => client gửi đến mail server => mail server tiếp đón, tàng trữ, tìm kiếm địa chỉ email được gửi đến và gửi mail đi
  • File server: File server nhận tập tin từ phía client, tàng trữ và truyền tập tin đi. Người dùng hoàn toàn có thể upload, tải về những tập tin lên server qua giao thức FTP hay web browser

2.2 Nhược điểm của Client server là gì?

Bên cạnh những ưu điểm kể trên, Client server vẫn còn sống sót 1 số ít điểm yếu kém sau :

  • Cần bảo dưỡng, bảo trì server liên tục .
  • Khả năng bảo mật thông tin thông tin mạng là một hạn chế nữa của Client server. Bởi vì, nguyên tắc hoạt động giải trí của Client server là

    trao đổi dữ liệu giữa server và client ở 2 khu vực địa lý khác nhau. Trong quá trình trao đổi dữ liệu, khả năng thông tin mạng bị lộ là điều dễ xảy ra.

    Xem thêm: TÌM HIỂU VỀ SỰ KHÁC NHAU GIỮA URI, URL VÀ URN | CO-WELL Asia

3. Nguyên lý hoạt động của Client server là gì?

Toàn bộ quy trình tiếp xúc giữa server và client phải dựa trên những giao thức chuẩn. TCP / IP, SAN [ IBM ], ISDN, OSI, X. 25, LAN-to-LAN Netbios là những giao thức chuẩn được sử dụng thông dụng lúc bấy giờ .
Client server là giải pháp ứng dụng hiệu suất cao, giúp khắc phục thực trạng quá tải của mạng lưới hệ thống mạng. Bên cạnh đó, mô hình này còn vượt qua sự độc lạ trong cấu trúc vật lý và hệ điều hành quản lý của những mạng lưới hệ thống máy tính. Mô hình Client server gồm có 2 phần là client và server .

3.1 Client

Client hay chính là máy khách, máy trạm – là nơi gửi nhu yếu đến server. Nó tổ chức triển khai tiếp xúc với người dùng, server và môi trường tự nhiên bên ngoài tại trạm thao tác. Client tiếp đón nhu yếu của người dùng sau đó xây dựng những query string để gửi cho server. Khi nhận được hiệu quả từ server, client sẽ tổ chức triển khai và trình diễn những tác dụng đó .

3.2 Server

Server giải quyết và xử lý nhu yếu gửi đến từ client. Sau khi giải quyết và xử lý xong, server sẽ gửi trả lại hiệu quả, client hoàn toàn có thể liên tục giải quyết và xử lý những tác dụng này để Giao hàng người dùng. Server tiếp xúc với thiên nhiên và môi trường bên ngoài và client tại server, tiếp đón nhu yếu dưới dạng query string [ xâu ký tự ]. Khi nghiên cứu và phân tích xong những xâu ký tự, server sẽ giải quyết và xử lý tài liệu và gửi tác dụng về cho client .

>> Tìm hiểu thêm:

4. Điểm giống và khác nhau của P2P và Client server là gì?

4.1 Giống nhau

P2P và Client server đều có một client gửi request đến server và server gửi trả thông tin về cho client .

4.2 Khác nhau

Nội dung Client server P2P
Vai trò, phân quyền Phân chia vai trò rõ ràng giữa server và client Trong cùng một mạng, toàn bộ máy đều ngang hàng với nhau
Quản trị mạng Cần có người quản trị mạng Không cần có người quản trị mạng
Phần cứng, ứng dụng Cần sever, phần cứng và hệ quản lý Cần khá ít phần cứng, hoàn toàn có thể không cần đến hệ quản lý và điều hành và sever
Chi tiêu thiết lập Cao Thấp

Như vậy, bạn đã hiểu rõ hơn “Client server là gì?” rồi đúng không? Nếu còn băn khoăn về bất cứ vấn đề gì, hãy comment phía dưới bài viết. Truy cập bkns.vn thường xuyên hơn để không bỏ lỡ thông tin về thiết kế, quảng cáo và lưu trữ website nhé!

 Nguồn: BKNS

Xem thêm: TÌM HIỂU VỀ SỰ KHÁC NHAU GIỮA URI, URL VÀ URN | CO-WELL Asia

Tôi là Thịnh Hạnh, hiện đang là CEO của BKNS. Tôi sẽ phân phối cho bạn những dịch vụ công nghệ thông tin và giải pháp mạng một cách nhanh nhất, hiệu suất cao nhất .

Video liên quan

Chủ Đề